Digital PDFs
Documents
Guest
Register
Log In
AH-T267B-MC
October 1985
352 pages
Original
161MB
view
download
OCR Version
227MB
view
download
Document:
CZRCDB0 RC25 RC25 EXERCISER OCT 1985 bw
Order Number:
AH-T267B-MC
Revision:
000
Pages:
352
Original Filename:
CZRCDB0__RC25__RC25_EXERCISER__AH-T267B-MC__OCT_1985_gray.pdf
OCR Text
RC25 EXERCISER CZRCDBO AH-T267B-MC 10F2 OCT 1985 COPYRIGHT® 1983-85 Ennan MADE IN USA COPYRIGHT® 1983-85 MADE IN USA PreU SEQ 000 IDENTIFICATION PRODUCT CODE: AC-T266B-MC PRODUCT NAME: CZRCDBO RC25 DISK EXERCISER PRODUCT DATE: JUNE 17, MAINTAINER: SMALL STORAGE SYSTEMS DIAGNOSTICS AUTHOR: JAMES S. 1985 DOUCETTE COPYRIGHT (C) 1983, 1985 CIGITAL EQUIPMENT CORPORATION, THIS SOFTWARE IS FURNISHED COMPUTER SYSTEM AND MAY BE ABOVE COPYRIGHT NOTICE. MAY NOT BE PROVIDED OR MAYNARD, MASSACHUSETTS 01754 UNDER A LICENSE FOR USE ONLY ON A SINGLE COPIED ONLY WITH THE INCLUSION OF THE THIS SOFTWARE, OR ANY OTHER COPIES THEREOF, OTHERWISE MADE AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS SCFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. WU DIAGNOSTIC HIERARCHY PREREQUISITES ASSUMPTIONS OPERATING INSTRUCTIONS COMMANDS SWITCHES FLAGS HARDWARE QUESTIONS SOF TWARE QUESTIONS EXTENDED P-TABLE DIALOGUE QUICK STARTUP PROCEDURE nN-O B SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS ERROR INFORMATION TYPES OF ERROR MESSAGES SPECIFIC ERROR MESSAGES o wv GENERAL INFORMATION PROGRAM ABSTRACT PERFORMANCE AND PROGRESS REPORTS o NOVNBUNHO DM MNN e e pe b po pe NBWN~O TABLE OF CONTENTS DEVICE INFORMATION TABLES 6.0 SUBTEST SUMMARIES 7.0 MAINTENANCE HISTORY APFENDIX A - APPENDIX B - GLOSSARY DATA PATTERNS SEQ 0002 1.0 GENERAL INFORMATION 1.1 PROGRAM ABSTRACT SEQ 0003 THE RC25 DISK EXERCISER IS DESIGNED TO VERIFY THE INTEGRITY OF THE DRIVE(S) UNDER TEST, AND TO DETECT FAULTS AT THE FUNCTIONAL LEVEL ONLY. UNDER THE MULTI-DRIVE SUBTEST, THE PROGRAM SHOULD GIVE A CLEAR INDICATION AS TO HOW AN RC25 DRIVE WILL FUNCTION EITHER ALONE OR WITH OTHER RC25S DRIVES UNDER STRESSFUL OPERATING SYSTEM CONDITIONS. THESE CONDITIONS ARE CREATED BY ISSUING A HEAVY LOAD OF MSCP I/O COMMANDS TO ALL ONLINE UNITS. THE USER CAN CONTROL MANY OF THE I/0 COMMAND PARAMETERS THROUGH THE HARDWARE AND SOFTWARE QUESTIONS, INCLUDING FUNCTION (WRITE-ONLY, READ-ONLY, WRITES AND READS, WRITE-COMPARES, READ-COMPARES), DISK BLOCK SELECTION (RANDOM VS. SEQUENTIAL), TRACK NUMBER LIMITS, AND THE SELECTION OF DATA PATTERNS. IN ADDITION, THE USER CAN CHOOSE INSTEAD TO RUN THE DM EXERCISER SUBTEST. THIS SUBTEST CONSISTS OF THE ROM-RESIDENT FRONT PANEL EXERCISER RUNNING IN THE DM (DIAGNOSTIC MACHINE) UNDER HOST CONTROL. SEE SECTION 6.0 FOR MORE INFORMATION ON EACH EXERCISER SUBTEST. THIS EXERCISER CAN TEST UP TO 4 CONTROLLERS (4 DIFFERENT IP ADDRESSES), EACH CONTROLLER HAVING UP TG 2 DRIVES, AND EACH DRIVE WITH 2 PLATTERS. THIS DIAGNOSTIC HAS BEEN WRITTEN FOR USE WITH THE DIAGNOSTIC RUNTIME SERVICES SOFTWARE (SUPERVISOR). THESE SERVICES PROVIDE THE INTERFACE TC THE OPERATOR AND TO THE SOFTWARE 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 THE FOLLOWING HARDWARE IS REQUIRED TO RUN THE RC25 DISK EXERCISER: &« PDP-11 CPU & 28K WORDS OF MEMORY (MEMORY ABOVE 28K, IF AVAILABLE, WILL BE USED FOR DATA TRANSFERS) « FROM 1 TO 4 RC25 CONTROLLERS WITH UP TO 2 DRIVES PER CONTROLLER AND EXACTLY 2 PLATTERS PER DRIVE (I.E., A REMOVABLE CARTRIDGE MUST ?EEP¥ES$§T IN EACH DRIVE, ALTHOUGH IT NEED NOT PARTICIPATE IN RKOS, RLO2) -reee» [ - " H S & XXDP+ MEDIA DEVICE (I.E., “W1l-L OR KW11-P CLOCK b CONSOLE TERMINAL .3 RELATED DOCUMENTS AND STANDARDS CHQUS - XXDP+ USER'S MANUAL UNIBUS/Q-BUS STORAGE SYSTEMS PORT (UQSSP), MASS STORAGE COMMUNICATION PROTOCOL (MSCP), V1.5 V1.2 OIAGNOSTIC AND UTILITIES PROTOCOL (DUP), VO.S FRONT PANEL EXERCISER DIAGNOSTIC SPECIFICATION, RC25 AZTEC ENGINEERING SPECIFICATION, REV S REV 1.2 1.4 SEQ 0004 DIAGNOSTIC HIERARCHY PREREQUISITES ALL RC25 DRIVE-UNITS TO BE EXERCISED BY THIS PROGRAM MUST HAVE BEEN SUCCESSFULLY VERIFIED BY THE RC25 AZTEC FRONT-END / HOST DIAGNOSTIC. THE FRONT-END / HOST DIAGNOSTIC REQUIRES THAT THE BUS, HOST PROCESSOR, MEMORY, SYSTEM CLOCK AND CONSOLE TERMINAL ARE ALL FUNCTIONING PROPERLY. 1.5 ASSUMPTIONS - REHOVA%&ERE;SESIDGE IS PRESENT IN ALL RC25 DRIVE-UNITS TO BE # ALL RC25 DRIVE-UNITS HAVE BEEN SUCCESSFULLY SPUN-UP ¢ ALL RC25 CONTROLLERS WILL INTERRUPT THE HOST AT BR LEVEL 5 OR LESS. 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 EFFECT START RESTART CONTINUE PROCEED EXIT ADD START THE DIAGNOSTIC FROM AN INITIAL STATE START THE DIAGNOSTIC WITHOUT INITIALIZING CONTINUE AT TEST THAT WAS INTERRUPTED (BY tC) 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) DROP PRINT DISPLAY FLAGS ZFLAGS DEACTIVATE A UNIT PRINT STATISTICAL INFORMATION (IF IMPLEMENTED 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. FOR EXAMPLE, TYPE "STA" INSTEAD OF “START". SO YOU MAY, FOR THE RC25 DISK EXERCISER, THE START, RESTART, AND CONTINUE COMMANDS PERFORM SIMILAR FUNCTIONS. THE DIFFERENCES ARE SUMMARIZED IN THE TABLE BELOW: START ALLOW CHANGES TO HARDWARE CONFIGURATION X CLEAR ELAPSED TIME OF EXERCISER TO 00:00:00 X o] SAVE STATISTICS ACCUMULATED DURING THE LAST INCOMPLETE PASS RESTART CONTINUE X SEQ 0005 RESET THE COMMAND REFERENCE NUMBER USED IN MSCP COMMANDS IF SEQUENTIAL LBN MODE, RESET THE STARTING BLOCK NUMBER USED IN I/C OPERATIONS 2.2 X X X X SWITCHES THERE ARE SEVERAL SWITCHES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. THESE SWITCHES ARE APPENDED TO THE LEGAL COMMANDS. ALL OF E:S LEGAL SWITCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF H. IN THE DESCRIPTIONS BELOW, A DECIMAL NUMBER IS DESIGNATED BY “DDDDD". SWITCH EFFECT /TESTS:LIST EXECUTE ONLY THOSE TESTS SPECIFIED IN 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 DCDDD PASSES (DDDDD = 1 TO 64000) /PASS:DDDDD /FLAGS:FLGS SET SPECIFIED FLAGS. FLAGS ARE DESCRIBED IN SECTION 2.3. REPORT END-OF -PASS MESSAGE AFTER EVERY DDDDD PASSES ONLY. (DDDDD = 1 TO 64000) /EOP :DDDDD /UNITS:LIST TEST/ADD/DROP ONLY THOSE UNITS SPECIFIED IN THE LIST. LIST EXAMPLE - /UNITS:0:5:10-12 USE UNITS 0,5,10,11,12. EXAMPLE OF SWITCH USAGE: START/TESTS:1-5/PASS:1000/E0P: 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 CONTINUE PROCEED DROP ADD PRINT DISPLAY TESTS PASS FLAGS EOP UNITS X X X X X X X X X X X X X X FLAGS X X X ZFLAGS EXIT FOR THE RC25 DISK EXERCISER, THERE IS ONLY ONE TEST. rh THE /TESTS SWITCH IS MEANINGLESS SINCE 2.3 SEQ 0006 FLAGS FLAGS ARE USED TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCH A LOOPING ON ERROR. ALL FLAGS ARE CLEARED AT STARTUP AND REMAIN CLEARED UNTIL EXPLICITLY SET YJSING 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; SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH. THEY REMAIN FLAG EFFECT HOE HALT ON ERROR - CONTROL IS RETURNED TO RUNTIME SERVICES COMMAND MODE LOOP ON ERROR INHIBIT ALL ERROR REPORTS (GENERAL, BASIC, AND EXTENDED) INHIBIT BASIC AND EXTENDED ERROR REPORTS INHIBIT EXTENDED ERROR REPORTS DIRECT MESSAGES TO LINE PRINTER PRINT TEST NUMBER AS TEST EXECUTES "BELL” ON ERROR UNATTENDED MODE (NO MANUAL INTERVENTION) INHIBIT STATISTICAL REPORTS INHIBIT PROGRAM DROPPING OF UNITS EXECUTE AUTODROP CODE LOOP ON TEST EXECUTE EVALUATION (ON DIAGNOSTICS WHICH HAVE EVALUATION SUPPORT) LOE IER# IBR# IXR# PRI PNT BOE UAM ISR IDR ADR LOT EVL *« ERROR MESSAGES ARE DESCRIBED IN SECTION 3.1 SEE THE XXDP+ USER'S MANUAL FOR MORE DETAILS ON FLAGS. YOU MAY SPECIFY MORE THAN ONE FLAG WITH THE FLAG SWITCH. FOR EXAMPLE, TO CAUSE THE PROGRAM TO LOOP ON ERROR, INHIBIT ERROR REPORTS AND TYPE A "BELL" ON ERROR, YOU MAY USE THE FOLLOWING STRING: /FLAGS:LOE:IER:BOE :Og EHE RC25 DISK EXERCISER, ND 2.4 EVL. THE FOLLOWING FLAGS HAVE NO EFFECT: ADR HARDWARE QUESTIONS WHEN A DIAGNOSTIC IS STARTED, THE RUNTIME SERVICES WILL PROMPT THE USER FOR HARDWARE INFORMATION BY TYPING “CHANGE HW (L) ?”. YOU MUST ANSWER “Y” AFTER A START COMMAND UNLESS (A) THE HARDWARE INFORMATION HAS BEEN “PRELOADED” USING THE SETUP UTILITY (SEE CHAPTER 6 OF THE XXDP+ USER'S MANUAL), OR (B) YOU WISH TO USE THE DEFAULT HARDWARE CONFIGURATION THAT IS SUPPLIED WITH THE PROGRAM (SEE BELOW). WHEN YOU ANSWER THIS QUESTION WITH A “Y”, THE RUNTIME SERVICES WILL ASK FOR THE NUMBER OF UNITS (IN DECIMAL). YOU WILL THEN BE ASKED THE HARDWARE QUESTIONS FOR EACH UNIT. UNDER THIS PROGRAM, A UNIT IS DEFINED TO BE ONE DISK PLATTER. A WORD ABOUT SEMANTICS: IN ALL MESSAGES OUTPUT BY THE RC25 EXERCISER, AS WELL AS IN THE DOCUMENTATION, THE PHRASES "UNIT X“ AND “UNIT NUMBER” REFER TO THE SEQUENTIALLY-ASSIGNED UNIT NUMBER GIVEN BY THE DIAGNOSTIC SUPERVISOR. THE PHRASES "PLATTER X" AND “PLATTER ADDRESS” REFER TO THE UNIT NUMBER ASSIGNED TO THE DISK THROUGH THE UNIT PLUG ON THE FRONT OF THE DRIVE. THESE TWO NUMBERS ARE NOT RELATED. R SEQ 0007 DEFAULT ANSWERS APPEAR WITH QUESTIONS FOR WHICH THE USER MAY SIMPLY TYPE A CARRIAGE RETURN. IP ADDRESS (0) 172150 ? ENTER THE ADDRESS OF THE IP REGISTER OF ONE RC25 AS ADDRESSED BY THE PROCESSOR WITH MEMORY MANAGEMENT TURNED OFF. THE PROGRAM E;;sgzs AN EVEN 16-BIT ADDRESS IN THE RANGE OF 160000 TO 1 . VECTOR (0) 154 ? ANSWER WITH THE INTERRUPT VECTOR OF THE SAME RC25 IN THE ABOVE QUESTION. AN EVEN VECTOR ADDRESS IN THE RANGE OF 4 TO 774 WILL BE ACCEPTED. SINCE RC25 VECTOR ADDRESSES ARE PROGRAMMABLE AND NOT HARDWIRED, CARE MUST BE TAKEN NOT TO SPECIFIY A VECTOR WHICH IS USED FOR ANOTHER PERIPHERAL DEVICE. BR LEVEL (0) S5 ? ANSWER WITH THE BUS REQUEST INTERRUPT LEVEL USED BY THE ABOVE RC25. LEVELS 4 THORUGH 7 ARE ACCEPTABLE. (NOTE: THE PROGRAM EXPECTS THAT ALL RC25'S WILL BE AT BR LEVEL S OR LESS. IF THIS IS NOT THE CASE, THEN ONLY ONE RC25 CONTROLLER WITH UP TO FOUR UNITS MAY BE EXERCISED AT A TIME). PLATTER ADDRESS (UNIT PLUG) (D) O ? ENTER A NUMBER BETWEEN O AND 253 FOR ONE DISK WHICH CORRESPONDS TO THE UNIT PLUG ON THE FRONT OF THE DEVICE. EVEN NUMBERS DESIGNATE THE REMOVABLE PLATTER (UPPER DISK), ODD NUMBERS REFER TO THE FIXED PLATTER (LOWER DISK). ALLOW WRITES TO CUSTOMER DATA AREA ON THIS PLATTER (L) ? NO DEFAULT. IF THE MULTI-DRIVE SUBTEST IS BEING RUN, A “NO" ANSWER HERE WILL FORCE THE EXERCISER TO PERFORM READ-ONLY OPERATIONS TO THE CUSTOMER DATA AREA OF THIS UNIT. IF THE DM EXERCISER IS BEING RUN, THIS QUESTION HAS NO EFFECT, SINCE THE DM EXERCISER WRITES ON THE DIAGNOSTIC TRACKS ONLY. IN ANY CASE, IF YOU ANSWER "YES”, THE FOLLOWING QUESTION WILL APPEAR. #+ WARNING - CUSTOMER DATA AREA MAY BE OVERWRITTEN! ... CONFIRM (L) ? NO DEFAULT. A "YES" ANSWER IS EXPECTED, BUT A “NO” ANSWER WILL PREVENT THE CUSTOMER DATA AREA FROM BEING OVERWRITTEN. EXAMPLE OF HARDWARE D1ALOG: CHANGE HW (L) & UNITS (D) ? Y<CR> ? 2<CR> UNIT O IP ADDRESS (0) 172150 ? <CR> VECTOR (0) 154 ? <CR> BR LEVEL (0) 5 ? <CR> PLATTER ADDRESS ... (D) 0 ? 252<CR> ALLOW WRITES ... (L) ? Y<CR> &« WARNING - ... CONFIRM (L) ? N<CR> UNIT 1 IP ADDRESS (0) 172150 ? <CR»> VECTOR (0) 154 ? <CR> BR LEVEL (0) 5 ? <CR> PLATTER ADDRESS ... (D) 252 ? 253<CR> ALLOW WRITES ... (L) ? Y<CR> #% WARNING - ... CONFIRM (L) ? Y<CR> ! USER REVERSES ANSMWER AS MENTIONED ABOVE, THERE IS A DEFAULT HARDWARE CONFIGURATION THAT IS SUPPLIED WITH THE PROGRAM. IT CONSISTS OF TWO UNITS AS FOLLOWS: UNIT O IP ADDRESS: VECTOR: BR LEVEL: 172150 154 S ALLOW WRITES? N UNIT 1 IP ADDRESS: VECTOR: BR LEVEL: PLATTER ADDRESS: ALLOW WRITES? 172150 154 5 1 N PLATTER ADDRESS: 0 THIS CONFIGURATION TAKES EFFECT IF THE USER DOES NOT USE THE SETUP ET£L¥TYT::$ESAS BYPASSED THE HARDWARE QUESTIONS WHEN THE PROGRAM IS IRST S . 2.5 SOFTWARE QUESTIONS AFTER 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 BELOW: ERROR LIMIT (O FOR NO LIMIT) (D) 32 ? ENTER THE NUMBER OF HARD ERRORS ALLOWED PER UNIT PER PASS BEFORE THE UNIT IS DROPPED FROM TESTING. A NUMBER IN THE RANGE OF 0 TO 65535 WILL BE ACCEPTED. TRANSFER LIMIT IN MEGABYTES (0 FOR NO LIMIT) (D) 2 ? ENTER THE NUMBER OF MEGABYTES TO BE TRANSFERRED TO / FROM EACH UNIT BEFORE AN END-OF-PASS IS DECLARED. A NUMBER IN THE RANGE OF 0 TO 65535 WILL BE ACCEPTED. AS A REFERENCE, ON A SYSTEM CONFIGURED WITH ONE DRIVE (TWO UNITS) AND 128K OF MEMORY, THE MULTI-DRIVE SUBTEST WILL REACH A 10 MEGABYTE TRANSFER LIMIT IN APPROXIMATELY 8 MINUTES. FOR THE SAME SYSTEM, THE DM EXERCISER ag:&ggg WILL REACH A 2 MEGABYTE LIMIT IN APPROXIMATELY 20 SUPPRESS PRINTING ERROR LOG MESSAGES (L) Y ? ERROR LOG MESSAGES USUALLY DESCRIBE MINOR ERRORS ENCOUNTERED DURING I/0 OPERATIONS, SUCH AS ECC SYMBOL ERRORS. ANSWER “N” TO SEE ALL ERROR LOG MESSAGES. RUN DM EXERCISER INSTEAD OF MULTI-DRIVE SUBTEST (L) N ? THIS QUESTION DETERMINES WHICH OF THE TWO EXERCISER SUBTESTS WILL BE RUN. THE MULTI-DRIVE SUBTEST IS HOST-DRIVEN WHILE THE DM EXERCISER IS THE FRONT PANEL TEST EXECUTING IN THE DIAGNOSTIC MACHINE AT THE DEVICE. SEE SECTION 6.0 FOR MORE INFORMATION. THE REMAINING QUESTIONS WILL ONLY BE ASKED IF THE MULTI-DRIVE SUBTEST IS BEING RUN. RANDOM SEEK MODE (L) Y ? ANSWERING "Y* WILL CAUSE EACH I/0 OPERATION TO SELECT A RANDOM STARTING DISK BLOCK NUMBER. ANSWER “N” TO HAVE STARTING BLOCK NUMBERS SELECTED SEQUENTIALLY ON EACH PLATTER. SEQ 0008 STARTING TRACK (D) 0 ? ENTER THE STARTING TRACK NUMBER OF THE DISK AREA YOU WISH TO TEST. A NUMBER IN THE RANGE O TO 1641 WILL BE ACCEPTED. ENDING TRACK (D) 1641 ? $E;$R THE ENDING TRACK NUMBER OF THE DISK AREA YOU WISH TO READ-COMPARES PERFORMED AT THE CONTROLLER (L) Y ? A "YES" ANSWER WILL CAUSE ALL READ OPERATIONS TO BE CHANGED TO READ-COMPARE. THIS ESSENTIALLY FORCES THE CONTROLLER TO PERFORM TWO READ OPERATIONS ON THE SAME DISK SECTORS AND TO COMPARE THE 2522%;:. AFTER ANSWERING THIS QUESTION, THE FOLLOWING MESSAGE THE REMAINING QUESTIONS ONLY APPLY TO UNPROTECTED PLATTERS. WRITE ONLY (L) N ? ANSWER "Y” FOR WRITES ONLY; OTHERWISE THE PROGRAM WILL CHOOSE WRITES AND READS ON A RANDOM BASIS. WRITE-COMPARES PERFORMED AT THE CONTROLLER (L) Y ? ANSWERING “"YES” CAUSES ALL WRITE I/0 REQUESTS TO BE CHANGED TO WRITE-COMPARE. IN THIS SITUATION, AFTER EACH WRITE, THE CONTROLLER WILL READ BACK THE DATA FROM THE MEDIA AND COMPARE IT TO THE ORIGINAL DATA RE-OBTAINED FROM THE HOST. CHECK ALL WRITES AT HOST BY READING (L) N ? THIS QUESTION WILL ONLY BE ASKED IF THE PREVIOUS QUESTION WAS ANSWERED “NO”. A "YES"” ANSWER HERE CAUSES EACH HOST WRITE REQUEST TO BE FOLLOWED BY A READ REQUEST. WHEN BOTH OPERATIONS HAVE COMPLETED, THE HOST WILL COMPARE THE DATA STORED IN THE TWO I/0 BUFFERS. THERE ARE SOME UNDESIRABLE IMPLICATIONS IN CHOOSING THIS OPTION, INCLUDING THE CONSUMPTION OF EXTRA CPU TIME, AND THE OVERRIDING OF THE CONTROLLER'S NORMAL OPTIMIZATION POLICIES (DUE TO THE “EXPRESS REQUEST” COMMAND MODIFIER WHICH MUST BE SET FOR EACH WRITE-READ PAIR). USER-DEFINED DATA PATTERN (L) N ? AN ANSWER OF “YES” ALLOWS YOU TO DEFINE YOUR OWN DATA PATTERN (UP TO 16 WORDS) TO BE USED IN ALL WRITE OPERATIONS. A “NO* ANSWER ALLOWS THE USE OF OTHER PRE-DEFINED DATA PATTERNS WHICH MAY BE SELECTED IN THE NEXT QUESTION. SELECT PRE-DEFINED DATA PATTERN (0 FOR SEQUENTIAL SELECTION) (D) O ? THIS QUESTION WILL ONLY BE ASKED IF THE PREVIOUS QUESTION WAS ANSWERED “NO”. THE 21 PRE-DEFINED DATA PATTERNS ARE SHOWN IN APPENDIX A. AN ANSWER OF “0“ CAUSES EACH OF THE 21 PATTERNS TO BE SELECTED SEQUENTIALLY ON EACH UNIT. NOTE THAT PATTERN 1 CONSISTS ENTIRELY OF RANDOM NUMBERS. THIS COMPLETES THE SOFTWARE QUESTIONING:; THE FOLLOWING QUESTIONS ARE ASKED ONLY IF YOU CHOSE TO DEFINE YOUR OWN DATA PATTERN. NUMBER OF WORDS IN DATA PATTERN (16 MAXIMUM) (D) PATTERN VALUE (0) ? 16 ? THIS QUESTION REPEATED AS APPROPRIATE. 2.6 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 ANSWERS ARE REPETITIOUS. . O— SEQ 0009 10 ILLUSTRATE A MORE EFFICIENT METHOD, SUPPOSE YOU ARE TESTING A FICTIONAL 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 NUMBERS O THROUGH 7. THERE IS ONE HARDWARE PARAMETER THAT CAN VARY AMONG UNITS CALLED THE Q-FACTOR. THIS Q-FACTOR MAY BE O OR 1. BELOW IS A SIMPLE WAY TO BUILD A TABLE FOR ONE XY11 WITH EIGHT UNITS. @ UNITS (D) ? 8<CR> UNIT 1 CSR ADDRESS (0) ? 160000<CR> SUS-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 ? <CR> UNIT 5 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 4<CR> Q-FACTOR (0) 0 ? <CR> UNIT 6 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? S<CR> Q-FACTOR (0) 0 7 <CR> 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> SUB-DEVICE # (0) ? 7<CR> Q-FACTOR (0) 1 ? <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, VARY SIGNIFICANTLY FROM UNIT TO UNIT. EFFICIENT. R THE HARDWARE PARAMETERS DO NOT THE PROCEDURE SHOWN IS NOT VERY SEQ 0010 THE RUNTIME SERVICES CAN TAKE MULTIPLE UNIT SPECIFICATIONS HOWEVER. LET'S BUILD THE SAME TABLE USING THE MULTIPLE SPECIFICATION FEATURE. # UNITS (D) ? B8<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 ? O0<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. 1IN 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. IN THE SECOND PASS, FOUR ENTRIES WERE BUILT. 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. IN THIS CASE, SUB-DEVICES 2, 3, 4 AND 5 WERE SPECIFIED. (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 }H§;0u52§SONLY SPECIFIED ONCE. THE LAST TWO UNITS ARE SPECIFIED IN THE H . ;EEOUHOLE PROCESS COULD HAVE BEEN ACCOMPLISHED IN ONE PASS AS SHOWN LOM. @ UNITS (D) ? 8<CR> UNIT 1 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 0-7<CR> AS YOU CAN SEE FROM THIS EXAMPLE, 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 S0HZ (IF THERE IS A CLOCK) QUESTIONS 3. Rowe TYPE "R NAME”, WHERE NAME IS THE NAME OF THE BIN OR BIC FILE FOR THIS PROGRAM SEQ 0011 TYPE SEQ 0012 "START” ~N 00 . ANSWER THE “CHANGE HW” QUESTION WITH “Y* ANSHWER ALL THE HARDWARE QUESTIONS ANSWER THE “CHANGE SW" QUESTION WITH “N*" WHEN YOU FOLLOW THIS PROCEDURE YOU WILL BE USING ONLY THE DEFAULTS FOR SL;GEN(A)Ng gOFTHARE PARAMETERS. THESE DEFAULTS ARE DESCRIBED IN SECTIONS 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” FLAG IS SET (SECTION 2.3). ERROR MESSAGE IS OF THE FORM: NAME TYPE NUMBER ERROR MESSAGE ON UNIT NUMBER THE GENERAL 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-1) (N IS THE NUMBER OF UNITS CONFIGURED) 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. FOR THE RC25 DISK EXERCISER, ALL BASIC EgmzflBE)SSAGES CONTAIN THE ELAPSED TIME (THE TIME SINCE THE LAST START 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. 3.2 SPECIFIC ERROR MESSAGES THIS LIST OF RC25 EXERCISER ERROR MESSAGES IS ARRANGED BY ERROR NUMBER. THE LETTERS G, B, AND X REFER TO THE GENERAL, BASIC, AND EXTENDED TEXT OF THE ERROR MESSAGE, RESPECTIVELY. ALL NUMERIC VALUES ARE IN OCTAL ESEEI;T FOR THE ELAPSED TIME OR WHEN THE NUMBER IS FOLLOWED BY A DECIMAL N . 3.2.1 SYSTEM-FATAL ERROR MESSAGES THESE CONDITIONS WILL CAUSE THE DIAGNOSTIC TO BE ABORTED. APPEAR AFTER THE SOFTWARE DIALOG. THEY WILL — 1 G B TOO MANY UNITS XX:XX:XX MORE THAN 16. UNITS SPECIFIED 2 G NEITHER P NOR L CLOCK WAS FOUND ON THE SYSTEM SEQ 0013 3.2.2 CONFIGURATION ERROR MESSAGES CONFIGURATION ERRORS INDICATE ILLEGAL HARDWARE CONFIGURATIONS. THESE SITUATIONS ARE DETECTED BEFORE ANY ACTUAL TESTING TAKES PLACE. AS SUCH, THEY ARE SPECIAL IN THAT THERE IS NO ERROR NUMBER ASSOCIATED WITH THEM, AND THEY ARE NOT INCLUDED IN THE SUMMARY REPORT NOR THE END-OF -PASS MESSAGE. ANY UNITS INVOLVED ARE IMMEDIATELY DROPPED. IF YOU TRY TO CONFIGURE MORE THAN 4 UNITS AT THE SAME IP ADDRESS, FOLLOWING MESSAGE WILL APPEAR: THE ALREADY 4 UNITS AT IP XXXXXX(0) THE REMAINING UNITS (OVER 4) WILL BE DROPPED. IF YOU TRY TO CONFIGURE MORE THAN 4 CONTROLLERS, THE FOLLOWING MESSAGE WILL APPEAR: MORE THAN 4 DIFFERENT IP ADDRESSES ALL UNITS ASSOCIATED WITH THE STH (AND HIGHER) CONTROLLERS WILL BE DROPPED. FINALLY, IF YOU SPECIFY IDENTICAL PLATTER ADDRESSES UNDER ONE CONTROLLER (IP ADDRESS), THE FOLLOWING MESSAGE WILL APPEAR: DUPLICATE PLATTER ADDRESS XXX. AT IP XXXXXX(0) 3‘6‘69%5” (BEYOND THE FIRST) WITH IDENTICAL PLATTER ADDRESSES WILL BE 3.2.3 DEVICE-FATAL ERROR MESSAGES IF THE ERROR PERTAINS TO A CONTROLLER, THEN ALL THE UNITS ATTACHED TO THE CONTROLLER WILL BE DROPPED. OTHERWISE, THE ERROR PERTAINS TO A SINGLE UNIT, AND ONLY THAT UNIT IS DROPPED. 10 G B 11 12 REGISTER EXISTENCE TEST FAILED XX:XX:XX NO RESPONSE AT ADDRESS XXXXXX(0) ABOUT TO VERIFY VECTOR XXX(0) FOR DEVICE XXXXXX(0) ... G (FOLLOWED BY EITHER NOTHING OR) VECTOR TEST FAILED G B BR LEVEL TEST FAILED XX:XX:XX INCORRECT BR LEVEL GIVEN FOR DEVICE XXXXXX(0) ERROR 13 REFERS TO THE FOUR STEP HARD INITIALIZE SEQUENCE DESCRIBED IN THE UNIBUS / Q-BUS STORAGE SYSTEMS PORT (UQSSP) SPEC. THE SA REGISTER CODE IS PROVIDED TO ASSIST IN DIAGNOSIS. 13 G B X INIT SEQUENCE FAILED XX:XX:XX STEP X READ ERROR ON DEVICE XXXXXX(0) SA: XXXXXX(0) ERROR 14 MEANS THAT THE ERROR BIT (BIT 15) OF A DEVICE'S SA REGISTER WAS FOUND SET TO 1. 14 G B X THE LOW-ORDER 11 BITS DESCRIBE THE ERROR. FATAL PORT / CONTROLLER ERROR XX:XX:XX ERROR CODE RECEIVED IN SA REGISTER OF DEVICE SA: XXXXXX(0) XXXXXX(0) ERROR 15 IS REPORTED WHEN THE RC25 FAILS TO RESPOND TO ONE OF THE LISTED MSCP COMMANDS. 15 G B X MESSAGE RESPONSE TIMEOUT XX:XX:XX FAILED TO RECEIVE END MESSAGE FROM DEVICE COMMAND: XXXXXX(0) SET CTLR CHAR (OR) ONLINE (OR) EXECUTE SUPPLIED PROGRAM (OR) SEND DATA ERROR 16 REFERS TO THE MSCP "ONLINE" MESSAGE SENT TO EACH UNIT DURING THE INITIALIZATION SUBTE3T. THE STATUS CODE AND SUB-CODE ARE TAKEN FROM THE MSCP END MESSAGE 16 G B X X (AS THEY ARE IN ALL ERROR MESSAGES). ONLINE FAILED XX:XX:XX ERROR IN RESPONSE TO ONLINE COMMAND FOR PLATTER XXX. STATUS CODE: XX(0) SUB-CODE: XXXX(0) ERROR 17 IMPLIES THAT (A) YOU HAVE ALLOWED WRITES TO THE CUSTOMER DATA AREA THROUGH THE HARDWARE QUESTION, PUSHBUTTON FOR THE UNIT IS ENGAGED. 17 G B AND (B) THE WRITE-PROTECT MWRITE-PROTECT CONFLICT XX:XX:XX PLATTER XXX. IS SW WRITE-ENABLED BUT HW WRITE-PROTECTED ERRCR 18 REFERS TO THE MSCP “ACCESS” COMMANDS WHICH ARE ISSUED TO EACH UNIT AS PART OF THE INITIALIZATION SUBTEST. IF EXTENDED ERROR MESSAGES ARE ENABLED AND THE STATUS CODE AND SUB-CODE DO NOT APPEAR, THEN THE ACCESS COMMAND HAS TIMED OUT (I.E., NO RESPONSE RECEIVED WITHIN THE REQUIRED INTERVAL). 18 G B X X ACCESS FAILED XX:XX:XX ACCESS FAILED ON PLATTER XXX. STATUS CODE: SUB-CODE: XX(0) XXXX(0) ERROR 19 OCCURS WHEN AN MSCP I/0 COMMAND RESULTS IN AN END MESSAGE WITH THE “UNIT OFFLINE“” STATUS CODE. 19 G B X X X FATAL I/0 ERROR XX:XX:XX PLATTER XXX. WENT OFFLINE CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) SEQ 0014 X X X X X 20 G B BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) CONTROLLER TIMEOUT XX:XX:XX DEVICE XXXXXX(0) NOT PROCESSING COMMAND PACKETS ERROR 21 ARISES IF YOU ARE RUNNING THE DM EXERCISER SUBTEST, AND ONE OF THE INITIAL DUP COMMANDS WAS REJECTED WITH A STATUS CODE OTHER THAN "SUCCESS”. 21 NOTE THAT THE STATUS CODE IS NOT FROM MSCP. G B DuP COMMAND FAILED XX:XX:XX MESSAGE REJECTED BY DUP JERVER ON DEVICE XXXXXX(0) EXECUTE SUPPLIED PROGRAM (OR) SEND DATA DUP STATUS CODE: X. X X X COMMAND: ERROR 22 IS ALSO RELATED TO THE DM EXERCISER SUBTEST. IT INDICATES THAT THE FRONT PANEL TEST (EXECUTING UNDER HOST CONTROL IN THE DM) HAS FAILED TO PROVIDE THE HOST WITH A PRE-DETERMINED TIME INTERVAL. 22 G B SET OF OPERATING STATISTICS THE FPT IS ASSUMED TO BE DEAD. WITHIN A DM EXERCISER TIMEOUT XX:XX:XX NO RESPONSE FROM FRONT PANEL TEST EXECUTING IN DEVICE XXXXXX(0) 3.2.4 HARD ERROR MESSAGES MOST HARD ERRORS ARE REPORTED TO THE HOST THROUGH THE END MESSAGES ASSOCIATED WITH MSCP READ AND WRITE COMMANDS. ARE BASED ON MSCP STATUS CODES 1 - 11. 30 G B 31 KX XWE XXXXX X X X I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. ERROR NUMBERS 31 - STATUS CODE: CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) - 41 XX(0) WRITE (OR) WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL # BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I/70 REQUEST FAILED XX:XX:XX PLATTER XXX. - INVALID COMMAND CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXx(0) SEQ 0015 X X X X X XX XDWE) XXX XX G B X X X BAD BLOCK REPORTED: XXXXX. LBN: XXXXX. BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: I/0 BUFFER DESCRIPTOR: ! EITHER THIS ! OR THIS XXXXX. XXXXXX(0) XXXXXX(0) I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - COMMAND ABORTED CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - UNIT-AVAILABLE CMD REF NUM: XXXXxX(0) SUB-CODE: XXXX(O0) COMMAND: READ (OR) READ -COMPARE (OR) WRITE (OR) KXXOEO XXX XX XXXWDME XXXXX WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I7/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - MEDIA FORMAT ERROR CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. LBN: XXXXX. BYTE COUNT IN COMMAND: XXXXX. ! ! EITHER THIS OR TMIS ACTUAL & BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) 170 REQUEST FAILED XX:XX:XX PLATTER XXX. - WRITE-PROTECTED CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) SEQ 0016 XXX XX XXXWE XXXWE 40 XXXXX 39 HKXXDMMEO XX XXX 38 MXXXWE XXX XX 37 BAD BLOCK REPORTED: LBN: XXXXX. XXXXX. ! EITHER THIS OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I70 REQUEST FAILED XX:XX:XX PLATTER XXX. CMD REF NUM: SUB-CODE: - DEVICE COMPARE ERROR XXXXXX(0) XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I70 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - DATA ERROR CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I70 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - HOST BUFFER ACCESS ERROR CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I7/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) 170 REQUEST FAILED XX:XX:XX PLATTER XXX. - CONTROLLER ERROR CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) - ! SEQ 0017 XXX XX MXXWE I70 REQUEST FAILED XX:XX:XX PLATTER XXX. - DRIVE ERROR CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I70 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) M XXX 41 BAD BLOCK REPORTED: XXXXX. ! EITHER THIS LBN: XXXXX. ! OR THIS BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. I/70 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) ERROR 42 IS DETECTED AT THE HOST. IT CAN ARISE IF THE USER HAS CHOSEN THE OPTION TO CHECK ALL WRITES AT THE HOST BY FOLLOWING EACH WITH A READ TO THE 3AME DISK ADDRESS. 42 G B X X X I/0 REQUEST FAILED XX:XX:XX PLATTERE:;S@ - HOST-DETECTED WRITE-COMPARE LBN: XXXXX. BYTE COUNT IN COMMAND: XXXXX. ACTUAL # BYTES TRANSFERRED: XXXXX. ERROR 43 DESCRIBES A SINGLE I/0O COMMAND FOR WHICH NO MSCP END MESSAGE WAS EVER RECEIVED. 43 G B X X X X X I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - COMMAND TIMEOUT CHMD REF NUM: XXXXXX(O0) COMMAND: READ (OR) READ -COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(0) LBN: XXXXX. BYTE COUNT IN COMMAND: XXXXX. I70 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) 3.2.5 ERROR LOG MESSAGES ERROR LOG MESSAGES (DATAGRAMS) DESCRIBE MINOR ERRORS ENCOUNTERED BY THE CONTROLLER. THEIR OCCAISIONAL OCCURRENCE IS NORMAL. RELEVANT FIELDS OF A DATAGRAM ARE PRINTED (A) IF THE USER IS RUNNING THE PROGRAM IN ATTENDED MODE, AND (B) IF NOT SUPPRESSED BY THE USER DURING THE SW DIALOG. ONE OF THESE FIELDS, THE COMMAND REFERENCE NUMBER, CAN LINK THE DATAGRAM WITH A HARD ERROR. SEQ 0018 ERROR LOG MESSAGES ARE NOT INCLUDED IN THE CUMULATIVE ERROR COUNT WHICH APPEARS WITH THE END-OF -PASS MESSAGE. HOWEVER, IF THE MULTI-DRIVE SUBTEST IS BEING RUN, THEN DATAGRAMS WHICH APPLY TO A PARTICULAR UNIT (AS OPPOSED TO THE CONTROLLER) ARE TALLIED FOR THE STATISTICAL REPORT :nggELgsg OF WHETHER THEIR PRINTING HAS BEEN SUPPRESSED. THE FORMAT IS LOWS: ERROR LOG MESSAGE RECEIVED: CMD REF NUM: XXXXXX(0) PLATTER: XXX. ! FORMAT: CONTROLLER ERROR (OR) FOR SMALL DISK ERRORS ONLY HOST MEMORY ACCESS ERROR (OR) SMALL DISK ERROR (OR) XXX(0) EVENT CODE: SUCCESS (OR) INVALID COMMAND (OR) COMMAND ABORTED (OR) UNIT-OFFLINE (OR) UNIT-AVAILABLE (OR) MEDIA FORMAT ERROR (OR) WRITE-PROTECTED (OR) DEVICE COMPARE ERROR (OR) DATA ERROR (OR) HOST BUFFER ACCESS ERROR (OR) CONTROLLER ERROR (OR) DRIVE ERROR (OR) XXX(0) SUB-CODE: XXXX(0) HOST MEM ADDR: XXXXXX(0) XXXXXX(0) ! HOST MEM ACC ERR ONLY 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. THIS ERROR COUNT DOES NOT INCLUDE ERROR LOG MESSAGES (SECTION 3.2.5), CONFIGURATION ERRORS (SECTION 3.2.2), NOR ERRORS DETECTED BY THE FRONT PANEL TEST UNDER THE DM EXERCISER. THE "EOP" SWITCH CAN BE USED TO CONTROL HOW OFTEN THE END-OF -PASS MESSAGE IS PRINTED. DESCRIBES SWITCHES. SECTION 2.2 PRIOR TO THE END-OF-PASS MESSAGE, THE STATISTICAL SUMMARY REPORT IS AUTOMATICALLY PRINTED BY THE EXERCISER. ITS FORMAT DEPENDS ON WHICH SUBTEST (MULTI-DRIVE OR DM EXERCISER) IS BEING RUN. AN ASTERISK (%) APPEARING NEXT TO A NUMBER IN THE FORMAT BELOW REPRESENTS EITHER A SPACE OR THE LETTER “K“”, THE "K” FORMAT WILL BE USED IF THE STATISTIC IS GREATER THAN 65,000. ALL VALUES ARE IN DECIMAL RADIX. W SEQ 0019 4.1 SEQ 0020 MULTI-DRIVE SUBTEST REPORTS e ELAPSED TIME: XX:XX:XX UNIT NO. NO. READS (K=1000) NO. WRITES (K=1000) MBYTES READ MBYTES WRITTEN NO. HARD ERRORS NO. ERROR LOGS XX XX XX XXXXX# XXXXX % XXXXX# XXXXX % XXXXX# XaXXX# XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX ECC ERRORS ARE REPORTED THROUGH ERROR LOG MESSAGES. THEY ARE TALLIED REGARDLESS OF WHETHER THE MESSAGE PRINTING HAS BEEN SUPPRESSED. N SYMBOL ECC ERRORS: UNIT NO. ECC FIELD ONLY N = 1 N = 2 N = 3 N = 4 N = 5 N = 6 N = 7 N = 8 XX XX XX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX 4.2 DM EXERCISER SUBTEST REPORT ELAPSED TIME: - XX:XX:XX UNIT NO. NO. READS (K=1000) NO. WRITES (K=1000) NO. SEEKS (K=1000) MBYTES READ MBYTES WRITTEN NO. HARD ERRORS NO. SOFT ERRORS XX XX XX XXXXX % XXXXX & XXXXX % XXXXX % XXXXX XXXXX* XXXXX % XXXXX % XXXXX % XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX SEQ 0021 5.0 DEVICE INFORMATION TABLES THE HARDWARE P-TABLE APPEARS AS FOLLOWS FOR EACH UNIT: 15 00 LR LR LT EER TR T R TR TR TR ) TR TR TR Yy Y Ao Ay IP ADDRESS LR EEE L EE EEE R T EE R ) TR SRR ) Y g S U al S up S Uy VECTOR ADDRESS LR TR R R ) R YT YT ) YAl g u u Y BR LEVEL ) $echdectectecdectecpectectectectectectocpocpacbans YPR) LR ) EEE L EE EEE TR EEE TR TR PLATTER ADDRESS TR R DR S S A ) e upy PR - UNIT PROTECTION BIT DURING THE INITIALIZATION PROCESS AFTER A START, RESTART, OR CONTINUE COMMAND, THE RC25 DISK EXERCISER CREATES UP TO FOUR RUN-TIME TABLES (CALLED CONTROLLER STATUS TABLES, OR CST'S), AND FILLS THEM WITH INFORMATION DERIVED FROM THE HARDWARE P-TABLES OF ALL ACTIVE UNITS. THESE TABLES ARE NOT USER-ACCESSIBLE; THEIR FORMAT IS PRESENTED HERE ONLY TO SHOW THE VIEW OF THE WORLD AS SEEN BY THE EXERCISER. EACH CST IS A DYNAMIC 7-WORD BLOCK: 15 00 L e e e ) e R e e )CS) LR ) L EE EEE EEE R TR R L Er ey uppiappy e JPRIUPJUS) e e e e e Sy S S ) e e e e e e e e e g (A e E LE T e S E L Y ) LT L T Y L E T T T T rp Ty IF R S e R LR PLATTER ADDRESS R R E R L LT ey ) Ty ) Ty PLATTER ADDRESS e Ty ) G PLATTER ADDRESS o UNIT NUMBER ) R T PLATTER ADDRESS e R e T BR LEVEL e UNIT NUMBER ) R JPRIUPIUS) S S UNIT NUMBER ) e JPRIUPIUS) e e R UNIT NUMBER ) R JPRIUPIUS) L e ) L VECTOR ADDRESS TR NUMBER OF UNITS L CS PR UP US e e ) EEE L L Lrk IP ADDRESS L L L hr Ty ) TS ) ey - CONTROLLER STATUS BIT (ONLINE / OFFLINE) - UNIT PROTECTION BIT - UNIT PRESENT BIT - UNIT STATUS BIT (ONLINE / OFFLINE) 6.0 SUBTEST SUMMARIES THE RC25 DISK EXERCISER CONSISTS OF ONE TEST SUBDIVIDED INTO THREE SUBTESTS: INITIALIZATION, MULTI-DRIVE, AND DM EXERCISER. IN THE FIRST PASS FOLLOWING A START, RESTART, OR CONTINUE COMMAND, THE INITIALIZATION SUBTEST WILL ALWAYS PRECEDE THE EXECUTLON OF ANY OTHER SUBTEST. SUBSEQUENT PASSES WILL NOT INCLUDE THE INITIALIZATION SUBTEST. 6.1 SEQ 0022 INITIALIZATION SUBTEST THE PURPOSE OF THE INITIALIZATION SUBTEST IS TO VERIFY THE HARDWARE CONFIGURATION AS SPECIFIED BY THE OPERATOR, AND TO BRING EACH UNIT ONLINE. SPECIFICALLY, THE SUBTEST PERFORMS THE FOLLOWING ACTIONS FOR EACH CONTROLLER IN TURN: 1. 2. 3. 4. 5. 6. 7. A DEVICE REGISTER EXISTENCE TEST - TO VERIFY THAT THE CONTROLLER'S IP AND SA REGISTERS APPEAR ON THE UNIBUS, A VECTOR INTERRUPT TEST - TO INSURE THAT THE DEVICE CAN INITIATE VECTORED INTERRUPTS TO THE PROCESSOR, A BR LEVEL TEST - TO VERIFY THAT THE DEVICE INTERRUPT OCCURS AT THE BR LEVEL SPECIFIED BY THE OPERATOR, A FOUR-STEP HARD INIT SEQUENCE, AS DEFINED IN THE UNIBUS / Q-BUS STORAGE SYSTEMS PORT SPECIFICATION, THE S%:g%gg OF THE "SET CONTROLLER CHARACTERISTICS” COMMAND THE SENDING OF THE MSCP “ONLINE” COMMAND FOR EACH PLATTER SPINNING UNDER THE CONTROLLER, THE SENDING OF ONE OR TWO MSCP "ACCESS” COMMANDS FOR EACH gkfiT;gRRgngR THE CONTROLLER TO VERIFIY THAT EACH DISK ANY CONTROLLER-FATAL ERRORS ENCOUNTERED DURING THE INITIALIZATION SUBTEST WILL CAUSE ALL ITS UNITS TO BE DROPPED FROM TESTING. ANY UNIT- FATAL ERRORS WILL CAUSE ONLY THE APPROPRIATE UNIT TO BE DROPPED. FOR ALL SURVIVING CONTROLLERS AND UNITS, THE PROGRAM WILL THEN BEGIN EXECUTION OF EITHER THE MULTI-DRIVE OR DM EXERCISER SUBTEST. 6.2 MULTI-DRIVE SUBTEST THE PURPOSE OF THE MULTI-DRIVE SUBTEST IS TO EXERCISE THE DISK DRIVES IN A MANNER SIMILAR TO HEAVY USAGE IN AN OPERATING SYSTEM ENVIRONMENT. THE SUBTEST ISSUES MSCP I/0 COMMANDS TO ALL UNITS FAST ENOUGH SO THAT EACH CONTROLLER HAS SEVERAL COMMANDS QUEUED AT ANY GIVEN TIME. THE I/0 COMMAND PARAMETERS ARE GOVERNED BY USER RESPONSES DURING THE SOF TWARE QUESTIONING, EXCEPT THAT BYTE COUNTS ARE DETERMINED AT RANDOM. AS EACH I/0 OPERATION COMPLETES, THE PROGRAM UPDATES THE STATISTICAL TALLY UNTIL THE SPECIFIED NUMBER OF MEGABYTES HAS BEEN TRANSFERRED TO / FROM EACH UNIT. WHEN THIS HAPPENS, REPORT IS PRINTED. END-OF -PASS IS DECLARED, AND THE SUMMARY IF THE RC25 EXPERIENCES A READ / WRITE ERROR, IT WILL TRY A VARIABLE NUMBER OF TIMES TO CORRECT THE ERROR. IF ALL RETRIES FAIL, THEN A HARD ERROR WILL BE REPORTED TO THE HOST, AN ERROR MESSAGE WILL BE DISPLAYED ON THE CONSOLE TERMINAL, AND THE ERROR WILL BE TALLIED FOR THE SUMMARY REPORT. THE UNIT INVOLVED WILL BE DROPPED FROM TESTING IF ITS HARD ERROR COUNT HAS EXCEEDED THE USER-SPECIFIED LIMIT. 6.3 SEQ 0023 DM EXERCISER SUBTEST THE DM EXERCISER CONSISTS OF THE FRONT PANEL TEST (ROM RESIDENT ON THE CONTROLLER BOARD) RUN IN A CONTINUOUS LOCP UNDER HOST SUPERVISION. IT IS USED TO EXERCISER A DISK BY (A) PERFORMING READS ON ALL TRACKS OF THE PLATTER, AND (B) FORCING WRITES 10 THE DIAGNOSTIC TRACKS ONLY. ALL ERRORS DETECTED IN THE DIAGNOSTIC MACHINE, BOTH HARD AND SOFT, WILL BE REPORTED TO THE HOST IN STATISTICAL FORM FOR THE SUMMARY REPORT, BUT THEY WILL NOT APPEAR IN THE CUMULATIVE ERROR COUNT WITH THE END-OFPASS MESSAGE. THE NUMBER OF SEEKS, READS, AND WRITES WILL ALSO BE REPORTED AND TALLIED. AS IN THE MULTI-DRIVE SUBTEST, END-OF-PASS WILL BE DECLARED WHEN ALL UNITS HAVE REACHED THE MEGABYTE TRANSFER LIMIT SPECIFIED BY THE USER. (NOTE THAT THIS SUBTEST TAKES MUCH LONGER TO ACCOMPLISH THE SAME FEAT; IT TAKES ABOUT 10 MINUTES PER UNIT TO REACH A 2 MEGABYTE TRANSFER LIMIT). THE HOST INITIATES THE FRONT PANEL TEST (FPT) WITH A CROM PRIMER PROGRAM, WHICH IS DOWNLINE LOADED FROM THE HOST TO THE RC25 VIA THE DUP COMMAND “EXECUTE SUPPLIED PROGRAM”, THE CROM PRIMER IS RESPONSIBLE FOR LOADING THE FRONT PANEL TEST INTO RC25 RAM SPACE, THEN PASSING CONTROL T0 IT. IF THE "EXECUTE SUPPLIED PROGRAM” SUCCEEDS, THE HOST RESPONDS BY ISSUING THE DUP COMMAND “SEND DATA”. THIS COMMAND TELLS THE FRONT PANEL TEST THE LOCATION OF THE HOST / FPT COMMUNICATION AREA, A BLOCK OF HOST MEMORY RESERVED FOR MUTUAL ACCESS. THE FPT EXERCISES ONE PLATTER AT A TIME PER PASS, AND EACH FPT PASS TAKES APPROXIMATELY S MINUTES. AT THE COMPLETION OF EACH FPT PASS, A NEW SET OF STATISTICS IS LOADED INTO THE HOST COMMUNICATION AREA, AND THE FPT GOES ON TO EXERCISE THE NEXT UNIT. IF THE HOST FAILS TO DETECT A NEW SET OF STATS WITHIN A TIMED INTERVAL, THEN A DEVICE-FATAL ERROR WILL BE DECLARED, AND ALL UNITS ASSOCIATED WITH THE CONTROLLER WILL BE DROPPED. OTHERWISE, THE UNIT NUMBER AND THE NUMBER OF BLOCKS TRANSFERRED DURING THE FPT PASS WILL BE DISPLAYED TO THE USER (IF IN ATTENDED MODEY. 7.0 MAINTENANCE HISTORY DATE: AUTHOR : 13-JUL-83 JAMES S. 17-JUN-85 GARY Y. PRODUCT NAME: DOUCETTE CHIN CZRCDAO.BIN CZRCDBO.BIN NOTE CZRCDBO.BIN was modified to run on the PDP-11/84. The four steps of Initiaslization routines now measure time off of the real-time clock. SEQ 0024 APPENDIX A - DATA PATTERNS THERE ARE 21 PRE-DEFINED DATA PATTERNS SUPPLIED WITH THE MULTI-DRIVE SUBTEST. THROUGH THE SOFTWARE QUESTIONS, YOU MAY CHOSE ANY ONE PATTERN TO BE USED FOR ALL WRITE OPERATIONS, OR YOU MAY HAVE ALL PATTERNS USED SEQUENTIALLY. THE “LBN” APPEARING IN PATTERNS 17 - 21 REPRESENTS THE STARTING BLOCK NUMBER OF THE CURRENT WRITE REQUEST. HEX PATTERN 1 RANDOM BINARY NUMBERS PATTERN 2 0000 000000 0 000 000 000 000 000 PATTERN 3 FFFF 177777 1111 111 111 111 111 PATTERN 4 8888 105613 1 000 101 110 001 011 PATTERN 5 3333 031463 0 011 001 100 110 011 PATTERN 6 3091 030221 0 011 000 010 010 001 PATTERN 7 0001 €203 0007 000F 001F 003F 007F O0FF O1FF 03FF O7FF OFFF 1FFF 3FFF TFFF 000001 000003 000007 000017 000037 000077 000177 000377 000777 001777 003777 007777 017777 037777 077777 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000 000 000 000 000 000 000 000 000 000 000 000 001 011 111 1 111 FFFF PATTERN 8 FFFE 177777 177776 FFFC 177774 FFF8 FFFO 177770 177760 177740 177700 177600 8000 0000 100000 000000 140000 111 111 100 000 1 160000 111 111 110 100 000 000 000 000 176000 €000 111 001 011 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 FCO0 E000 111 000 000 000 001 011 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 111 110 111 100 111 000 177400 177000 174000 170000 000 000 000 000 000 000 001 011 111 111 111 111 111 111 111 1111 111 111 111 110 FEOD F800 F000 000 000 000 000 000 000 000 000 000 001 011 111 111 111 111 1 111 1111 1 111 1 111 1111 1 111 1 111 1 111 FFEO FFCO FF80 FFOO Raess OCTAL 1 1 000 000 000 000 000 000 111 110 000 000 000 111 100 000 000 000 111 000 000 000 000 1 110 000 000 000 000 1 100 000 000 000 000 1 000 000 000 000 000 0 000 000 000 000 000 000000 000000 000000 177777 177777 052525 052525 052525 HOFOFOFMHOOFHIOOD PATTERN 11 019 101 010 101 010 101 010 PATTERN 12 026455 026455 026455 151322 151322 151322 026455 026455 151322 151322 026455 026455 151322 026455 151322 026455 151322 026455 151322 026455 OrHrOFHFOFOFOOFFOOFFFOOO 133331 010 010 010 101 101 101 010 010 101 101 010 010 101 010 101 010 101 010 101 010 PATTERN 13 066666 O PATTERN 10 = 1777717 000000 000000 177777 177777 000000 177777 000000 177777 000000 177777 SEQ 0025 HOMOHORMOOKEMOOO PATTERN 9 110 125252 125252 125252 052525 052525 125252 125252 052525 125252 052525 125252 052525 125252 010 101 010 101 010 101 010 100 101 100 101 100 101 011 010 011 010 011 010 100 101 100 101 011 010 011 010 100 101 100 101 011 010 100 101 011 010 100 101 011 010 100 101 011 010 100 101 110 110 110 101 101 101 010 010 010 101 101 010 010 101 101 010 101 010 101 010 101 010 101 PATTERN 14 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 OO0OO0O0O0O0OCOOOOOO0O0OO PATTERN 15 177776 177775 177773 177767 177757 177737 177677 177577 177377 176777 175777 173777 167777 157777 137777 0 0 10 10 1 et 0 1t e e ot ot et et et et D 0 e e et h et b e (b b e b b b et 077777 PATTERN 16 8609 B86D9 DB6C 133331 133331 133331 155554 155554 155554 133331 133331 155554 155554 133331 155554 133331 155554 133331 155554 SEQ 0026 101 101 101 011 011 101 101 011 101 011 101 011 101 101 101 72C9 72C9 72C9 72C9 8036 8036 8036 8036 8036 8036 PATTERN 18 8036 LBN 72C9 8D36 8036 8036 72C9 72C9 72C9 72C9 8036 8036 8036 8036 8036 72C9 72C9 72C9 72C9 72C9 72C9 PATTERN 19 LBN B999 B999 4666 4666 4666 B999 8999 B999 8999 4666 4666 4666 4666 4666 071311 071311 071311 071311 071311 106466 106466 106466 106466 106466 106466 OO0 100 011 011 011 100 100 100 100 e e e OO OO0 8036 8036 8036 8036 72C9 LBN 100 110 106466 LBN 071311 106466 106466 106466 071311 071311 071311 071311 106466 106466 106466 106466 106466 071311 071311 071311 071311 071311 071311 LBN 134631 134631 043146 043146 043146 134631 134631 134631 134631 043146 043146 043146 043146 043146 011 011 011 011 011 100 100 100 100 100 100 1 72C9 72C9 72C9 LBN 106466 106466 071311 071311 071311 106466 106466 106466 106466 COO0OCOOHHFEFFOOOOF MO LBN 8036 8036 COOCOOrH R FEOOO - PATTERN 17 111 111 111 111 000 000 000 111 111 111 111 111 111 011 011 100 100 100 011 011 011 011 100 100 100 100 100 100 LBN 011 100 100 100 011 011 011 011 100 100 100 100 100 011 011 011 011 011 011 LBN 110 011 110 011 100 001 100 001 100 110 011 110 011 110 011 100 110 011 011 001 100 110 011 001 100 011 001 100 011 001 100 011 001 100 110 SEQ 0027 134631 4666 B999 8999 8999 134631 134631 134631 043146 4666 4666 4666 4666 043146 043146 042146 4666 4666 4666 4666 4666 4666 134631 134631 134631 043146 043146 043146 043146 043146 043146 LBN LBN 8999 B999 8999 8999 B999 PATTERN 21 LBN 043146 124631 134631 s s e b 8999 LBN 011 011 011 011 011 011 100 100 100 100 100 100 1o 134631 134631 134631 134631 134631 134631 011 100 110 011 CQOOOOOrH I+ it OOOO O PO PATTERN 20 8999 8999 8999 8999 8999 8999 100 011 011 011 011 100 100 110 011 011 100 011 100 011 100 011 100 011 100 011 100 011 100 011 100 100 011 011 100 100 011 011 100 011 100 011 100 011 10C 011 100 011 100 110 100 100 100 100 011 011 011 011 011 100 100 100 100 100 100 110 110 110 110 110 110 011 011 011 011 011 011 SEQ 0028 APPENDIX B AZTEC SEQ 0029 - GLOSSARY - PROJECT NAME FOR THE RC25 MASS STORAGE COMMUNICATION PROTOCOL (MSCP) - THE METHOD OF COMMUNICATION USED BETWEEN THE HOST AND RC25 CONTROLLER. DIAGNOSTIC MACHINE (DM) - AN INTERPRETER BUILT INTO THE RC2S FIRMWARE THAT IS USED TO EXECUTE RESIDENT OR DOWNLINE LOADED PROGRAMS. INITIALIZATION SEQUENCE - THE SERIES OF COMMANDS EXECUTED TO BRING AN RC25 ONLINE TO THE HOST. THIS SEQUENCE IS A STRICTLY-DEFINED SET OF gggg STEPS WHICH INFORMS THE DEVICE OF SUCH THINGS AS RING LOCATION AND UNIT - A UNIT AS SEEN BY THE DIAGNOSTIC SUPERVISOR; RC25 DISK PLATTER. THAT IS, A SINGLE DRIVE-UNIT - A SINGLE RC25 DRIVE WITH A FIXED AND A REMOVABLE PLATTER ON ONE SPINDLE. UNIT NUMBER - A NUMBER BETWEEN O AND 15 INCLUSIVE WHICH IDENTIFIES A PLATTER TO THE DIAGNOSTIC SUPERVISOR. UNIT NUMBERS ARE ASSIGNED SEQUENTIALLY FROM O BY THE DIAGNOSTIC SUPERVISOR DURING THE HARDWARE CONFIGURATION QUESTIONS. THERE IS NO RELATIONSHIP BETWEEN A DISK'S UNIT NUMBER AND ITS PLATTER ADDRESS. PLATTER ADDRESS - A NUMBER BETWEEN O AND 253 THAT UNIQUELY IDENTIFIES ONE RC25 PLATTER. THIS NUMBER IS ASSIGNED THROUGH THE UNIT PLUG ON THE FRONT PANEL OF AN RC25. EVEN PLATTER ADDRESSES ALWAYS DESIGNATE THE gggOVABLE DISK AND ODD PLATTER ADDRESSES ALWAYS DESIGNATE THE FIXED K. CUSTOMER DATA AREA (ALSO HOST APPLICATION AREA) RC25 PLATTER FOR FREE USE BY THE CUSTOMER. DIAGNOSTIC TRACKS (DBN), THE FCT, THE RCT, PROTECTED CUSTOMER DATA AREA - - BLOCKS RESERVED ON AN THIS AREA EXCLUDES THE AND RBN'S. AN RC25 PLATTER WHOSE CUSTOMER TRACKS ggETgRITE-PROTECTED BY THE USER THROUGH THE HARDWARE CONFIGURATION -CTION. LBN (LOGICAL BLOCK NUMBER) - GIVEN THAT N IS THE NUMBER OF BLOCKS IN THE HOST APPLICATION AREA, LBN IS A NUMBER BETWEEN O AND (N - 1) INCLUSIVE WHICH IDENTIFIES A SINGLE SUCH BLOCK. )% - SEQ 0030 CZRCD.EXE Memory allocation map TKB M40.02 14-JUN-85 09:50 Partition name : SEQ 0031 Page 1 DUMMY Identification : Task VIC : V02.0 [200,250] s34+ Root segment: CZRCD1 Task attributes: -HD Total address windows: 1. Task image size : 14720. words Task address limits: 002000 073307 R-W disk blk limits: 000002 000073 000072 00058. R/W mem Disk blk limits: limits: 002000 073307 071310 29384. 000002 000073 000072 00058. Memory allocation synopsis: Section . BLK.:(RW,I,LCL,REL,CON) $CODE$:(RC,I,LCL,REL,CON) $FFFs :(RO,I,LCL,REL,CON) $GGGS$ :(RO,I,LCL,REL,CON) $PLIT$:(RO,D,LCL,REL,CON) b Ident File v02.0 v02.0 v02.0 CZRCD1.0BJ; 4 002000 000000 00000. 002000 040426 16662. 002000 010550 022314 041746 042002 042320 042426 042426 066342 066342 071160 071160 073076 006550 011544 017432 000034 000316 000106 023714 023714 002616 002616 002066 001716 000150 03432. 04964. 07962. 00028. 00206. 00070. 10188. 10188. 01422. 01422. 01078. 00974. 00104. CZRCD1 CZRCD2 CZRCD3 B16ABS B16MUL B16SAV V3.0 V3.0 V3.0 CZRCD2.0BJ; 3 CZRCD3.0BJ; 11 AZLIB.OLB;1 AZLIB.OLB;1 AZLIB.OLB;:1 CZRCD1 vo2.0 CZRCD1.0BJ: 4 CZRCD3 v02.0 CZRCD3.08J; 11 CZRCD2 v02.0 CZRCD3 v02.0 CZRCD2.08BJ;3 CZRCD3.08J; 11 $XYZ$ :(RO,I,LCL,REL,CON) SEQ 0032 073246 000040 00032. 073246 000040 00032. CZRCD4 V02.0 CZRCD4.0BJ;3 Giobal symbols: ADR BITO BITO0 BITO1 BIT02 BITO3 BITO4 BITOS BIT06 BITO7 BITO8 BIT09 BIT1 000020 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 BIT10 BIT11 BIT12 BIT13 BIT14 BIT15 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 BIT9 001000 BL$ABS 041770-R BLS$DIV 042226-R BLSLAS BL$MOD BL$MUL BL$SGN BL$SHF BOE BUFF.D BUFF .0 BUFF .S CCTLR 073246-R 042240-R 042002-R 041746-R 042252-R 000400 065466-R 066066-R 066300-R 066240-R CER.01 CER.02 CER.03 CLK.CS CLK.HE CLK.IN CLK.TY CLK.VE COPY.B CPLAT CPT CRLF CRN 004140-R 004224-R 004270-R 066310-R 066306-R 014756-R 066304-R 066312-R 015060-R 066242-R 042736-R 010442-R 066340-R CST CST.AD CTLR.C CUOFF DCT DCT.AD DFPTBL DMC.AD DM.COM DROP.C DRV.CT DUM.CE DUM.HE 042756-R 043046-R 066246-R 066244-R 043050-R 043160-R 010450-R 043506-R 043166-R 016262-R 016366-R 004420-R 004470-R DUM, IE DUM.UC DUM.UVE DUM.00 DUR D$PCNT EBD. 10 EBD. 12 EBD. 13 EBD. 14 EBD. 15 EBD. 16 EBD .17 004450-R 004376-R 004526-R 004344-R 066250-R 002122-R 005400-R 005444 -R 005526 -R 005604 -R 005676-R 005766-R 006062-R EBD.18 EBD.19 EBD.20 EBD.21 EBD.22 EBH. 31 EBH. 32 EBH.34 EBH. 35 EBH. 36 EBH. 37 EBH. 38 EBH. 39 006160-R 006224 -R 006264-R 006350-R 006436-R 006556-R 006602-R 006650-R 006674-R 006724-R 006750-R 007002-R 007022-R CZRCD.EXE CZRCD1 Memory allocation map TKB M40.02 14- JUN-85 09:50 EBH.40 007060-R EBH.41 007106-R EBH.42 007126-R EBH.43 007174-R EBS.01 005332-R EF .CON 000036 EF .NEW 000035 EF .PUR 000034 EF .RES 000037 EF.STA 000040 EGD. 10 004654 -R EGD.11 004714-R EGD. 12 004740-R EGD.13 004766-R EGD. 14 005014-R EGD. 15 005052-R EGD. 16 005104-R EGD.17 005122-R EGD. 18 005152-R EGD.19 005170-R EGD.20 005210-R EGD.21 005234-R EGD.22 005260-R EGH. 30 005306-R EGS.01 004556-R EGS.02 004576-R EMS.01 020706-R EMS.10 020750-R EMS.12 021016-R EMS.13 021060-R EMS.14 021132-R EMS5.15 021200-R EMS5.16 021246-R EMS.17 021320-R - EOP.FL 066234 -R ERRBLK 002134 -R ERRMSG 002132-R ERRNBR 002130-R ERRTYP 002126 -R ETIME 010372-R EVL 000004 EX.BB 007654 -R EX.BC 010012-R EX.BD 010070-R EX.CBC 007744 -R EX.CMD 007474 -R EX.CMP 007636-R EX.CRN 007304 -R EX.DSC 007400-R EX.EL 010150-R EX.ESP 007546 -R EX.EVC 010262-R EX.FMT 010242-R EX.HMA 010306-R EX.LBN 007720-R EX.ONL 007534 -R EX.03 010356-R EX.PA 010212-R EX.RD 007616-R 007256 EX.SA -R EX.SB 007440-R EX.SC 007342-R EX.SCC 007514-R EX.SND 007602-R EX.WRT 007626 -R FREE.M 066276 -R GET.EN 015412-R GET.IO 015720-R GP$17 GP$18 GP$19 GP$2 GP$20 GPs21 GP$3 GP$4 GP$5 011044-R 011054-R 011064-R 010636-R 011102-R 011114-R 010646-R 010660-R 010672-R GP$6 010702-R 010716-R GP$7 GP$8 010730-R 010742-R GP$9 HARD .E 016502-R HOE 100000 HOURS 066314-R HWPT.B 010454-R HWPT.I 010450-R HWPT.P 010456-R HWPT.V 010452-R HWQ1 002136-R HWQ2 002152-R HWQ3 002162-R HWQ4 002174-R HWQS 002230-R HWQ6 002314-R IBE 010000 IDV 000040 IER 020000 IIP.FL 066236-R IN.IOD 016174-R I00Q 066166-R I00Q.I 066226-R I00Q.0 066230-R SEQ 0033 Page 2 LsCCP L$CLEA L$CO L$DEPO L$DESC L $DESP 002106-R 014254 -R 002032-R 002011 -R 010576-R 002076-R L$DEVP 002060-R L$DISP 002124-R L$DLY 002116-R L$DTP 002040-R L$DTYP 002034 -R LsDUV 014646-R L$DUT 002072-R L$DVTY 010550-R LSEF 002052-R LSENVI 002044 -R L$ERRT 002126-R LSETP 002102-R L$EXP1 002046 -R LS$EXP4 002064 -R L$EXPS 002066 -R L $HARD 010626 -R L $HIME 002120-R L $HPCP 002016 -R L $HPTP 002022-R L $HRDL 010624 -R L $HW 010450-R L $HUWLE 010446-R L$ICP 002104 -R LSINIT 014032-R L$LADP 002026 -R LSLAST 073252-R L$LOAD 002100-R LSLUN 002074 -R L$REV 002010-R L$RPT 012236-R L$SFTL 010714-R L$SOFT 010716-R L$SPC 002056-R L$SPCP 002020-R L$SPTP 002024-R L$STA 002030-R L$SW 010464-R L$SWLE 010462-R L$TEST 002114-R L$TIML 002014-R LS$UNIT 002012-R MEM. MG 066235-R MEM. SI 066274-R MINUTE 066316-R MSCP.E 045462-R MSG.01 003466-R MSG. 02 003520-R MSG.03 003616-R MSG. 04 003636-R MSG. 0S5 003670-R MSG. 06 003730-R MSG.07 003772-R MSG.08 004044 -R NEX 066336-R NEX.TR 014746-R NULL 003464-R NUM. BU 066302-R OCL.X1 044054-R OCL.Xx2 044056-R OF .RC 066332-R ouTC.L 043554-R ouTC.T 043654-R PRIO4 000200 PRIOS 000240 PRIO6 000300 PRIO7 000340 PUTA.B 016074-R PUTA.E 015536-R PUT.EN 015522-R PUT.IO 016010-R PUT.RE 015704 -R QIO 066270-R RCINTO 037326 -R RCINT1 037344 -R RCINT2 037364-R RCINT3 037404-R RC25.A 043162-R RETPKT 062422-R RPS.X1 043550-R RPS.X2 043552-R RP.ADD 065464 -R RP.IND 065462 -R RP.SAV 043510-R RP.USE 065422-R SA.REG 066334 -R $8.C0D 066326 -R SECOND 066320-R SEND 017126-R SET.CP 015120-R SET.UP 015314-R SFPTBL 010464 -R STC.00 006542-R STC.01 006556 -R STC.02 006602 -R STC.03 006626 -R STC.04 006650-R SWP.DP 010475-R SWP.ER 010464-R SWP.ET 010472-R SWP.FL 010474-R SWP.ST 010470-R SWP.UC 010476-R SWP.UD 010500-R SWP. XF 010466-R SWai 002414-R SWQ10 003024-R SWa11 003100-R SWa12 003144-R SWQ13 003176-R SWaQ14 003274-R SWQ15 003352-R SWQ2 002452-R SWa3 002530-R SWQ4 002576-R SWQs 002656-R SWQ6 002700-R SWQ7 002720-R SWQ8 002736-R SWQ9 003010-R TALLY 044060-R TICKS 066322-R T$FREE 073302-R T$PTHV 000002 T.ADDR 045460-R T.FLAG 066233-R T1 022420-R UAM 000200 UPD. IO 016572-R WAIT 017372-R XFR.CH 016734-R EMS.18 021362-R EMS.19 021434-R EMS.20 021502-R EMS.21 021544-R EMS.22 021632-R EMS.30 021674-R EMS.42 022044-R EMS.43 022132-R ENTRY. 066232-R ENV.US 062262-R GET.RE 015576-R GP$DIS 011022-R GP$1 010626-R GP$10 010750-R GP$11 010760-R GP$12 010766-R GP$13 011000-R GP$14 011014-R GP$15 011026-R GP$16 011034-R IRC25. ISR 1IXE LOE LOT LS$SACP LS$APT LSAU L$AUT LS$AUTO 043164-R 000100 004000 040000 000010 002110-R 002036-R 014736-R 002070-R 014044-R *4+ Task builder statistics: Total work file references: 73188. Work file reads: O. Work file writes: 0. Size of core pool: 4816. words (18. Size of work file: 3840. words (15. Elapsed time:00:00:57 pages) pages) 002050-R 002000-R 010712-R 010460-R 011134-R 010540-R 002042 -R 010542-R 002112-R 002062 -R OUT.IO 016136-R OVF.CH 016660-R 042426-R 010416-R STC.05 006674 -R 006724 -R 006750-R 007002-R 007022-R 007060-R 007106-R 066330-R 066324 -R 003370-R $END.L $SAVE2 $SAVE3 $SAVE4 $SAVES 073304-R 042320-R 042334-R 042352-R 042372-R SEQ 0034 CZRCD CREATED BY TKkB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE CZRCD3 CZRCD2 TLLDDLDTLLLDHLOODD CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 LB %Y ¥ ¥ X F F F EE X XX B L L L X L A CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 B16ABS B16MUL CZRCD4 B16MUL B16MUL A 000020 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 020000 040000 100000 000004 0C0010 000020 000040 000100 000200 000400 001000 041770-R 042226 -R 073246-R 042240-R 042002-R REFERENCES. .. A ADR BITO BITOO BITO1 BITO2 BITO3 BIT04 BITOS BITO6 BITO7 BITO8 BIT09 BIT1 BIT10 BIT11 BIT12 BIT13 BIT14 BIT1S5 BIT2 BIT3 BIT4 BITS BIT6 BIT7 BIT8 BIT9 BL $ABS BL$DIV BL SLAS BL $MOD BL $MUL CREF R VALUE LTV D SYMBOL CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 SEQ 0035 PAGE 1 Vo1 BL $SGN BL $SHF BOE BUFF.D BUFF .0 BUFF .S CCTLR CER.01 CER.02 CER.03 CLK.CS CLK.HE CLK.IN CLK.TY CLK.VE COPY.B CPLAT cPT CRLF CRN 041746-R 042252-R 000400 -R 065466 -R 056066 066300-R 066240-R 004140-R 004224 -R 004270-R 066310-R -R 066306 014756-R 066304 -R 066312-R 015060-R 066242 -R 042736 -R & B16ABS & B16MUL 066340-R CZRCD1 010442-R SEQ 0036 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCO2 CZRCD2 CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 ¢ CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD CREATED BY TKB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE FFY ¥ ¥ F X X X X K 2 X L L L L 2 CTLR.C CUOFF oCcT DCT.AD DFPTBL DMC.AD DOM.COM DROP.C DRV.CT DUM. CE DUM. HE DUM. IE L &# # & L L & L 2 042756 -R -R 043046 -R 066246 066244 -R 043050-R 043160-R 010450-R 043506 -R 043166-R 016262-R 016366 -R -R 004420 004470-R 004450-R 004376 -R 004526 -R 004344 -R 066250-R 002122-R 005400-R 0C5444 -R 005526 -R -R 005604 -R 005676 -R 005766 -R 006062 006160-R -R 006224 006264 -R 006350-R -R 006436 -R 006556 -R 006602 2 CsT CST.AD CREF REFERENCES. .. A VALUE LA A SYMBOL CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 SEQ 0037 PAGE 2 vo1 S0 ¥ X E X 006750-R -R 007002 -R 007022 007060-R 007106-R -R 007126 007174-R 005332-R 000036 000035 000034 000037 000040 004654 -R 004714 -R 004740-R & CZRCD1 ¢ CZRCD1 @ CZRCD1 ¢ CZRCD1 ¢ CZRCD1 @ CZRCD1 ¢ CZRCD1 ¢ CZRCD1 ¢ CZRCD1 @ CZRCD1 ¢ CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 2 EF .PWR EF .RES EF.STA EGD. 10 EGD.11 EGD. 12 006650-R -R 006674 -R 006724 LA X EBH. 34 EBH.35 EBH. 36 EBH.37 EBH. 38 EBH. 39 EBH.40 EBH.41 EBH.42 EBH.43 EBS.01 EF.CON CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 SEQ 0038 ¢ @ ® # ¢ CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CREATED BY TkB ON 14-JUN-85 AT 09:50 CROSS REFERENCE VALVE CREF REFERENCES. .. 004766 -R @ CZRCD1 005014 -R @ CZRCD1 005052 -R @ CZRCD1 005104 -R ¢ CZRCD1 005122-R ¢ CZRCD1 005152-R # CZRCD1 005170-R @ CZRCD1 005210-R ¢ CZRCD1 005234 -R ¢ CZRCD1 005260-R ¢ CZRCD1 005306 -R @ CZRCD1 004556 -R ® CZRCD1 004576 -R @ CZRCD1 -R @ CZRCD2 020706 020750-R @ CZRCD2 021016-R @ CZRCD2 021060-R ® CZRCD2 021132-R ¢ CZRCD2 021200-R ® CZRCD2 ¢ CZRCD2 021246-R ® CZRCD2 021320-R @ CZRCD2 021362-R 021434 -R @ CZRCD2 ¢ CZRCD2 021502-R -R ¢ CZRCD2 021544 021632-R ¢ CZRCD2 @ CZRCD2 021674-R ¢® CZRCD2 022044 -R 022132-R ® CZRCD2 ¢ CZRCD1 066232-R 062262 -R ¢ CZRCD1 -R ¢ CZRCD1 066234 -R ¢ CZRCD1 002134 002132-R ¢ CZRCD1 PAGE 3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 ot vO1 ERRNBR ERRTYP 002130-R -R 002126 010372-R - 030004 -R 007654 010012-R 010070-R -R 007744 -R 007474 -R 007636 007304 -R 007400-R 010150-R -R 007546 -R 010262 -R 010242 010326-R 007720-R CZRCD1 & CZRCD1 ® CZRCD1 & CZRCD1 o CZRCD1 4 CZRCD1 & CZRCD1 & CZRCD1 SEQ 0040 L CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 & CZRCD1 @ CZRCD1 & CZRCD1 @ & & & & @ & CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD2 ¢ CZRCD3 CZRCD3 CZRCD CREATED BY TkB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE CREF VALUE REFERENCES. .. EX.ONL Ex.03 EX.PA EX.RD EX.SA EX.S8 Ex.SC Ex.SCC EX.SND EX.WRT -R 007534 -R 010356 010212-R 007616 -R -R 007256 007440-R 007342-R -R 007514 -R 007602 -R 007626 -R 066276 015412-R 015720-R 015576 -R 011022-R -R 010626 010750-R 01076C-R -R 210766 011000-R 011014-R 011026-R 01i034-R 011044-R -R 011054 -R 011064 -R 010636 011102-R 011114-R -R 010646 010660-R 010672-R 010702-R 010716-R CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 GPs? W W W WW W R T N E R E R E L ERE R AR L R R A AR B LA A FREE .M GET.EN GET.I0 GET.RE GPSDIS GPs1 GPs$10 GPs11 GPs12 GPs13 GPsli4 GPs15 GPs16 GPs17 GPs18 GPs19 GPs2 GPs20 GPs21 GPs3 GPs4 GPsS GPsé PP SYMBOL CZRCD2 CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 SEQ 0041 PAGE 4 vO1 000040 020000 CZRCD2 CZRCD2 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 SEQ 0042 CZRCD3 CZRCD2 CZRCD2 o9 010730-R 010742-R 016502-R 100000 -R 056314 -R 010454 010450-R -R 010456 010452-R -R 002136 002152-R 002162-R -R 002174 002230-R 002314-R 010000 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 ¢ CZRCD3 CZRCD3 & CZRCD3 ¢ CZRCD3 ¢ CZRCD3 CZRCD CREATED BY TKB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE 002106 -R -R 014254 002032-R 002011-R 010576-R 0C2076-R 002060-R -R 002124 002116-R 002040-R -R 002034 014646-R 002072-R 010550-R 002052-R -R 002044 -R 002126 002102-R -R 002046 -R 002064 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 & & # & CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 DO D HLOOOO DOV 002110-R 002036 -R 014736-R 002070-R -R 014044 O L$ACP LSAPT L$AU LSAUT LSAUTO LsCCP LSCLEA LsCO L$DEPO L$DESC L$DESP L$DEVP Ls$DISP L$DLY L$DTP L$DTYP LsDU L$DUT L$DVTY LSEF L$ENVI LSERRT LSETP LS$EXP1 LSEXP4 & LOE LOoT 004000 040000 000010 & CZRCD1 DO -R 066236 016174-R -R 066166 066226 -R 066230-R 043164 -R 000100 DODOLYO IIP.FL IN.IOD I00Q I00Q.I I00Q.0 IRC2S. ISR IXE CREF REFERENCES. .. O VALUE DO SYMBOL CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 & CZRCD2 # CZRCD2 & CZRCD2 # CZRCD2 CZRCD2 & CZRCD2 & CZRCD2 CZRCD3 SEQ 0043 PAGE 5 voO1 LSLUN LS$SMREV L$NAME L$NDHR 010712-R O DOOBHLOLYS O LS$HW LSHWLE LSICP LSINIT LSLADP LSLAST L$LOAD -R 002066 -R 010626 002120-R 002016-R 002022-R -R 010624 010450-R 010446-R 002104 -R 014032-R -R 002026 073252-R 002100-R 002074 -R 002050-R 002000-R DO LSEXPS L$HARD LS$HIME LSHPCP LSHPTP L$HRDL CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 SEQ 0044 # CZRCD2 CZRCD3 & CZRCD2 & CZRCD4 CZRCD2 CZRCD3 CZRCD CREATED BY TKkB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE Ls$SPCP L$SPTP L$STA L$SW L$SWLE L$TEST LSTIML LSUNIT MEM. MG MEM. SI MINUTE MSCP.E MSG.01 MSG.02 MSG.03 MSG. 04 MSG. 05 MSG. 06 MSG. 07 MSG. 08 NEX NEX.TR NULL NUM.BU 'h—— 010462-R 002114-R 002014 -R 002012-R 066235-R 066274 -R 066316-R 045462 -R -R 003466 003520-R 003616-R 003636-R 003670-R 003730-R 003772-R 004044 -R 066336-R 014746-R -R 003464 066302-R ¢ CZRCD1 & CZRCD2 ¢ CZRCD1 CZRCD1 CZRCD1 DSOS 010460-R 011134-R 010540-R 002042 -R 010542-R 002112-R -R 002062 002010-R 012236-R 010714-R 010716-R 002056 -R 002020-R 002024 -R 002030-R 010464 -R O L $NDHW L $NDSF L$NDSW L$PRIO L$PROT L$PRT LSREPP LS$REV LSRPT L$SFTL L$SOFT L$SPC CREF REFERENCES.. . DOVDDODY VALUE BV SYMBOL CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD1 CZRCD1 # CZRCD2 ¢ CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD2 CZRCD3 CZRCD2 CZRCD3 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 SEQ 0045 PAGE 6 Vo1 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 Y CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 OO Y FS ¥ F X X LR X 2 L 001000 002000 000000 000040 000100 000140 000200 - L PRI PRIOO PRIO1 PRIO2 PRIO3 PRIO4 & CZRCD1 B PATCH PLATT 044054 -R -R 044056 066332-R 043554 -R -R 043654 016136-R 016660-R 042426 -R 010416-R LA A OCL.Xx1 OCL.Xx2 OF .RC OuUTC.L OUTC.T OUT.IO0 OVF.CH CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 # CZRCD3 SEQ 0046 CZRCD CREATED BY TKkB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE SYMBOL VALUE PRIOS PRIO6 PRIO7 PUTA.B PUTA.E PUT.EN PUT.I0 PUT.RE 000240 000300 000340 016074-R 015536-R 015522-R 016010-R 015704-R @ @ @ & & & & & RCINTO RCINT1 RCINT2 RCINT3 RC25.A RETPKT RPS.X1 RPS.X2 RP.ADD RP.IND RP.SAV RP.USE SA.REG SB.COD SECOND SEND SET.CP SET.UP SFPTBL STC.00 STC.01 STC.02 STC.03 STC.04 STC.05 STC.06 STC.07 STC.08 037326-R 037344-R 037364-R 037404-R 043162-R 062422-R 043550-R 043552-R 065464-R 065462-R 043510-R 065422-R 066334-R 066326-R 066320-R 017126-R 015120-R 015314-R 010464-R 006542-R 006556-R 006602-R 006626-R 006650-R 006674-R 006724-R 006750-R 007002-R & CZRCD3 & CZRCD3 & CZRCD3 & CZRCD3 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 # CZRCD1 ¢ CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD2 & CZRCD2 & CZRCD2 & CZRCD1 # CZRCD1 ¢ CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 # CZRCD1 QIO 066270-R CREF REFERENCES. .. CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 & CZRCD1 & CZRCD2 & CZRCD2 & CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 # CZRCD3 & CZRCD3 # CZRCD3 CZRCD2 CZRCD3 CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 SEQ 0047 PAGE 7 voO1 SWM1 SWP. SWP. ER SWP. ET SWP. FL SWP. ST SWP. SWP. SWP. XF Ska1 O 007022-R 007060-R 007106-R 066330-R -R 056324 003370-R 010475-R 010464 -R 010472-R -R 010474 010470-R 010476 -R 010500-R 010466 -R 002414 -R & CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 LTSS BDOODS S STC. 09 STC. 10 STC. 11 STEP $7.C 00 CZRCD3 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD2 CZRCD2 SEQ 00438 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD CREATED BY TKB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE SYMBOL VALUE SWQR10 SWQ11 SWQ12 SWQ13 SWQ14 SWQ15 SW@2 SWQ3 SWQ4 SWQs SWQ6 SWQ7 SWQ8 SWQ9 TALLY TICKS TSFREE T$PTHV T.ADDR T.FLAG T1 UAM UPD.I0 WAIT 003024-R 003100-R 003144-R 003176-R 003274-R 003352-R 002452-R 002530-R 002576-R 002656-R 002700-R 002720-R 002736-R 003010-R 044060-R 066322-R 073302-R 000002 045460-R 0€6233-R 022420-R 000200 016572-R 017372-R XFR.CH $END.L $SAVE2 $SAVE3 $SAVE4 $SAVES 016734-R 073304-R 042320-R 042334-R 042352-R 042372-R CREF REFERENCES. .. & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 @ CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD4 CZRCD1 & CZRCD1 & CZRCD1 CZRCD1 # CZRCD1 & CZRCD2 & CZRCD2 & CZRCD2 & CZRCD4 B16MUL & B16SAV # B16SAV B16MUL CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 & CZRCD4 CZRCD2 CZRCD2 & CZRCD3 & CZRCD2 CZRCD3 CZRCD3 CZRCD3 & B16SAV CZRCD2 CZRCD2 & B16SAV CZRCD3 CZRCD3 CZRCD3 CZRCD3 & CZRCD3 CZRCD2 CZRCD3 CZRCD3 CZRCD2 CZRCD3 CZRCD3 SEQ 0049 PAGE 8 vo1 oo e TMo ve e ve ve 1008888808808 4088 2408880000400 000R4s04 0004 d00sdbttdbbbdbbdtbdbbdbddbbtdbdttns LITERALS » 2888840488288 054480045008 404 000000ttt tdib bbbt bbbttt bbbbbbbbbbbbtbtnd ITERAL dkddde HARDWARE LIMITS AND PARAMETERS MAX_CTLR MAX_UNITS MAX_TRACK MAX_SECT , LT TYY T K SEC_PER_TRK BLK_SIZE 4, MAX_CTLR = 4, ! ! MAXIMUM NUMBER OF RC25 CONTROLLERS ALLOWED MAXIMUM NUMBER OF UNITS TO TEST 1641, 30, 31, 512, ! ! ! ! LARGEST TRACK NUMBER IN HOST AREA LARGEST HOST SECTOR NUMBER IN EACH TRACK NUMBER OF HOST SECTORS PER TRACK NUMBER OF BYTES PER SECTOR ! ! LOG2 LENGTH OF COMMAND RING LOG2 LENGTH OF RESPONSE RING ! SIZE (WORDS) OF HW P-TABLE ' ! SIZE (WORDS) OF A UNIT'S STATISTICS TABLE SIZE (WORDS) OF A RETURN PACKET U7Q PORT RING SIZES CR_LOG RR_LOG CRING_LEN RRING_LEN ] 3, 3, 1 + CR_LOG, 1 t RR_LOG, ! COMMAND RING LENGTH ! RESPONSE RING LENGTH . Tadbsss ] TABLE AND OTHER STRUCTURE SIZES HWPT _LEN COMM_LEN CST_LEN TALLY_LEN RP_LEN RPS_LEN 1 CRING_LEN, ! SIZE (BYTES) OF A CONTROLLER'S RETPKT SAVE AREA ! NUMBER OF ENTRIES IN I/0 DONE QUEUE (IODQ) ENV_LEN DCT_LEN BST_LEN RDM_LEN DESC_LEN DMC_LEN MSG_LEN + 4, ! SIZE (WORDS) OF AN MSCP ENVELOPE ENV_CNT OUTC_CNT DP _CNT 30, ! SIZE (WORDS) OF AN MSCP MESSAGE (TEXT PORTION) 9, ! SIZE (WORDS) OF A DRIVER CONTROLLER TABLE 2, ! SIZE (WORDS) OF A UNIT'S BLOCK SEQ TABLE ENTRY 16, ! SIZE (WORDS) OF THE RANDOM NUMBER TABLE 2, ! SIZE (WORDS) OF AN I/0 BUFFER DESCRIPTOR 26, !' SIZE (WORDS) OF DM_COMM AREA FOR ONE CONTROLLER ' MAX_CTLR #« RRING_LEN, ! NUMBER OF RETURN PACKETS IN POOL 16, ! MAX SIZE (WORDS) OF USER DATA PATTERN (CRING_LEN # 2) & MAX CTLR ! MAX NO. OF I/0 BUFFERS (SIZE OF BUFF_DESC AND BUFF _OWN) (CCRING_LEN # 2) + RRING LEN) & MAX_CTLR, ! NO. OF MSCP ENVELOPES IN POOL CRING_LEN =+ 2, ' NUMBER OF ENTRIES IN A CONTROLLER'S OUTSTANDING CMD LIST 21, ! NUMBER OF PRE-DEFINED DATA PATTERNS OFFSETS OF _UN Rass 24, 24, (CRING LEN * 2) + 4, ! SIZE (WORDS) OF U/Q PORT COMM AREA FOR ONE CTLR SIZE (WORDS) OF A CONTROLLER STATUS TABLE MAX_CTLR &« RRING_LEN, RP _CNT MAX_UDP_CNT MAX_BUF _CNT HETTTY T (RRING_LEN # 2) 7, IODQ_LEN MSG_LEN i 4, 3, ! WORD OFFSET FROM START OF CST TO FIRST UNIT SEQ 0050 SEQ 0051 tesssss SW P-TABLE FLAGS (SWP_FLAGS) ] SWF _SEL SWF _DM SWF _RDM SWF _CRC SWF _W0 SWF_CuC SWF _HWC SWF_UDP SWF _PHIC 1888sss ] START =1, PWR_FAIL NEW_PASS ' ' ] ! ! =0, o = 2, - 3, =4, 120, 30, 300, 360, = 2, QIO_PER_CTLR ! RESTART ! CONTINUE ! POMWER FAIL ! NEW PASS ! ! ! ! ! USER COMMAND CONFIGURATION ERROR INITIALIZATION ERROR HARD ERROR LIMIT REACHED UNRECOVERABLE DEVICE ERROR ! ! ! ! INIT SUBTEST COMMANDS DUP COMMANDS 170 TRANSFER COMMANDS ONE FPT PASS (DM EXERCISER SUBTEST) ! NUMBER OF HARD INIT ATTEMPTS BEFORE FAILURE IS ASSUMED = ((%0'200') OR (CR_LOG * 3) OR (RR_LOG)), ! USED IN HARD INIT SEQUENCE = CRING_LEN * 2, ! MAXIMUM NUMBER OF OQUTSTANDING QIOS PER CONTROLLER MSCP ENVELOPE DESCRIPTOR ED _OWN 1adbsss ! START MISCELLANEOUS LITERALS INI_ATY ] =4, =S, = = = = WR_RING 1addses - 2. -3, TIMEOUT VALUES (IN SECONDS) TO_INIT TO_CuP 70_I9 TO_DM 1844044 SUPPRESS PRINTING ERROR LOG MESSAGES RUN DM EXERCISER INSTEAD OF MULTI-DRIVE SUBTEST RANDOM SEEK MODE READ-COMPARES AT CONTROLLER WRITE ONLY WRITE-COMPARES AT CONTROLLER WRITE-COMPARES AT HOST USER-DEFINED DATA PATTERN HOST WRITE COMPARES (BIT POSITION) DROP UNIT REASONS (LOADED INTO DUR VECTOR) DU_USER DU_CONF DU_INIT DU_HERR DU_FATAL EYTTY T ! ! ! ! ! ! ! ! ! ENTRY_REASON VALUES (HOW CURRENT PASS WAS INVOKED) RESTART CONT L TTTT Y = %0'1’, = %0'2', = %0'4’, = %0'10, = %0'20', = #%0'40', = %0100, = %0'200', = %0'6’, = %0'100000', ! OWNERSHIP BIT CONNECTION ID VALUES (MSCP_ENV, RETPKT) (SERVE AS SOURCES AND DESTINATIONS OF MSCP MESSAGES) CID_DISK “ CID_TAPE CID_bupP CID_DRIVER 0, e 1, = 2, = 3, ! DISK MSCP ! TAPE MSCP ! DIAGNOSTIC AND UTILITIES PROTOCOL ! EXERCISER "DRIVER" SEQ 0052 tesssss MESSAGE TYPE VALUES 1 ! L MT_SEQ MT_DG MT_CRD MT_FATAL MT_TIMEOUT =0, =1, =2, = 3, = 4, ! ! ! ! ! SEQUENTIAL (FROM PORT) DATAGRAM (FROM PORT) CREDIT NOTIFICATION (FROM PORT) FATAL DEVICE ERROR (FROM "DRIVER”) COMMAND TIMEOUT (FROM “DRIVER") fssssse MSCP COMMAND PACKET OPCODES ] oP_SCC OP _ONL OP_ACC OP_RD OP_WRT : = %0'4’, = %0'11’, = %0'20', = %0'41’', = %0'42', = %0'177', = %0'200', OP _MSK OP_END ! ! ! ! ! SET CONTROLLER CHARACTERISTICS COMMAND ONLINE COMMAND ACCESS COMMAND READ COMMAND WRITE COMMAND ! OPCODE MASK ! ENDCODE DESIGNATOR tssssss DUP COMMAND OPCODES ] ] OP_ESP OF _SND = %0'2', = %0'4’', ! EXECUTE SUPPLIED PROGRAM ! SEND DATA !sss444 MSCP COMMAND MODIFIERS ] ] MC_EXP MD_CMP = %0’ 300000’ , = #%0'40000', ! EXPRESS REQUEST ! COMPARE !asssss MSCP ERROR LOG MESSAGES - FORMAT FIELD CODES ] FM_CNT 1 = 0, FM_BAD FM_SDE =1, = 4, ! CONTROLLER ERROR ! HOST MEMORY ACCESS ERROR ! SMALL DISK ERROR !#4ss4s CONTROLLER FLAGS (IN SET CONTROLLER CHARACTERISTICS COMMAND) ] H CF_MSC CF_THS = %0'100', = %0'20', ! ENABLE MISCELLANEOUS ERROR LOG MESSAGES ! ENABLE THIS HOST'S ERROR LOG MESSAGES !assass UNIT FLAGS (IN ONLINE RESPONSE) ] ] 1ssas4s UF _WPH STATUS ] = #%0'20000', 7 EVENT CODE DEFINITIONS ST_SUC [] f42s08s ] 16480088 END MESSAGE = %0'3’, = %0'10', RC2S RCIP RCSA — ! SUCCESS ! UNIT OFFLINE ! DATA ERROR FLAGS EF _BBR b h = %0'0’, ST_OFL ST_DAT ] ! WRITE PROTECT (HARDWARE) LITERALS = #%0°'200', ! BAD BLOCK REPORTED ’ =0, =1, ! ! IP REGISTER SA REGISTER e b Leadbcees L ATisha ciasies 7 S SEQ 0053 SA REGISTER BIT DEFINITIONS SA_S1 SA_S2 SA4_S3 SA_S4 SA_ERR SA_INT SA_GO ’ : %0'004000° , ! %0’ 020000, «0'040000° , ] r %0°'010000' , MEMORY KTPDRO KTPDR1 KTPDR2 KTPDR3 KTPDR4 KTPDRS KTPDR6 KTPDR?7 KTPARO KTPAR1 KTPAR2 KTPAR3 KTPAR4 KTPARS KTPAR6 KTPAR7 MMRO MMR3 : : VvV & 3 4 %0' 100000’ , ! ERROR INDICATOR ! INTERRUPT ENABLE DURING INITIALIZATION ! STEP 1 READ BITS %0°'000001', MANAGEMENT STEP 1 STATUS BIT %0 000200 , INITIALIZATION SEQUENCE READ MASKS S1_MASK . %0'176000' , 52 _MASK = %0'174377', = %0'174377', S3_MASK S4 _MASK = %0' 174000’ , sassea ! ! GO BIT TO START FIRMWARE ! -8 ' vV ! § 3 4 (KT-11) REGISTER LOCATIONS %0’ 172300, ®Q'172302°, 0172304, %0'172306°, %0'172310°, %0'172312', ! PAGE DESCRIPTOR REGISTERS ! PAGE ADDRESS REGISTERS ! ! MEMORY MANAGEMENT REGISTER 0 MEMORY MANAGEMENT REGISTER 3 ! PLATTER IS PRESENT IN CONTROLLER %0'172314°, %0'172316°', %0'172340', 0172342, u0'172344" , %0'172346" , %0'172350', %0'172352", %0'172354", 0172356, %0'177572*, %0 172516’ , tesssss LITERALS FOR READABILITY YES NO TRUE FALSE SUCCESS FAILURE FOUND NOT_FOUND PRZSENT NOT_PRESENT UNPROTECTED PROTECTED ONLINE ] OFFLINE ALL _ONES =1, =0, ° 3. =0, * 1, =0, o =0, - 1, = 0, - 1, =0, =1, = 0, = #0° 177777, fesssse CLOCK FLAGS FOR CLK_TYPE NO_CLOCK =0, - P_CLOCK ot ! PLATTER IS NOT PRESENT IN CONTROLLER ! ! PLATTER HAS UNPROTECTED CUSTOMER LBN'S PLATTER HAS PROTECTED CUSTOMER LBN'S & FIELDS E @ jAd m o 80888000000 RR AR 0000000000 000000000000 ‘4 - re MNeorove va s 100000000000 00000000000008 0000000000000 00000 00000000000 000000000000000000000000s tesssss HARDWARE P-TABLE FIELDS HWP_FIELDS = SET HWP_IP_ADDR HWP_JECTOR HWP_BR _LEVEL H“p-PL“Y HWP_PLAT _ADDR ?:S-PLAT-CP = [0, O, 16, 0], = [1, 0, 16, 0], = [2, 0, 16, O], s = [3. (3, 0. 0, 160 0]. 8, 0], = [3, 15, 1, 0] ! IP ADDRESS '! VECTOR ADDRESS ! BUS REQUEST LEVEL PLATTER (ALL FIELDS) PLATTER ADDRESS (MSCP UNIT NO.) !' PROTECT CUSTOMER DATA BIT !! !! K . . - E ssssss U/Q PORT COMMUNICATION AREA HEADER FIELDS COM_FIELDS = SET ADAP _CH K = CTMD_INT RSP_INT TES, [1, 8, = [2, 0, = (3, 0, 8, 0], 16, 0], 16, 0] !' ADAPTER CHANNEL NUMBER FOR PURGES ' COMMAND RING INTERRUPT ! RESPONSE RING INTERRUPT tesssss CONTROLLER STATUS TABLE (CST) FIELDS o C_FIELDS = SET IP_ADDR VEC_ADDR STATE BR_LEV [l = = = = U_ONT = (2, 8, 8, 0], P1_ALL P1_ADDR P1_UNIT P1_STAT = (3, 0, 16, 0], = (3, 0, 8, 0], - (3, 8, 5, 0], - (3, 13, 1, 0], P1_PRES : : : 2 ! [0, 0, 16, 01, (1, 0, 9, 0], 1, 1S, 1, 01, [2, 0, 8, 0], - P1_PROT « (3, (3, 14, 15, 1, 01, 1, 0] '! IP ADDRESS !' VECTOR ADDRESS '! CONTROLLER STATUS ' BUS REQUEST LEVEL ' NUMBER OF TESTABLE UNITS UNDER THIS CONTROLLER '! '! !' '! ' '' 1ST 1ST 1ST 1ST 1ST PLATTER PLATTER PLATTER PLATTER PLATTER (ALL FIELDS) ADDRESS (MSCP UNIT NO.) UNIT NUMBER (DRS UNIT NO.) STATUS BIT PRESENT BIT 1ST PLATTER PROTECT CUSTOMER DATA BIT THE REMAINING C_FIELDS ARE NOT REFERENCED DIRECTLY, BUT RATHER WITH QOFFSETS AND MACROS. P2 _ALL : P2 _ADDR : 2 : ! P2_UNIT P2 _STAT P2 _PRES P2 _PROT THE FIELDS ARE DEFINED HERE ONLY FOR DOCUMENTATION PURPOSES. = [3, 0, (4, 0, 16, 0], H = = = = (4, (4, (4, [4, 8, S, 0], 13, 1, 0], 14, 1, 0], 15, 1, 0], ! $ : ! = - 8, 0], ! 2ND 2ND 2ND 2ND 2ND 2ND PLATTER PLATTER PLATTER PLATTER PLATTER PLATTER (ALL FIELDS) ADDRESS (MSCP UNIT NO.) UNIT NUMBER (DRS UNIT NO.) STATUS BIT PRESENT BIT PROTECT CUSTOMER DATA BIT SEQ 0054 Mieio o to 1o e IS IS re rm e I i@ e e e e e ve e SEQ 92055 P3 _ALL P3_ADDR P3_UNIT P3_STAT P3_PRES P3_PROT =[5, = [S, = (S, = (5, =[S, =[5, P4 _ALL = P4 _ADDR P4 _UNIT P4 _STAT P4 _PRES P4 _PROT TES. sasese [6, 0, = (6, - (6, * = = 0, 16, 0], 0, 8, 0], 8, 5, 0], 13, 1, 0], 14, 1, 0], 15, 1, 0], [6, [6, (6, ! ! ! ! ! ! 16, 0], 0, 8, 8, S, 13, 14, 15, PLATTER PLATTER PLATTER PLATTER PLATTER PLATTER (ALL FIELDS) ADDRESS (MSCP UNIT NO.) UNIT NUMBER (DRS UNIT NO.) STATUS BIT PRESENT BIT PROTECT CUSTOMER DATA BIT ! 4TH PLATTER (ALL FIELDS) 4TH 4TH ! 4TH ! 4TH ? 4TH 0], ! 0], ! 1, 0], 1, 0], 1, 3RD 3RD SRD SRD 3RD 3RD 0) PLATTER PLATTER PLATTER PLATTER PLATTER ADDRESS (MSCP UNIT NO.) UNIT NUMBER (DRS UNIT NO.) STATUS BIT PRESENT BIT PROTECT CUSTOMER DATA BIT MSCP ENVELOPE FIELDS (NOTE: THE FIRST TWO WORDS OF AN MSCP ENVELOPE (ITS BASE ADDRESS) CONTAIN THE ENVELOPE'S OWN DESCRIPTOR, MESSAGE BODY (TEXT « 0). RATHER THAN THE THE MESSAGE BODY BEGINS AT WORD 4. FIELDS = SET HEADER FIELDS ENV_LO ENV_HI ENV_UV = [0, 0, 16, O], = [1, 0, 16, 0], 53, 8 &, 0)s ENV_Q KL ENV_D MSGLEN o = {1, 15. 1. O). [2, 0, 16, O], MSGTYP = (3, CREDITS CONNID B 8, 9}, = (3, 0, 4, 0], = [3, 4, 8, 4, 0], 8, 0], ! ENVELOPE DESCRIPTOR ENVELOPE DESCRIPTOR ! ENVELOPE DESCRIPTOR : ENVELOPE DESCRIPTOR ENVELOPE DESCRIPTOR ' ENVELOPE DESCRIPTOR H MESSAGE LENGTH H CREDITS ! MESSAGE TYPE : CONNECTION ID ' (LO ORDER) (HI ORDER - ALL FIELDS) (HI ORDER UNIBUS BITS) (HI ORDER Q-BUS BITS) FLAG BIT OWNERSHIP BIT GENERIC COMMAND PACKET AND END PACKET FILEDS CRN_LO CRN_HI PL _ADDR OPCODE MODIFY READ, WRITE, = (4, 0, = [S, 0, = [6, 0, = [8, 0, = [9, 0, = [10, O, = [11, O, BUF_1 = [13, 0, BUF_3 BUF _4 BUF _S LBN_L LBN_H ! COMMAND REF NUMBER (LO ORDER) : COMMAND REF NUMBER (HI ORDER) ! PLATTER ADDRESS (MSCP UNIT NUMBER) : OPCODE AND ENDCODE ! COMMAND MODIFIERS AND ACCESS COMMAND FIELDS (FOR COMMAND AND END PACKETS) BC_LO BC_HI BUF _0 16, 0], 16, 0], 16, 0], 8, 0], 16, 0], = = [12, [1S, = [16, = = = [17, [18, [19, 0, 0, 0, 0, 0, 0, 16, O], 16, 0], 16, 0], 16, 0], 16, 16, 16, 16, 16, O], 0], 0], 0], 0], ! BYTE COUNT (LO ORDER, ! BYTE COUNT (HI ORDER) ! I/0 BUFFER DESCRIPTOR ! $ : : ! ! LOGICAL BLOCK NUMBER (LO ORDER) LOGICAL BLOCK NUMBER (HI ORDER) SEQ 0056 SET CONTROLLER CHARACTERISTICS COMMAND FIELDS C_FLAGS = [11, 0, 16, 0], CONTROLLER FLAGS 16, 0], DEVICE -DEPENDENT PARAMETERS ONLINE COMMAND FIELDS DDPAR DUP COMMAND FIELDS DBC_LO DBC_HI DBUF _0 DBUF _1 DBUF _2 DBUF _3 _4 DBUF DBUF _S OBUF _0 O0BUF _1 OBUF _2 OBUF _3 OBUF _4 O0BUF _S 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, (23, 0 0 © 0 0 0 0 0 0 0 0 0 0 0 BYTE COUNT (LO ORDER) BYTE COUNT (HI ORDER) BUFFER DESCRIPTOR OVERLAY BUFFER DESCRIPTOR ERROR LOG MESSAGE FIELDS FORMAT EVENT susC MA_LO MA_HI TES, (8, o, 8, 0], (9, S, (16, 0, (17, 0, 11, 0], 16, 0], 16, 0] ;tttttt RETURN PACKET (RETPKT) FIELDS (SIMILAR, BUT NOT IDENTICAL, ’ ’ FORMAT EVENT CODE SuB-CODE HOST MEMORY ADDRESS (LO ORDER) HOST MEMORY ADDRESS (HI ORDER) TO MSCP ENVELOPE FIELDS) RP_FIELDS = SET COMMON TO ALL RETURN PACKETS FROM DISK MSCP MESLEN CTLR MESTYP CONID CR"_LO CRF _HI PLAT CMDMOD ENDCOD FLAGS STATUS STSCOD SusCoD 16, 01, 4, 0], 4, 0], 8. o]' 16, 0], 16, 0], 16, 0], 16, 0], 8. o]' 8, 0], 16, 0], 5, 0], 11, 0], MESSAGE LENGTH CONTROLLER NUMBER (CREDITS OVERWRITTEN) MESSAGE TYPE CONNECTION ID COMMAND REFERENCE NUMBER (LO ORDER) COMMAND REFERENCE NUMBER (HI ORDER) PLATTER ADDRESS (MSCP UNIT NUMBER) COMMAND MODIFIERS END CODE FLAGS STATUS AND SuB-CODE STATUS CODE SuB-CODE SEQ 0057 READ, ! ! ! ! 1 : , WRITE, BCNT _LO BINT_HI BUFF _0 BUFF _1 BUFF _2 BUFF _3 BUFF _4 BUFF _S BBLK_LO BBLK _HI CBCNT_LO CBCNT_HI LBN_LO LBN_HI AND ACCESS COMMAND RETURN PACKETS = = = = = = = [8, 0, 16, 0], (9, 0, 16, 0], (10, 0, 16, 0], [11, 0, 16, 0], [12, 0, 16, 0], [13, 0, 16, 0], (14, 0, 16, 0], = [15, 0, = [16, 0, = [17, 0, = (18, 0, = [19, 0, = (20, O, = [21, 0, ! BYTE COUNT (LO ORDER) ! BYTE COUNT (HI ORDER) ! I70 BUFFER DESCRIPTOR ! ! ! ! 16, 0], 16, 0], 16, 0], 16, 0], 16, 0], 16, 0], 16, 0], ! ! ! ! ! ! ! FIRST BAD BLOCK (LO ORDER) FIRST BAD BLOCK (HI ORDER) BYTE COUNT FROM CMD PACKET (LO ORDER) BYTE COUNT FROM CMD PACKET (HI ORDER) LOGICAL BLOCK NUMBER (LO ORDER) LOGICAL BLOCK NUMBER (HI ORDER) = [9, 0, 16, 0], = (20, O, 16, O], = [21, 0, 16, 0] ! ! ! UNIT FLAGS UNIT SIZE (LO ORDER) UNIT SIZE (HI ORDER) ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! NUMBER OF NUMBER OF NUMBER OF NUMBER OF NUMBER OF NUMBER OF NUMBER OF NUMBER OF MEGABYTES NUMBER OF NUMBER OF MEGABYTES NUMBER OF NUMBER OF NUMBER OF NUMBER OF NUMBER OF NUMBER OF NUMBER OF ! ! ! ! NUMBER OF 6-SYMBOL ECC ERRORS NUMBER OF 7-SYMBOL ECC ERRORS NUMBER OF 8-SYMBOL ECC ERRORS ECC-FIELD-ONLY ERRORS UNIT ONLINE RETURN PACKET U_FLGS USIZ_LO USIZ_HI TES. ] !esssss STATISTICS TABLE (TALLY) FIELDS U T_FIELDS = SET READ_LO READ _HI WRIT_LO WRIT_HI SEEK_LO ER_SFT ECC_1 ECC_2 ECC_3 ECC_4 = = = = = = = = = = = = = = = = = = [0, 0, 16, 0], [1, 0, 16, 0], (2, 0, 16, 0], [3, 0, 16, 0], [4, 0, 16, 0], [S5, 0, 16, 0], [€, 0, 16, 0], (7, 0, 16, 0], [3, 0, 16, 0], (9, 0, 16, 0], [10, O, 16, O], (11, 0, 16, 0], [12, 0, 16, 0], (13, 0, 16, 0], [14, 0, 16, 0], [15, 0, 16, 0], (16, 0, 16, 0], [17, 0, 16, 0], [18, 0, 16, 0], ECC_6 ECC_7 ECC_8 $EC_ONLY = = = = [20, (21, [22, [23, SEEK_HI BR_LO BR_HI MB_READ BW_LO BW_HI MB_WRIT ER_HRD ER_LOG ECC_S S, = [19, 0, O, 0, 0, 0, 16, 0], 16, 16, 16, 16, 0], O], 0], 0] READS (LO ORDER) READS (HI ORDER) WRITES (LO ORDER) WRITES (HI ORDER) DM EXERCISER SEEKS (LO ORDER) DM EXERCISER SEEKS (HI ORDER) BYTES READ (LO ORDER 1000) BYTES READ (HI ORDER 1000) READ BYTES WRITTEN (LO ORDER 1000) BYTES WRITTEN (HI ORDER 1000) WRITTEN HARD ERRORS ERROR LOG MESSAGES DM SOFT ERRORS 1-SYMBOL ECC ERRORS 2-SYMBOL ECC ERRORS 3-SYMBOL ECC ERRORS 4-SYMBOL ECC ERRORS ! NUMBER OF 5-SYMBOL ECC ERRORS SEQ 0058 tesssss DRIVER CONTROLLER TABLE (DCT) FIELDS ' OC_FIELDS = SET WORDO CRING_CNT IG_INT STAT SA_SAVE RR_BEG RR_END CR_BEG CR_END RR_POLL CR_POLL CR_NEXT TES, = = = = = = = = = = = = (0, (0, [0, [0, [1, [2, [3, [4, [5, [6, (7, [8, 0, 16, 0], 0, 8, 0], 14, 1, 0], 15, 1, 0], 0, 16, 0], 0, 16, 0], 0, 16, 0], 0, 16, 0], 0, 16, 0], 0, 16, 0], 0, 16, 0], 0, 16, 0] ! ! ! ! ! ! ! ! ! ! ! ! ALL FIELDS IN WORD 0 NUMBER OF SLOTS IN CRING NOT YET RETURNED TO HOST IGNORE INTERRUPT BIT ONLINE / OFFLINE STATUS SA REGISTER SAVE WORD FIXED ADDRESSES OF START AND END OF EACH RING Vv ADDR OF NEXT RRING SLOT TO BE POLLED ADDR OF NEXT CRING SLOT TO BE POLLED ADDR OF NEXT AVAIL CRING SLOT tesssss DM EXERCISER COMMUNICATION AREA (DM_CoMM) FIELDS ' DMC_FIELDS = SET FPT_ACC HOST_ACC = = [24, [25, 0, 0, 16, 16, 0], 0] ! : ! ! ! FRONT PANEL TEST ACCESS WORD HOST ACCESS WORD THE REMAINING DMC_FIELDS ARE REFERENCED BY ADDRESS POINTERS. ARE DEFINED HERE ONLY FOR DOCUMENTATION PURPOSES. THE FIELDS ! ' ' ! : DM_P1 DM_P2 OM_P3 = [0, = (1, = (2, = (3, P1_SEEKS P1_READS P1_WRITES P1_SOFT = = = = (4, 0, (5, 0, [6, 0, (7, 0, DM_P4 0, 0, 0, 0, 16, 16, 16, PLATTER ADDRESSES (UNIT PLUG 0], ' ' ' ! 16, 0], 16, 0], 16, 0], 16, 0], ' ' ' ' 1ST 1ST 1ST 1ST 1ST 16, 0], 0], 0], NUMBERS) OF DISKS TO BE DM-EXERCISED = [9, 0, 16, 0], . ] 2ND PLATTER P2_READS P2_WRITES P2_SOFT P2_HARD = = = = (10, 0, (11, 0, [12, 0, (13, 0, 16, 0], 16, 0], 16, 0], 16, 0], ' ! ! ! 2ND 2ND 2ND 2ND PLATTER PLATTER PLATTER PLATTER ' ' P3_SEEKS P3_READS = (14, 0, = [15, 0, 16, 0], 16, 0], ' ' 3RD 3RD 3RD 3RD 3RD PLATTER PLATTER PLATTER PLATTER PLATTER ' ' ' ] ' P3_WRITES P3_SOF T P3_HARD = = = P4_SEEKS = [19, 0, 16, 0], ' 4TH PLATTER P4_SOFT = ' ' ' P4_READS P4_WRITES ' P4 _HARD ES. ' [16, 0, (17, 0, [18, 0, 16, 16, 16, 0], 0], 0], = = [20, (21, 0, 0, 16, 16, 0], 0], = [23, 0, 16, 0] [22, 0, 16, 0], ' ' ' ' ' ' 4TH 4TH 4TH 4TH PLATTER PLATTER PLATTER PLATTER & ® % 2 ' % 0], B 16, R 0, > (8, ' ' ' ' ] A] P2_SEEKS = A ' P1_HARD B ] B ' PLATTER PLATTER PLATTER PLATTER PLATTER U ' ' ' ' @ ] NO. NO. NO. NO. NO. OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS NO. NO. NO. NO. NO. OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS NO. NO. NO. NO. NO. OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS NO. NO. NO. NO. NO. OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS SEQ 0059 ] tasssss BLOCK SEQUENCE TABLE (BST) FIELDS 0 8_FIELDS = SET SECTOR TRACK = [0, = [1, O, 0, 16, O], 16. 0] ! ! SECTOR TRACK ! ! LOW-ORDER 16 BITS HIGH-ORDER U/Q BITS ! DEFINE ALL BITS 1] 'ssssss I/0 BUFFER DESCRIPTOR FIELDS (BUFF_DESC) ] BD_FIELDS = SET BD_LO BD_HI TES, = = [0, O, [1, 0, 16, 16, O], O] ] t#ss4xk RC25S REGISTER FIELDS B RC_REG = SET ¥E§ALL = [0, 16, O] T Ty T T T P P YT T T ' * : MACROS . ! L ITITIIIIIIIY]Y * L T T T YT T I I I TTITTIIIIIIY]y ' MACRO ] tassss% ALL FIELDS OF A WORD Kl ] ALLBIT = 0, 16, 0%, ! ALL FIELDS tasxsss CST FIELDS C(WORDS 3 - 6) ] P_ADDR P_UNIT P_STAT P_PRES P_PROT = 0, 8, 0%, =8, 5, 0%, = 13, 1, 0%, = 14, 1, 0%, = 15, 1, 0%, tesssss BIT TEST 0 BIT_TST (ADDR. EXPECTED) = (IF (.ADDK AND EXPECTED) EQLU EXPECTED THEN TRUE ELSE FALSE ] taaasss RC25 )%, WRITE ' WRT_RC25 (0, FIELDNAM, IMAGE) = BEGIN LOCAL RC_REG; RC_REG <%wFIELDEXPAND (FIELDNAM)> = IMAGE; (figEZS_ADDR + (SUPVAL % 0)) = .RC_REG; E H ! PLATTER ADDRESS (MSCP UNIT NO.) ! PLATTER UNIT NUMBER (DRS UNIT NO.) ! PLATTER STATUS BIT ! PLATTER PRESENT BIT ! PLATTER PROTECTION BIT SEQ 0060 1osd sttt ddddtddbtd bbbt bbdbdbbbbddbtbdbbbdbbb bbb tbbbdbbbbdbbbbbbbbbbbbbbbdbbis s * : STRUCTURES * ' * lesddtdddbddddbdbddbbbtdbddbddbbddbbhbbbhbbbbbbbbbbbbbbbbbbbb bbb bbb dbbbbb bbbtk ' ] tesssss RC2S ACCESS ALGORITHM 4 STRUCTURE RC25 (0, P, S, E] BEGIN = LOCAL RC_REG; RC_REG = .(RC25 + #UPVAL * 0) <0, %BPVAL, RC_REG END ‘Po S €>; 0>; SEQ 0061 CZRCD1 14-Jun-1985 09:35:23 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 - 1 0001 0002 0003 0004 0005 0006 0007 0043 0044 0045 0046 1535 s n h e et e e e e e e h et et et et e e e e et et et et s e e e O O O O O 14-Jun-1985 09:28:52 MODULE CZRCD1 ( STITLE VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 ‘'CZRCDBO RC25 DISK EXERCISER' IDENT = 'V02.0', QDDRESSIMB_HODE (ABSOLUTE) BEGIN %SBTTL ‘'PROGRAM HEADER’ LIBRARY ‘CZRCDL'; REQUIRE 'BLSMAC.REQ'; LITERAL DS$NBR_OF _TESTS = 1; ! ! RC25 EXERCISER GLOBAL LIBRARY DIAGNOSTIC SUPERVISOR LIBRARY ! NUMBER OF TESTS IN THIS DIAGNOSTIC EQUALS; POINTER (ALL); + THE PROGRAM HEADER IS THE INTERFACE BETWEEN THE DIAGNOSTIC PROGRAM AND THE SUPERVISOR. THE ARGUMENTS FOR THE “HEADER” MACRO ARE: PROGRAM NAME, REV, PATCH, LONGEST TEST TIME, TYPE (WHERE O = SEQUENTIAL DIAGNOSTIC, 1 = EXERCISER), AND, OPTIONALLY, BE SET WHEN STARTING THE DIAGNOSTIC. HEADER (#ASCII' CZRCD', #ASCII'B', #ASCII'O’, 65535, THE PROCESSOR PRIORITY TO 1, PRIOO); * THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST. THE LITERAL “DS$NBR_OF _TESTS” REPRESENTS THE NUMBER OF TESTS (1) IN THIS PROGRAM. DISPATCH (DS$NBR_OF _TESTS); SEQ 0062 Page 1 (1 CZRCD1 CZRCDBO RC25 DISK EXERCISER GLOBAL DATA SECTION v02.0 e e e e e s “SBTTL et e (e e e e et e PSECT GLOBAL = $FFF$ (READ, NOWRITE, EXECUTE, LOCAL, CONCATENATE); GLOBAL PATCH ! ! : se e 1 e e e e e et e e e e 1 e R R1 S R S S S S 'GLOBAL DATA SECTION' THE GLOBAL DATA SECTION CONTAINS ALL DYNAMICALLY-MODIFIED DATA. ! H ! : ! ! : RS S VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 ‘e ! PR 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 ' : ! ! ! ! : H ! H ] CPT : VECTOR [100, WORD], : VECTOR [MAX_UNITS, BYTE], ! PATCH AREA CURRENT PASS TESTING (YES / NO) PER UNIT CST : BLOCKVECTOR [MAX_CTLR, CST_LEN, WORD] FIELD (C_FIELDS), RUN-TIME CONTROLLER STATUS TABLES CST_ADDR : REF BLOCK [CST_LEN, WORD]) FIELD (C_FIELDS), DCT CONTROLLER STATUS TABLE ADDRESS OF “CURRENT” CONTROLLER : BLOCKVECTOR [MAX_CTLR, DCT_LEN, WORD] FIELD (DC_FIELDS), DRIVER CONTROLLER TABLES DCT_ADDR : REF BLOCK [DCT_LEN, WORD] FIELD (DC_FIELDS), ADDRESS OF “CURRENT” DRIVER CONTROLLER TABLE RC25_ADDR : REF RC2S5 FIELD CRC_REG), DEVICE ADDRESS OF "CURRENT” CONTROLLER IRC25_ADDR : REF RC2S FIELD (RC_REG), DEVICE ADDRESS OF INTERRUPTI CONTROLLER NG DM_COMM : BLOCKVECTOR [MAX_CTLR, DMC_LEN, WORD] FIELD (DMC_FIELDS), DM EXERCISER COMMUNICATION AREA (LINK TO FRONT PANEL TEST) DMC_ADDR : REF BLOCK [DMC_LEN, WORD) FIELD (DMC_FIELDS), ADDRESS OF CURRENT CONTROLLER'S DM EXERCISER COMMUNICATION AREA RP_SAVE : VECTOR [MAX_CTLR & RPS_LEN, BYTE, SIGNED], RETURN PACKET SAVE AREA RPS_X1 : WORD, ! STARTING INDEX OF CURRENT CONTROLLER'S RP_SAVE AREA RPS_X2 : WORD, ! ENDING INDEX OF CURRENT CONTROLLER'S RP_SAVE AREA OUTC_LIST : VECTOR [MAX_CTLR & OUTC_CNT, BYTE, SIGNED], OUTSTANDING COMMAND LIST (CONTAINS MSCP ENVELOPE INDECES) OUTC_TIMR : VECTOR [MAX_CTLR & OUTC_CNT, WORD], OUTSTANDING COMMAND TIMERS OCL_X1 - : WORD, ggkflTaggDINDEX OF CURRENT CONTROLLER'S OUTSTANDING COMMAND AREA L_ : 0 ENDING INDEX OF CURRENT CONTROLLER'S OUTSTANDING COMMAND AREA TALLY : VECTOR [MAX_UNITS & TALLY_LEN, WORD] FIELD CT_FIELDS), STATISTICS TABLES T_ADDR : REF BLOCK [TALLY_LEN, WORD) FIELD (T_FIELDS), ADDRESS OF STATISTICS TABLE (TALLY) FOR CURRENT UNIT MSCP_ENV : BLOCKVECTOR [ENV_CNT, ENV_LEN, WORD) FIELD (E_FIELD S), MSCP ENVELOPE POOL ENV_USE : VECTOR [ENV_CNT, BYTE, SIGNED], MSCP ENVELOPE POOL ALLOCATION TABLE RETPKT : BLOCKVECTOR [RP_CNT, RP_LEN, WORD) FIELD CRP_FIELDS), RETURN PACKET POOL RP_USE : VECTOR [RP_CNT, BYTE, SIGNED), RETURN PACKET POOL ALLOCATION TABLE ' RP_INDX : WORD, ! CURRENT RETURN PACKET INDEX RP_ADDR : REF BLOCK [RP_LEN, WORD) FIELD (RP_FIELDS), CURRENT RETURN PACKET ADDRESS BUFF _DESC : BLOCKVECTOR [MAX_BUF _CNT, DESC_LEN, WORD] FIELD (BD_FIELDS), TABLE OF I/0 BUFFER DESCRIPTORS SEQ 0063 Pa 3 (3) CZRCD1 CZRCDBO RC25 DISK EXERCISER GLOBAL DATA SECTION v02.0 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 0 1 et et s e e e i e et e (e (e e et et e e e e (e e b e b e (e e et e e (e e b e b e e (e e e e e e et e 1617 ! ! 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 VAX-11 Bliss-16 V4.0-579 USER$1: [AZTEC.CZRCDB JCZRCD1. SRC; 6 BUFF_OWN : VECTOR [MAX_BUF _CNT, BYTE, SIGNED], I70 BUFFER OWNERSHIP (CONTROLLER NUMBER) I00Q : VECTOR [IODQ_LEN, BYTE], I/0 DONE QUEUVE - CIRCULAR QUEVE OF RETPKT INDECES IODQ_IN : WORD, I70 DONE QUEUE IN POINTER I0ODQ_OUT : WORD, I/0 DONE QUEUE OUT POINTER ENTRY_REASON : BYTE, HOW CURRENT PASS WAS INVOKED T_FLAG : BYTE, EOP_FLAG : BYTE, MEM_MGMT : BYTE, IIP_FLAG : BYTE, CCTLR : WORD, CPLAT : WORD, CUOFF : WORD, CTLR_CNT : WORD, DUR : VECTOR [MAX_UNITS, BYTE], QIO : VECTOR [MAX_CTLR, BYTE], MEM_SIZE : WORD, FREE_MEM_ADDR, BUFF _SIZE : WORD, NUM_BUFF : WORD, CLK_TYPE : WORD, CLK_HERTZ : WORD, CLK_CSR, CLK_VECTOR, HOURS : WORD, MINUTES : WORD, SECONDS : WORD, TICKS : WORD, ST_CODE : WORD, S8_CODE : WORD, STEP : WORD, OF _RC : SIGNED WORD, SA_REG : WORD, CRN : WORD; ONE SECOND TIMING FLAG END-OF -PASS FLAG MEMORY MANAGEMENT FLAG INITIALIZATION-IN-PROGRESS FLAG NUMBER OF “CURRENT” CONTROLLER CURRENT PLATTER ADDRESS (MSCP UNIT NUMBER) CST OFFSET FOR CURRENT UNIT TOTAL NUMBER OF CONFIGURED CONTROLLERS DROP UNIT REASON NUMBER OF OUTSTANDING QIOS PER CONTROLLER AVAILABLE MEMORY (IN WORDS) UP TO 28K START OF FREE MEMORY BELOW 28K SIZE (BYTES) OF AN I/0 BUFFER NUMBER OF I/0 BUFFERS TYPE OF CLOCK ON SYSTEM (0 = NONE, -1 = L-CLOCK, 1 = P_CLOCK) CLOCK HERTZ RATE CLOCK CSR ADDRESS CLOCK VECTOR ADDRESS ELAPSED TIME - HOURS, MINUTES, SECONDS, TICKS CURRENT STATUS CODE CURRENT SUB-CODE CURRENT STEP IN HARD_INIT OFFSET (0 OR 2) TO READ IP OR SA STORAGE FOR SA REGISTER READS AND WRITES NON-EXISTENT MEMORY TRAP INDICATOR COMMAND REF NUMBER OF LAST COMMAND SENT THE ERRTBL MACRO IS REQUIRED WHETHER OR NOT THE PROGRAM USES THE “ERROR” MACRO. THE ERRTBL MACRO EXPANDS INTO FOUR WORDS THAT ARE USED BY THE RUNTIME SERVICES DURING AN ERROR CALL: ERROR TYPE, ERROR NUMBER, ADDRESS OF ERROR MESSAGE AND ADDRESS OF MESSAGE BLOCK. THERE MUST BE ONLY ONE ERRTBL IN ANY PROGRAM., THIS SECTION IS NOT OPTIONAL. ERRTBL; SEQ 0064 Page (3 CZRCD1 CZRCDBO RC25 DISK EXERCISER GLOBAL TEXT SECTION vo2.0 e e s te e e e e e e e e e THE GLOBAL TEXT SECTION CONTAINS ALL MESSAGES OUTPUT TO THE OPERATOR DURING THE OPERATION OF THE EXERCISER. THIS INCLUDES HARDWARE AND SOFTWARE DIALOG PROMPTS, ERROR MESSAGES, AND DROP UNIT MESSAGES. ELOOAL BIND iuuu HARDWARE DIALOG 1) e e e e HWQ1 = UPLIT (#ASCIZ'IP ADDRESS'), HWQ2 = UPLIT (#ASCIZ'VECTOR'), ' HWQ3 HWQ4 HWQS HWQ@6 = = = = UPLIT UPLIT UPLIT UPLIT (%ASCIZ'BR LEVEL'), (#ASCIZ'PLATTER ADDRESS (UNIT PLUG)'), (#ASCIZ'ALLOW WRITES TO CUSTOMER DATA AREA ON THIS PLATTER'), (®ASCIZ's+ WARNING - CUSTOMER DATA AREA MAY BE OVERWRITTEN! ... CONFIRM'), tesssss SOFTWARE DIALOG e e e e e e e e e e B e e 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 %SBTTL 'GLOBAL TEXT SECTION’ H SWQ1 = UPLIT (#ASCIZ'ERROR LIMIT (O FOR NO LIMIT)'), SWQ2 = UPLIT (#ASCIZ'TRANSFER LIMIT IN MEGABYTES (0 FOR NO LIMIT)'), SWA3 = UPLIT (#ASCIZ'SUPPRESS PRINTING ERROR LOG MESSAGES'), SWQ4 = UPLIT (#ASCIZ'RUN DM EXERCISER INSTEAD OF MULTI-DRIVE SUBTEST'), SWQS = UPLIT (#ASCIZ'RANDOM SEEK MODE'), SWQ6 = UPLIT (#ASCIZ'STARTING TRACK'), SWQ7 = UPLIT (#ASCIZ'ENDING TRACK'), SW@8 = UPLIT (®ASCIZ'READ-COMPARES PERFORMED AT THE CONTROLLER'), SWQ9 = UPLIT (#ASCIZ'WRITE ONLY'), SWQ10 = UPLIT (#ASCIZ'WRITE-COMPARES PERFORMED AT THE CONTROLLER'), SWQ11l = UPLIT (#ASCIZ'CHECK ALL WRITES AT HOST BY READING'), SWQ12 = UPLIT (#ASCIZ'USER-DEFINED DATA PATTERN'), SWQ13 = UPLIT (wASCIZ'SELECT PRE-DEFINED DATA PATTERN (O FOR SEQUENTIAL SELECTION)'), SWQ14 = UPLIT (#ASCIZ'NUMBER OF WORDS IN DATA PATTERN (16 MAXIMUM)‘), SWQ15S = UPLIT (#ASCIZ'PATTERN VALUE'), SWM1 = UPLIT (®ASCIZ'THE REMAINING QUESTIONS ONLY APPLY TO UNPROTECTED PLATTERS.'), NULL = UPLIT (#ASCIZ''), ! ADDED TO COVER DRS BUG (NEXT MESSAGE ALSO PRINTED) tasssss INFORMATION MESSAGES (IF ATTENDED MODE, THEN PRINTF) ' MSG_01 MSG_02 MSG_03 MSG_04 MSG_05 MSG_06 MSG_07 MSG_08 e 1705 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 ] S 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 S 1667 1668 1669 1670 1671 1672 1673 1674 B0 D 1665 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 = = = = = = = = UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT (%ASCIZ'SAPOWER DELAY - WAITINGSN'), (®ASCIZ'¥N$AABOUT TO VERIFY VECTOR %03%A(0) FOR DEVICE s06%AC0) ... ‘), (%ASCIZ'sACOMPLETED.%N'), (#ASCIZ'SNsSAINIT SUBTEST STARTSN'), (®ASCIZ'®NsSAMULTI-DRIVE SUBTEST STARTSN'), (#ASCIZ'sN$ADM EXERCISER SUBTEST STARTSN'), (#ASCIZ'SAUNIT #D2#A. - TRANSFER LIMIT REACHEDSN'), (#ASCIZ'#DS#A. BLOCKS TRANSFERRED ON UNIT #D2sA. (PLATTER #D3%A.)sN‘), tesssss CONFIGURATION ERROR MESSAGES (IF ATTENDED MODE, THEN PRINTF) ' ? CER_O1 = UPLIT (#ASCIZ'#NsADUPLICATE PLATTER ADDRESS #D3s%A. AT IP %06%A(C0)‘), CER_02 = UPLIT (wASCIZ'®NsAALREADY 4 UNITS AT IP #06%A(0)'), CER_O3 = UPLIT (WASCIZ'®NsAMORE THAN s#D1sA DIFFERENT IP ADDRESSSES'), tesssss DROP UNIT MESSAGES SEQ 0065 Page S (4) CZRCDL CZRCDBO RC2S DISK EXERCISER GLOBAL TEXT SECTION 1722 723 DUM_00 DUM_UC DUM_CE DUM_IE DUM_ME DUM_UVE 1724 1725 1726 1727 1728 1729 1730 ssssss 1731 1732 1733 1724 1735 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 17177 1778 UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT GENERAL (wASCIZ'SAUNIT #D2#A. DROPPED - '), (wASCIZ‘'®AUSER COMMANDSN' ), (wASCIZ'wACONFIGURATION ERRORSN'), (wASCIZ'SAINIT ERRORSN'), (wASCIZ'®AHARD ERROR LIMIT REACHEDSN' ), (wASCIZ'SAUNRECOVERABLE ERRORSN'), ERROR MESSAGES DEVICE FATAL (ERRDF) EGD_10 €GD_11 EGD_12 EGD_13 EGD_14 EGD_15 EGD_16 EGD_17 EGD_18 EGD_19 EGD_20 EGD_21 EGD_22 e e el el e e e e e el e e e e e e e e e e e e e e 1747 1748 1749 1750 1751 1752 1753 1754 1755 = = = = = = EGS_01 = UPLIT (wASCIZ'TOO MANY UNITS'), EGS_02 = UPLIT (wASCIZ'NEITHER P NOR L CLOCK WAS FOUND ON THE SYSTEM'), i $ = = = = = = = = = = = = = UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT (wASCIZ'REGISTER EXISTENCE TEST FAILED'), (wASCIZ'VECTOR TEST FAILED' ), (wASCIZ'BR LEVEL TEST FAILED'), («ASCIZ'INIT SEQUENCE FAILED'), (#ASCIZ'FATAL PORT / CONTROLLER ERROR'), (wASCIZ'MESSAGE RESPONSE TIMEOUT'), (wASCIZ'ONLINE FAILED'), (wASCIZ'WRITC-PROTECT CONFLICT'), (wASCIZ'ACCESS FAILED'), (wASCIZ'FATAL I/0 ERROR'), («ASCIZ'CONTROLLER TIMEOUT'), (#ASCIZ'DUP COMMAND FAILED'), (wASCIZ'DM EXERCISER TIMEOUT'), HARD (ERRHRD) . EGH_30 = UPLIT (%ASCIZ'I/0 REQUEST FAILED'), !esesss BASIC ERROR MESSAGES (PRINTB) . ' . ] ' . SYSTEM FATAL (ERRSF) EBS_O1 = UPLIT (SASCIZ'SAMORE THAN %D2%A. UNITS SPECIFIEDSN'), DEVICE FATAL (ERRDF) EBD_10 EBD_12 EBD_13 EBD_14 EBD_15 EBD_16 EBD_17 EBD_18 EBD_19 EBD_20 EBD_21 EBD_22 e e e e e e 1786 USER$1:(AZTEC.CZRCDB JCZRCD1.SRC; 6 SYSTEM FATAL (ERRSF) 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 14-Jun-1985 09:28:52 VAX-11 Blies-16 vV4.0-579 o i “"fi“.‘.fl.‘.‘“.‘".‘.‘.‘.‘.fl.‘“...l...C.'.'.0..l..‘.....'...C““.fl““““.‘“““““.’““flflflfluflfl“ vi2.0 14-Jun-1985 09:35:23 = = = = = = = = = = = = UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT (®ASCIZ'SANO RESPONSE AT ADDRESS SO6%AC0)SN'), (®ASCIZ'®AINCORRECT BR LEVEL GIVEN FOR DEVICE %06%AC0)SN'), (®ASCIZ'®ASTEP ®Di%A READ ERROR ON DEVICE ®D6%A(0)#N'), (WASCIZ'®AERROR CODE RECEIVED IN SA REGISTER OF DEVICE %06%AC0)%N'), (WASCIZ'SAFAILED TO RECEIVE END MESSAGE FROM DEVICE %06%A(0)¥N'), (WASCIZ'SAERROR IN RESPONSE TO ONLINE COMMAND FOR PLATTER sD3%A.%N'), (®ASCIZ'SAPLATTER %D3%A. IS SW WRITE-ENABLED BUT HW WRITE-PROTECTEDSN'), (®ASCIZ'AACCESS FAILED ON PLATTER ®D3%A.%N'), (®ASCIZ'SAPLATTER #D3%A. WENT OFFLINESN'), (®ASCIZ'SADEVICE w06%A(0) NOT PROCESSING COMMAND PACKETSSN'), (®ASCIZ'SAMESSAGE REJECTED BY DUP SERVER ON DEVICE %06%A(0)%N‘), (SASCIZ'®ANO RESPONSE FROM FRONT PANEL TEST EXECUTING IN DEVICE s06%ACO)SN‘), ] ! HARD (ERRHRD) - MAINLY BASED ON MSCP STATUS CODES SEQ 0066 Page 6 (4) C2RCD1 CZRCDBO RC25S DISK EXERCISER GLOBAL TEXT SECTION 177 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 al 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1230 1831 ke A, B8 S5 B0 S5 B S5 S5 G5 S5 90 S0 G5 B0 S5 G0 @0 G5 G0 S0 G0 S0 B B0 95 B0 B0 G0 G5 G0 G0 @6 S S8 S8 S0 BF G0 G0 G5 GF G5 @6 S0 G0 B9 S5 @8 S0 08 @ @s Os @ v02.0 : b 14-Jun-1985 09:35:23 14-Jun-198°5 09:28:52 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 STC_00 STC_O01 STC_02 STC_03 STC_04 STC_05 STC_06 STC_O7 STC_08 STC_09 = = = = = = = = = = UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT (wASCIZ'wASUCCESSSN'), (®ASCIZ'SAINVALID COMMANDSN'), (wASCIZ'€ACOMMAND ABORTEDSN'), (wASCIZ'SAUNIT-OFFLINESN' ), (wASCIZ'SAUNIT-AVAILABLESN'), (wASCIZ'SAMEDIA FORMAT ERROR®N'), (wASCIZ'SAWRITE-PROTECTEDSN'), (wASCIZ'<ADEVICE COMPARE ERRORSN'), (wASCIZ'wADATA ERRORSN'), (wASCIZ'$AHOST BUFFER ACCESS ERROR®N' ), EBH_31 EBH_32 EBH_34 EBM_35 EBH_36 EBH_37 EBH_38 EBH_39 EBH_40 EBH_41 EBH_42 EBH_43 = = = = = = = = = = = = STC 01, STC_02, STC 04, ETC_0S, STC 06, STC_07, STC_08, STC_09, STC_ 10, STC_11, UPLIT (wASCIZ'$AHOST-DETECTED WRITE-COMPARE ERRORSN'), UPLIT (wASCIZ'«AFAILED TO RECEIVE END MESSAGE FOR I/0 COMMANDSN'), STC_10 = UPLIT (wASCIZ'sSACONTROLLER ERRORSN'), STC_11 = UPLIT (wASCIZ'<ADRIVE ERRORSN'), !esssss EXTENDED ERROR (PRINTX) AND ERROR LOG (PRINTF) MESSAGES 3 EX_SA = UPLIT (wASCIZ'sA EX_CRN = UPLIT (#ASCIZ'«A SA: w06%A(0)%N’'), CMD REF NUM: #06%A(0)SN'), STATUS CODE: #02%A(0)%N’'), EX_SC = UPLIT (wASCIZ'®A EX_DSC = UPLIT (wASCIZ'sA DUP STATUS CODE: %D1s%A.%N'), EX_SB = UPLIT (ASCIZ'sA SUB-CODE: %04sA(0)%N‘), Ex_CMD UPLIT (#ASCIZ %A COMMAND: ‘), Ex_SCC UPLIT (SASCIZ'#ASET CTLR CHAR'), EX_ONL UPLIT (#ASCIZ'#AONLINE' ), EX_ESP UPLIT (ASCIZ'#AEXECUTE SUPPLIED PROGRAM'), EX_SND UPLIT (%ASCIZ'#ASEND DATA'), EX_RD = UPLIT (wASCIZ'%AREAD'), EX_WRT = UPLIT (®ASCIZ'SAWRITE'), Ex_CMP = UPLIT (®ASCIZ'%A-COMPARESN' ), EX_BB = UPLIT (wASCIZ'®A BAD BLOCK REPORTED: %DS%A.%N'), EX_LBN = UPLIT (#ASCIZ'%A LBN: #D5s%A.%N'), EX_CBC = UPLIT (#ASCIZ'sA BYTE COUNT IN COMMAND: #DSsA.%N'), EX_BC = UPLIT (#ASCIZ'sA ACTUAL @ OF BYTES TRANSFERRED: #DSsA.sN'), EX_BD = UPLIT (#ASCIZ'sA 1/0 BUFFER DESCRIPTOR:%07%A(0)%07%A(0)%N’ ), EX_EL = UPLIT (wASCIZ'NSAERROR LOG MESSAGE RECEIVED:®N'), PLATTER: #D3%A.%N'), EX_PA = UPLIT (#ASCIZ'sA EX_FMT = UPLIT (wASCIZ'®A EX_EVC = UPLIT (#ASCIZ'«A EVENT CODE: '), EX_HMA = UPLIT (wASCIZ'sA HOST MEM ADDR:#07#A(0)%07s ACO)SN' ), EX_03 = UPLIT (ASCIZ'w03%A(0)®N'), SEQ 0067 Page 7 (4) CZRCD1 CZRCDBO RC2S DISK EXERCISER e P, N N VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 ioooooo MISCELLANEOUS o ETIME = UPLIT (®ASC ' wD2%A:%D2%A:%D2% IZ A PLATT = UPLIT (SASCIZ'SAPLATTER #D3sA. CRLF = UPLIT (®ASCIZ'®N’'); SSBTTL e S S S 184] 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1852 1854 1855 1856 1857 e e e e e e e e 1832 1832 1834 1835 1836 1837 1838 1839 1840 GLOBAL TEXT SECTION Ll e W S0 S0 S0 G0 G0 G0 G0 S0 G0 S8 W0 G0 G0 G0 G0 B0 S5 B B8 G5 S8 B¢ e e 8 v02.0 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 'DEFAULT '), '), HARDWARE P-TABLE' THE DEFAULT HARDWARE P-TABLE CONTAINS DEFAULT VALUES OF THE TEST-DEVICE PARAMETERS. THE STRUCTURE OF THIS TABLE IS IDENTICAL TO THE STRUCTURE OF THE ACTUAL HARDWARE P-TABLES, WHICH RESIDE IN SUPERVISOR SPACE, IS USED AS A "TEMPLATE" FOR BUILDING THE P-TABLES. AND BGNHW (DFPTBL); GLOBAL HWPT _IP_ADOR : WORD INITIAL (0'172150°), HWPT _VECTOR : WORD INITIAL (w0'154‘), HWPT _BR_LEVEL : WORD INITIAL (5), HWPT _PLAT : WORD INITIAL (0); ENDHW; ! ! ! ' IP ADDRESS VECTOR ADDRESS BR LEVEL PLATTER ADDR, PROTECTON BIT SEQ 0068 Page 8 (s CZRCD1 CZRCDBO RC25 DISK EXERCISER SOFTWARE P-TABLE et Pt e S e et P 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 i873 1874 1875 1876 1877 1878 1879 s et e 1858 Pt et s el et o et e o e e " e e e e v02.0 SSBTTL 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 'SOFTWARE P-TABLE' . THE SOFTWARE P-TABLE CONTAINS VARIOUS DATA USED BY THE PROGRAM AS OPERATIONAL PARAMETERS. THESE PARAMETERS ARE SET UP AT ASSEMBLY TIME AND MAY BE VARIED BY THE OPERATOR AT RUN TIME. - BGNSW (SFPTBL); GLOBAL SWP_ERROR : WORD INITIAL (32), SWP_XFER : WORD INITIAL (2), SWP_STRACK : WORD INITIAL (0), SWP_ETRACK : WORD INITIAL (MAX_TRACK), SWP_FLAGS : BYTE INITIAL (%0'55'), SWP_DPAT : BYTE INITIAL (0), SWP_UCNT : WORD INITIAL (MAX_UDP_CNT), SWP_UDPAT : VECTOR [MAX_UDP_CNT, WORD]; ENDSW; HARD ERROR LIMIT FOR DROPPING UNIT TRANSFER LIMIT PER UNIT PER PASS STARTING TRACK ENDING TRACK FLAGS (SEE DOCUMENTATION) DATA PATTERN NUMBER USER DATA PATTERN COUNT USER DATA PATTERN SEQ 0069 Page 9 (6) CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 « 040 122 000 000 102 060 000000G 177777 0000006 000000G 006450 006464’ 000000G 000000 000000 000001 000000 000124 000000 002000 000000 003 003 000000 14-Jun-1985 09:28:52 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 * THIS TABLE IS USED BY THE RUNTIME SERVICES TO PROTECT THE LOAD MEDIA. 1ST ARG = BYTE OFFSET INTO P-TABLE FOR CSR ADDRESS 2ND ARG = BYTE OFFSET INTO P-TABLE FOR MASSBUS ADDRESS 3RD ARG = BYTE OFFSET INTO P-TABLE FOR DRIVE NUMBER BYTE OFFSET REFERS TO THE NUMBER OF BYTES FROM THE BEGINNING OF A PTABLE ENTRY TO THE ITEM IN QUESTION. IF THE PARTICULAR ITEM DOES NOT APPLY, THEN ENTRY IS SET TO -1. WHEN THE RUNTIME SERVICES EXECUTES A GPHARD, IT USES THESE OFFSETS (IF NOT SET TO -1) TO GET THE ITEMS AND COMPARE WITH THOSE SAVED IN THE XXDP+ MONITOR. REQUESTED MATCHES THE LOAD DEVICE, INCOMPLETE FLAG ON THE GPHARD. BGNPROT (-1, -1, IF THE UNIT BEING THEN THE RUNTIME SERVICES RETURN AN -1); ENDPROT; END ELUDOM .TITLE LIDENT .ENABL 000000 000000 000003 000006 000007 000010 000010 000011 000012 000014 000016 000020 000022 000024 000026 000030 000032 000034 000036 000040 000042 000044 000046 000050 000050 000051 000052 VAX-11 Bliss-16 V4.0-579 'PROTECTION TABLE' b ot o ot o s o s o sP “SBTTL © 5 1 10 10 b s ot ot b (o 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 SEQ 0070 14-Jun-1985 09:35:23 103 103 132 104 .PSECT L$NAME:: .ASCII .ASCII .BYTE .BYTE L$REV:: .ASCII .ASCII LSUNIT::.WORD L$TIML::.WORD L$HPCP:: .WORD L$SPCP:: .WORD L$SHPTP:: .WORD L$SPTP:: .WORD LSLADP:: .WORD L$STA:: .WORD L$CO:: .WORD L$DTYP:: .WORD L$APT:: .WORD L$DTP:: .WORD L$PRIO::.WORD L$SENVI::.WORD L$EXP1::.WORD L$MREV:: BYTE JYTE L$SEF:: .WORD CZRCD1 CZRCDBO RC25 DISK EXERCISER /V02.0/ AMA $CODE$¢, / CZ/ /RCD/ 0 0 RO /B/ /0/ T$PTHV -1 L$HARD L$SOFT LS$HW L$SW LS$LAST O O 1 O L$DISPATCH O O O 3 B O ’ Pa 10 7 CZRCD1 CZRCDBO RC25 DISK EXERCISER v02.0 000126 000130 000132 000134 000136 000141 000144 000147 000152 000155 000160 000162 000165 000170 000173 000174 000177 000202 000205 000210 000213 000216 000221 000224 000227 000230 000233 000236 000241 000244 000247 000252 000255 000260 000263 000000 000000 000000G 0000006 000000 000000 000000G 0000006 000000 000000G 104035 000126 000000G 0000006 0000006 006542 000000 000000 000000 000001 000000G 111 101 122 123 126 124 102 114 105 000 120 124 122 104 105 040 116 040 125 000 101 117 127 * 124 040 040 123 115 040 124 .WORD L$SPC:: .WORD L$DEVP:: .WORD L$REPP:: .WORD L$EXP4:: .WORD © 120 104 105 000 105 117 000 040 104 123 000 103 122 122 105 114 040 126 000 114 124 040 101 105 101 123 050 111 120 107 123 125 124 114 051 114 127 122 105 124 103 124 105 104 101 114 040 111 123 117 125 117 122 101 040 104 122 L$SEXPS:: .WORD L$AUT:: .WORD L$DUT:: .WORD LSLUN:: .WORD L$DESP:: .WORD L$LOAD:: .WORD L$ETP:: .WORD L$ICP:: .WORD L$CCP:: .WORD L$ACP:: .WORD L$PRT:: .WORD L$TEST::.WORD L$DLY:: .WORD L$HIME:: .WORD D$PCNT:: .WORD L$DISPATCH:: .WORD ERRTYP:: .BLKW ERRNBR: : .BLKW ERRMSG: : .BLKW ERRBLK': : .BLKW P.AAA: .ASCII .ASCII .ASCII .ASCII P.AAB: .ASCII .ASCII .ASCII P.AAC: .ASCII .ASCII .ASCII .ASCII P.AAD: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII P.AAE: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII 0 0 LSDVTYP L$RPT 0 0 LSAV L$DV 0 L$DESC -73743 L$SERRTBL LSINIT L$CLEAN L$AUTO L$PROT =000 000106 000110 000112 000114 000116 000120 000122 000124 PROTECTION TABLE MHEed 000054 000056 000060 000062 000064 000066 000070 000072 000074 000076 000100 000102 000104 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 /IP / /ADD/ /RES/ /5/<00><00> /VEC/ /TOR/ <00><00> /BR 7/ /LEV/ /EL/<00> <00> /PLA/ /TTE/ /R A/ /DDR/ /ESS/ /7 (U7 /NIT/ / PL/ /UG)/ <00> /ALL/ /0l / /WRI/ /TES/ / 10/ / CU/ /5T0/ /MER/ / DA/ /TA 7/ - SEQ 0071 VAX-11 Bliss-16 V4.0-579 Page 11 USER$1:[AZTEC.CZRCDBICZRCD1.SRC;: 6 7 CZRCD1 v02.0 000266 000271 000274 000277 000302 000305 000310 000313 000314 000317 000322 000325 000330 000333 000336 000341 000344 000347 000352 000355 000360 000363 000366 000371 000374 000377 000402 000405 000410 000413 000414 000417 000422 000425 000430 000433 000436 000441 000444 000447 000452 000455 000460 000463 000466 000471 000474 000477 000502 000505 000510 000513 000516 000521 000524 000527 000530 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 101 101 116 110 040 101 105 000 052 127 116 107 040 123 115 040 124 101 101 101 102 117 122 111 105 040 056 117 111 000 105 117 114 111 050 106 040 040 115 051 124 116 105 114 111 111 115 101 124 040 040 122 117 111 124 000 123 105 117 124 123 114 122 040 040 111 120 124 122 124 000 052 101 111 040 103 124 105 104 101 122 040 131 105 126 127 124 116 056 040 116 122 040 122 116 055 125 117 122 101 040 105 115 040 040 105 122 124 041 056 103 106 115 P.AAF: 122 122 111 124 060 117 116 114 111 000 122 123 122 111 124 116 105 102 122 040 115 040 040 122 117 111 124 000 101 106 040 115 040 040 107 P.AAG: 105 050 106 131 123 115 051 060 117 116 114 111 000 125 120 040 040 P.AAH: P.ARI: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .KSCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /ARE/ /R 0/ /N T/ /HIS/ / PL/ /ATT/ /ER/<00> <00> /hk / /WAR/ /NIN/ /G -/ / CU/ /5T0/ /MER/ / DA/ /TR 7/ /ARE/ /R M/ /RY / /BE / /0VE/ /RWR/ /ITT/ /ENY/ . sal 7. ©F /0NF / /IRM/ <00> /ERR/ /0R / /LIM/ 3t 7 /(0 7 /FOR/ / NO/ / L1/ /MIT/ /)/<00><00> /TRA/ /NSF/ /ER / /LIM/ /IT 7 /IN / /MEG/ /ABY/ /TES/ /7 (0/ / FO/ /R N/ /0 L/ /IMI/ /T)/<00> <00> /SUP/ - VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0072 Page 12 7 CZRCD1 CZRCDBO RC25 DISK EXERCISER v02.0 f 000533 000536 000541 006544 000547 000552 000555 000560 000563 000566 000571 000574 000576 000601 000604 000607 000612 000615 000620 000623 000626 000631 000634 000637 000642 000645 000650 000653 000656 000661 000664 000667 000672 000675 000700 000703 000706 000711 000714 000717 000720 000723 000726 000731 000734 000736 000741 000744 000747 000752 000755 000760 000763 000766 000771 000774 000777 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 120 123 120 116 116 105 117 114 040 123 107 122 040 040 105 111 122 116 105 040 040 114 055 111 040 102 123 122 104 040 105 115 105 123 122 116 124 103 105 111 040 101 000 122 104 117 101 123 105 117 105 101 124 040 116 122 123 122 124 107 122 122 117 115 123 105 000 125 104 105 122 123 040 123 101 117 115 124 104 126 123 124 124 101 117 123 113 117 000 124 124 107 122 113 116 116 124 103 000 105 055 115 122 040 122 122 104 124 110 103 124 105 040 111 111 040 122 040 107 105 101 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII 123 116 115 130 103 105 111 124 104 106 125 111 122 105 125 105 000 116 115 105 040 104 000 101 111 040 101 000 P.AAJ: P.AAK: P.AAL: 104 107 122 113 P.AAM: 101 103 120 105 120 106 115 040 040 105 117 122 P.AAN: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /PRE/ /88 / /PRI1/ /NT1/ /NG / /ERR/ /0R / /L0G/ / ME/ /SSA/ /GES/ <00><00> /RUN/ / DM/ / EX/ /ERC/ /ISE/ /R 1/ /NST/ /EAD/ / OF/ / MU/ LTI/ /-DR/ /IVE/ / SV’ /BTE/ /S5T/<00> /RAN/ /D0OM/ / SE/ /EK 7/ /MOD/ /E/<00><00> /STR/ /RT1/ /NG 7 /TRA/ /CK/<00> <00»> /END/ /ING/ / TR/ /ACK/ <00><00> /REA/ /D-C/ /0MP/ /ARE/ /S P/ /ERF/ /0RM/ /ED 7/ /AT / /THE/ / CO/ /NTR/ SEQ 0073 Page 13 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 (7 VAX-11 Bliss-16 V4.0-579 CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 001002 001005 001010 001013 001016 001021 001024 001027 001032 001035 001040 001043 001046 001051 001054 001057 001062 001065 001070 001073 001076 001100 001103 001106 001111 001114 001117 001122 001125 001130 001133 001136 001141 001144 001147 001152 001155 001160 001163 001166 001171 001174 001176 001201 001204 001207 001212 001215 001220 001223 001226 001231 001234 001237 001242 001245 001250 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 117 105 127 124 117 131 127 124 103 120 105 120 115 040 040 105 117 122 114 103 103 101 040 111 123 124 117 040 040 101 116 125 122 105 116 040 124 120 124 116 123 105 040 105 105 116 040 124 120 124 116 060 117 123 125 114 122 122 105 116 000 122 105 117 101 123 105 117 105 101 124 040 116 117 105 000 110 113 114 127 124 040 040 123 102 122 104 107 123 055 106 105 104 101 101 105 000 105 103 120 055 105 104 101 101 105 040 040 122 105 105 114 000 111 040 114 000 111 055 P.ARO: P.AAP: 115 122 040 122 122 104 124 110 103 124 114 122 P.AAQ: P.AAR: P.AAS: 101 040 040 121 116 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /0LL/ /ER/<00> /WRI/ /TE 7/ /0NL/ /Y/7<00><00> /WRI/ /TE-/ /COM/ /PAR/ /ES 7/ /PER/ /FOR/ /MED/ / AT/ / TH/ /E C/ /0ONT/ /ROL/ /LER/ <00><00> /CHE/ /CK 7/ /ALL/ / WR/ /ITE/ /S A/ /T H/ /0ST/ / BY/ / RE/ /ADI/ /NG/<00> /USE/ /R-D/ /EFI/ /NED/ / DA/ /TR 7/ /PAT/ /TER/ /N/<00> /SEL/ /ECT/ / PR/ /E-D/ /EF1/ /NED/ / DA/ /TA / /PAT/ /TER/ /N (/7 /0 F/ /0R 7/ /SEQ/ /UEN/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0074 Page 14 (N CZRCD1 CZRCDBO RC25 DISK EXERCISER v02.0 001253 001256 001261 001264 001267 001272 001274 001277 001302 001305 001310 001313 001316 001321 001324 001327 001332 001335 001340 001343 001346 001351 001352 001355 001360 001363 001366 001370 001373 001376 001401 001404 001407 001412 001415 001420 001423 001426 001431 001434 001437 001442 001445 001450 001453 001456 001461 001464 001466 001471 001474 001477 001502 001505 001510 001513 001516 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 124 114 105 103 117 116 102 040 040 122 040 040 124 120 124 116 061 115 111 115 000 120 124 116 101 105 124 040 115 116 107 125 124 116 117 131 120 131 117 116 117 103 104 114 124 123 045 117 122 105 131 040 111 116 116 111 040 114 124 116 000 125 105 117 127 104 111 104 101 101 105 040 066 101 115 051 101 105 040 114 000 110 122 101 111 040 105 111 123 116 040 120 040 040 120 124 124 040 101 105 056 101 127 040 114 040 127 124 107 000 101 123 105 111 051 115 122 106 117 123 116 101 040 124 122 050 040 130 125 000 P.AAT: 124 122 126 125 P.AAU: 105 105 111 116 121 123 117 040 114 101 114 124 125 122 105 105 120 124 122 000 P.AAV: 120 105 104 1C1 055 101 111 045 P.AAW: P.AAX: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /TIA/ /L S/ /ELE/ /CT1/ /0N)/ <00><00> /NUM/ /BER/ / OF/ / WO/ /RDS/ / IN/ / DA/ /TA / /PAT/ /TER/ /N (/ /16 / /MAX/ /IMU/ /M)/<00> <00> /PAT/ /TER/ /N V/ /ALYU/ /E/<00> /THE/ / RE/ /MAL/ /NIN/ /G Q/ /UES/ /TI10/ /NS / /0NL/ /Y A/ /PPL/ /Y T/ /0 U/ /NPR/ /0TE/ /CTE/ /D P/ /LAT/ /TER/ /5.7/<00> <00><00> /%AP/ /0UWE/ /R D/ /ELA/ Y -/ / WA/ /IT1/ /NG / /N/<00> VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0075 Page 1S (7 CZRCD1 v02.0 001520 001523 001526 001531 001534 001537 001542 001545 001550 001553 001556 001561 001564 001567 001572 001575 001600 001603 001606 001611 001614 001616 001621 001624 001627 0201632 001635 001636 001641 001644 001647 001652 001655 001660 001663 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE 045 001666 001670 001673 001676 001701 001704 001707 001712 001715 001720 001723 001726 001730 001733 001736 001741 001744 001747 001752 001755 001760 001763 o 040 105 111 122 125 105 040 101 116 101 125 124 126 111 040 103 122 117 101 051 117 104 111 040 066 050 040 056 000 inl 115 105 104 116 116 111 124 125 105 040 101 045 000 116 115 124 104 126 123 124 124 124 124 000 116 104 105 122 123 040 102 123 123 122 045 102 124 117 105 P.ARY: 106 126 124 040 063 050 040 122 105 103 045 045 117 056 040 103 P.AAZ: 120 124 056 000 045 116 040 102 123 123 122 116 P.ABA: 045 125 111 122 105 125 105 040 101 045 P.ABB: 045 115 130 103 105 123 124 124 124 124 P.ABC: . 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /%Ns/ /AAB/ /0UT/ /7 10/ / VE/ /RIF/ /Y N/ /ECT/ /0R 7/ /%03/ /%AC/ /70) 7/ /FOR/ / DE/ /NIC/ /E s/ /706%/ /AC0/ 7’y .7 Fos ¥ <00><00> /%AC/ /0MP/ /LET/ /ED./ /%N/ <00> <00»> /%Ns/ /ARIN/ /1T 7 /5UB/ /TES/ /T S/ /TAR/ /THN/ <00><00> /%Ns/ /AMU/ LTI/ /-DR/ /IVE/ / SU/ /BTE/ /ST /7 /STR/ /RTe/ /N/<00> /%N%/ /ADM/ / EX/ /ERC/ /1ISE/ /R S/ /UBT/ /EST/ / ST/ /ART/ VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC;: 6 SEQ 0076 P 16 7N CZRCD1 vo2.0 001766 001771 001772 001775 002003 002006 002011 002014 002017 002022 002025 002030 002033 002036 002041 002047 002052 002055 002060 002063 002071 002074 002077 002102 002105 002110 002113 002116 002121 002124 002127 002132 002135 002140 002143 002146 002151 002154 002157 002162 002165 002170 002173 002176 002201 002204 002207 002212 002215 002220 002223 002224 002227 002232 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09: 3 S: 23 14-Jun-1985 09: 2 8: 52 PROTECTION TABLE 116 000 101 111 045 045 040 124 116 105 114 111 122 103 104 125 124 104 101 055 122 123 122 000 104 101 102 103 040 101 106 122 040 040 111 045 045 040 114 124 040 063 056 116 116 104 114 101 040 101 105 101 122 123 104 101 101 111 045 045 P.ABD: 111 124 105 110 045 000 065 056 114 P.ABE: 113 124 116 105 105 117 125 124 104 101 050 101 105 045 045 051 000 045 125 111 124 120 124 122 104 105 P.ABF: 040 063 056 124 120 117 117 101 051 116 101 105 045 114 101 P.ABG: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /%N/<00> <00»> /%AU/ /NIT/ / %D/ /2%A/ /. -/ / TR/ /ANS/ /FER/ / L1/ /MIT/ / RE/ /ACH/ /ED%/ /N/7<00><00> /%057 /%A./ / BL/ /0CK/ /S 1/ /RAN/ /SFE/ /RRE/ /D 0/ /N W/ /NIT/ / %D/ /2%A/ r, LF /PLA/ /TTE/ /R %/ /D3%/ /R.)/ /%N/<00> /%N / /ADV/ /PLY/ /CAT/ /E P/ /LAT/ /TER/ / AD/ /DRE/ /8S / /%037 /%A./ / AT/ / IP/ / %0/ /6%A/ /(0)/ <00> /%N / /AAL/ /REAR/ VAX-11 Bliss-16 V4.0-579 USER$1:FAZTEC.CZRCDB ICZRCD1.SRC; 6 SEQ 0077 Page 17 ¥ v02.0 002235 002240 002243 002246 002251 002254 002257 002262 002265 002270 002273 002276 002301 002304 002307 002312 002315 002320 002323 002326 002331 002334 002337 002342 002344 002347 002352 002355 002360 002363 002366 002371 002374 002376 002401 002404 002407 002412 002415 002420 002423 002426 002431 002434 002437 002442 002445 002450 002453 002456 002461 002464 002467 002470 002473 002476 002501 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09: 3S: 23 14-Jun-1985 09: 28: s2 PROTECTION TABLE 131 040 111 040 040 040 066 050 000 116 115 105 110 040 061 040 106 122 124 120 104 105 123 000 101 111 045 045 040 125 124 101 111 045 045 117 000 045 117 040 101 045 045 104 106 105 P.ABH: 040 040 104 123 105 P.ABI: 040 117 105 055 000 101 105 103 115 104 000 101 116 107 101 117 105 117 116 101 111 105 117 116 101 122 105 117 P.ABJ: P.ABK: P.ABL: P.ABM: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC;6 SEQ 0078 Page 18 &3] /DY 7/ /4 U/ /NIT/ /S A/ /T 1/ /P u/ /06%/ /AC0/ /7)/7<¢00><00> /%N / /AMO/ /RE 7/ /THA/ /N %/ /D1%/ /A D/ /IFF/ /ERE/ /NT / /IP / /ADD/ /RES/ /SSE/ /5/<00> /%AV/ /NIT/ /7 %D/ /2%A/ /. D/ /ROP/ /PED/ / -/ <00><00> /%AV/ /SER/ /7 C0/ /MMA/ /NDs/ /N/<00><00> /%AC/ /0NF /7 /1GU/ /RAT/ /ION/ / ER/ /ROR/ /%N/<00> /%AY/ /NIT/ / ER/ /ROR/ /¥N/<00> <00> /%AH/ /ARD/ / ER/ /ROR/ r—_ CZRCD1 CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 | I I 002504 002507 002512 002515 002520 002523 002526 002531 002534 002537 002542 002545 002550 002553 002556 002561 002564 002567 002572 002575 002576 002601 002604 002607 002612 002615 002620 002623 002626 002631 002634 002637 002642 ] 002645 002650 002653 002654 002657 002662 002665 002670 002673 002676 002701 002704 002707 002712 002714 002717 002722 002725 002730 002732 002736 0027490 002743 002745 040 115 040 101 105 116 045 116 103 105 102 040 122 045 124 040 116 125 124 000 11¢ 124 122 040 122 040 117 040 123 117 116 110 123 124 114 111 122 103 104 000 101 122 117 122 114 105 117 116 117 115 111 124 105 110 045 000 125 105 126 101 105 122 122 000 117 101 131 116 123 040 111 000 105 110 111 105 120 117 114 114 113 101 106 116 117 124 040 116 040 103 103 127 040 125 040 040 105 131 105 040 122 111 105 123 107 124 040 130 124 103 124 124 101 105 105 105 123 116 123 106 114 126 124 040 123 106 114 102 114 105 122 000 105 117 124 124 101 105 000 122 105 114 123 115 040 111 105 105 105 040 111 104 103 122 105 040 111 104 040 126 040 - 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 / L1/ .ASCII /MIT/ .ASCII .ASCII / RE/ /ACH/ .ASCII /ED%/ .ASCII /N/7<00><00> .ASCII P.ABN: /%AV/ .ASCII /NRE/ .ASCII /COv/ .ASCII /ERA/ .ASCII /BLE/ .ASCII / ER/ .ASCII /ROR/ .ASCII /%N/<00> .ASCII P.ABO: /7007 - .ASCII / MA/ .ASCII /NY / .ASCII /UNI1/ .ASCII /75/7¢<00> .ASCII <00»> .ASCII P.ABP: /NE1/ .ASCII .ASCII "/THE/ /R P/ .ASCII / NO/ .ASCII /R L/ .ASCII .ASCII / CL/ .ASCII /70CK/ / WA/ .ASCII .ASCII /S F/ /0UN/ .ASCII /D 0/ .ASCII /N T/ .ASCII /HE 7/ .ASCII /5YS/ .ASCII /TEM/ .ASCII <00»> .ASCII P.ABQ: /REG/ .ASCII /1ST/ .ASCII /ER 7 .ASCII /EXI/ .ASCII /STE/ .ASCII .ASCII /NCE/ / TE/ .ASCII /ST 7/ .ASCII /FAY/ .ASCII /LED/ .ASCII <00><00> .ASCII P.ABR: .ASCII /VEC/ /TOR/ .ASCII / TE/ .ASCII 3T 2 .ASCII /FRAI/ .ASCII /LED/ .ASCII .ASCII <00><00> /BR / P.ABS: .ASCII /LEV/ .ASCII /EL 7/ .ASCII VAX-11 Blies-16 V4.0-579 USER$1:[AZTEC.CZRCDB ICZRCD1.SRC; 6 SEQ 0079 Page 19 7N CZRCD1 CZRCDBO RC25 DISK EXERCISER voe.o PROTECTION TABLE 002751 002754 002757 002762 002765 002766 002771 00277 002777 003002 003005 003010 003013 003014 003017 003022 003025 003030 003033 003036 003041 003044 105 106 114 000 116 040 121 116 040 111 104 111 123 125 103 106 114 000 .ABT: 1C1 114 117 040 124 040 122 057 .ABU: ic4 114 122 122 122 105 101 040 123 116 040 115 125 122 114 040 122 000 123 107 122 120 123 124 105 124 103 003047 003052 003055 003060 003063 003066 003071 003074 003077 003102 003104 003107 003112 003115 003120 003122 003125 003130 003133 003136 003141 003144 003147 003152 003155 002160 003163 003166 003179 003173 003176 003201 0032C4 0032C7 002219 000 116 116 106 114 000 122 124 117 114 124 101 105 040 111 104 106 101 111 040 122 000 103 123 040 111 104 105 122 105 040 116 111 000 117 .ABV: 114 105 101 105 .ABW: 111 .ABX: 055 117 103 103 106 103 000 103 123 106 114 000 101 114 057 105 117 103 123 101 105 .ABY: 124 040 117 122 122 .ABZ: 117 116 .ACA: 14-Jun-198S 09:35:23 14 -Jun-1985 09:28:52 /TES/ .ASCII /T F/ .ASCII .ASCII /AIL/ .ASCII /ED/ <Q0> <«00» .ASCII /INI1/ .ASCIX /T S/ .ASCII /EQU/ .ASCII /ENC/ .ASCII /€ F/ .ASCII .ASCII /RIL/ .ASCII /ED/<00> <00> .ASCII /FAT/ .ASCII /AL 7/ .ASCII /POR/ .ASCII /T 7<¢57> .ASCII / CO/ .ASCII /NTR/ .ASCII .ASCII /0LL/ /ER 7/ .ASCII /ERR/ .ASCII .ASCII /0R/<00> .ASCII /MES/ .ASCII /SAG/ /E R/ .ASCII .ASCII /ESP/ /0ONS/ .ASCII /E T/ .ASCII /IME/ .ASCII /0UT/ .ASCII «00><00> .ASCII /0NL 7/ .ASCII .ASCII /INE/ / FA/ .ASCII .ASCII /ILE/ /D/<00> .ASCII /WRI/ .ASCII /TE-/ -ASCII /PRO/ .ASCII /TEC/ .ASCII /T C/ .ASCII /0NF /7 .ASCII /LIC/ .ASCII /T/<00><00> .ASCII /ACC/ .ASCII .ASCII /ESS/ / FA/ .ASCII /ILE/ .ASCII /D/7<00> .ASCII /FAT/ .ASCII /AL / .ASCII .ASCII /1/7¢57>/70/ / ER/ .ASCII /ROR/ .ASCII <00> .ASCII /CON/ .ASCII VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC;6 SEGPOOBO age (N CZRCD1 CZRCDBO RC25 DISK EXERCISER v02.0 003213 003216 003221 003224 003227 003232 003234 003237 003242 003245 003250 003253 003256 PROTECTION TABLE 124 114 122 111 117 000 104 040 115 116 106 114 000 122 114 040 115 125 000 125 103 115 104 101 105 120 117 101 040 111 104 P.ACB: 115 130 103 105 124 105 124 040 105 111 122 111 117 000 P.ACC: 057 122 125 124 101 105 000 101 122 124 116 104 101 125 124 123 103 111 117 105 105 040 111 104 P.ACD: 115 105 110 040 062 056 116 123 120 111 105 P.ACE: 000 117 105 124 105 124 003260 003263 003266 003271 003274 003277 003302 003305 003306 003311 003314 003317 003322 003325 003330 003332 003335 003340 003343 003346 003351 003354 003357 003362 003365 003370 104 105 122 123 040 115 125 000 111 040 121 123 106 114 000 045 117 040 101 045 045 040 111 040 105 1 003376 003400 003403 003406 003411 003414 003417 000 045 117 105 117 105 124 000 101 040 123 116 040 040 116 122 120 123 101 101 003425 003430 003433 003436 105 040 066 050 123 045 045 117 123 117 101 051 003444 003447 003452 003455 045 116 122 103 101 103 122 124 111 117 105 040 003373 003422 003441 14-Jun-1985 09:35:23 104 104 045 045 104 116 116 .ASCII ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /TRO/ /LLE/ /R T/ /IME/ /0UT/ <00><00> /DUP/ / €O/ /MMA/ /ND / /FAI/ /LED/ .ASCII .ASCII .ASCII .ASCII ASCITI .ASCII ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII ASCII .ASCII .ASCII .ASCII .ASCII /DM / /EXE/ /RCI/ /SER/ 7 T1/ /MEO/ /UT/<00> <00> /I/<57>/0/ / RE/ /QUE/ /ST / /FAI/ /LED/ <00><00> /%AM/ /ORE/ 7 TH/ /AN / /#D2/ /%A./ / UN/ /ITS/ 7 SP/ /ECI/ /FIE/ .ASCII .ASCII .ASCII .ASCII .ASCIT .ASCII .ASCIT <00><00> /®AN/ /0 R/ /ESP/ /ONS/ /E A/ /T A/ .ASCII .ASCII .ASCII .ASCII /ESS/ / %0/ /6%A/ 7(0)/ .ASCII .ASCII .ASCII .ASCII /#AI/ /NCO/ /RRE/ /CT / .ASCII .ASCII P.ACF: 122 000 14-Jun-1985 09:28:52 .ASCII P.ACG: .ASCII <00><00> /D%N/ /DDR/ /#N/<00> SEQ 0081 Page 21 USER$1:[AZTEC.CZRCDB ICZRCD1.SRC:6 &3 VAX-11 Bliss-16 V4.0-579 CZRCD1 v02.0 am 5 003460 003463 003466 003471 003474 003477 003502 003505 003510 003513 003516 003521 003524 003526 C03531 003534 003537 003542 003545 003550 003553 003556 003561 003564 003567 003572 003575 003600 003603 003604 003607 003612 003615 003620 003623 003626 003631 003634 003637 003642 003645 003650 003653 003656 003661 003664 003667 003672 003675 003676 003701 003704 003707 003712 003715 003720 003723 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 102 114 105 107 105 106 040 126 105 117 101 051 000 045 124 040 061 040 101 105 117 117 104 111 040 066 050 045 000 045 122 122 117 040 103 126 040 040 040 107 124 040 040 126 105 117 101 051 000 045 101 105 124 122 105 105 116 122 105 114 111 116 117 104 111 040 066 050 045 000 101 105 045 045 122 104 122 122 116 105 103 045 045 117 116 101 122 040 104 122 105 105 111 123 122 111 105 117 104 111 040 126 040 126 040 122 105 103 045 045 117 116 123 120 104 101 105 040 122 040 040 126 105 117 101 051 000 105 117 103 105 105 116 101 105 123 122 040 066 050 045 101 111 104 106 114 040 040 104 P.ACI: 111 105 103 045 045 117 116 117 105 111 P.ACH: 040 103 126 105 040 P.ACJ: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /BR 7 /LEV/ /EL 7/ /GIvV/ /EN 7/ /FOR/ / DE/ /VIC/ /E %/ /706%/ /AC0/ /)uN/ <00><00»> /%AS/ /TEP/ / %D/ /1%A/ / RE/ /AD / /ERR/ /0R / /0N 7/ /DEV/ /ICE/ / %0/ /6%A/ /7(0)/ /%N/<00> <00> /%AE/ /RRO/ /R C/ /0DE/ / RE/ /CEL/ /VED/ /7 IN/ / SA/ / RE/ /GIS/ /TER/ / OF/ / DE/ /NIC/ /E %/ /706%/ /AC0/ /)%N/ <00> /%AF / /RIL/ /ED / /70 7 /REC/ /EIV/ /E E/ /ND / VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0082 Page 22 (7 CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 003726 003731 003734 003737 003742 003745 003750 003753 003756 003761 003764 003766 003771 003774 003777 004002 004005 004010 004013 004016 004021 004024 004027 004032 004035 004040 004043 004046 004051 004054 004057 004062 004065 004070 004073 004076 004101 004104 004107 004112 004115 004120 004123 004126 004131 004134 004137 004142 004145 004150 004153 004156 004160 004163 004166 004171 004174 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 115 123 105 122 040 126 105 117 101 051 000 045 122 122 116 105 117 105 117 116 116 103 115 104 117 120 124 122 104 101 116 045 114 124 040 063 056 123 127 122 105 116 114 040 124 127 122 105 122 105 105 116 045 103 123 106 114 105 101 040 117 104 111 040 066 050 045 000 101 122 040 040 123 116 040 040 114 105 117 101 040 122 114 124 040 063 056 000 101 101 105 045 045 040 040 040 111 055 101 105 102 040 040 111 055 117 103 104 000 101 103 123 101 105 123 107 106 115 105 103 045 045 117 116 105 117 111 122 120 123 124 117 P.ACK: 111 040 115 116 106 040 101 105 045 045 045 000 120 124 122 P.ACL: 101 111 123 127 124 105 102 125 110 127 124 120 124 124 045 101 105 040 111 104 P.ACM: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /MES/ /SAG/ /E F/ /ROM/ / DE/ /VIC/ /E %/ /06%/ /AC0/ /)%N/ <00><00> /%AE/ /RRO/ /R 1/ /N R/ /ESP/ /0NS/ /E T/ /0 0/ /NLI/ /NE 7/ /COM/ /MAN/ /D F/ /0R 7/ /PLA/ /TTE/ /R %/ /D3%/ /A . %/ /N/<00><00> /%AP/ /LAT/ /TER/ / %D/ /3%A/ ’s 37 /S8 S/ /W W/ /RIT/ /E-E/ /NAB/ /LED/ / BU/ /T H/ /W W/ /RIT/ /E-P/ /ROT/ /ECT/ /ED%/ /N/<00> /%AR/ /CCE/ /58S 7/ /FAL/ /LED/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC;6 SEQ 0083 Page 23 (7) CZRCD1 v02.0 004177 004202 004205 004210 004213 004216 004221 004224 004227 004232 004235 004240 004243 004246 004251 004254 004257 004262 004264 004267 004272 004275 004300 004303 004306 004311 004314 004317 004322 004325 004330 004333 004336 004341 004344 004347 004350 004353 004356 004361 004364 004367 004372 004375 004400 004403 004406 004411 004414 004417 004422 004425 004430 004433 004436 004441 004444 - CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 040 040 101 105 045 045 045 045 114 124 040 063 105 040 106 116 116 045 105 103 045 045 117 116 040 117 123 116 103 115 101 105 045 000 045 105 101 040 112 124 040 040 120 105 105 117 104 111 040 066 050 045 045 117 105 117 120 124 122 104 101 116 101 101 105 045 117 114 105 116 114 124 040 063 056 000 120 124 122 104 101 127 124 106 111 045 P.ACO: 105 117 101 051 117 120 103 123 107 117 101 040 103 124 116 104 111 040 066 050 040 124 122 105 111 040 115 116 120 113 123 000 101 123 107 122 115 123 105 105 103 P.ACP: 102 131 125 123 126 045 040 116 000 101 126 105 105 040 122 122 116 105 103 045 045 117 116 101 040 123 P.ACN: 040 040 117 101 051 000 116 122 120 P.ACQ: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII / ON/ / PL/ /ATT/ /ER / /%D3/ /%A./ /%N/<00> /%AP/ /LAT/ /TER/ / %D/ /3%A/ /. W /ENT/ / OF/ /FLI/ /NEs/ /N/<00> /%AD/ /EVI/ /CE 7/ /%06/ /%AC/ /0) /7 /NOT/ / PR/ /0CE/ /5S1/ /NG / /COM/ /MAN/ /D P/ /ACK/ /ETS/ /9N/<00> <00> /%AM/ /ESS/ /ARGE/ / RE/ /JEC/ /TED/ / BY/ / DU/ /P S/ /ERV/ /ER / /0N / /DEV/ /ICE/ / %0/ /6%A/ /(0)/ /%N/<00> /%AN/ /0 R/ /ESP/ VAX-11 Bliss-16 V4.0-579 SEQ 0084 USER$1:[AZTEC.CZRCDBICZRCD1.SRC; 6 Page 24 &3] CZRCD1 v02.0 004447 004452 004455 004460 004463 004466 004471 004474 004477 004502 004505 004510 004513 004516 004521 004524 004527 004532 004535 004540 004542 004545 004550 004553 004556 004561 004564 004567 004572 004575 004600 004602 004605 004610 004613 004616 004621 004624 004626 004631 004634 004637 004642 004645 004650 004653 004656 004661 004664 004667 004672 004674 004677 004702 004705 004710 004713 R CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 117 105 122 040 117 040 116 040 123 105 103 111 040 040 126 105 117 101 051 045 125 105 045 045 116 114 040 115 116 116 045 117 101 040 117 105 116 045 116 055 106 116 116 045 116 055 101 101 105 045 105 101 117 101 105 116 040 117 106 116 120 105 124 124 130 125 116 111 104 111 040 066 050 045 000 101 103 123 116 101 126 111 103 115 104 000 101 115 116 101 122 104 000 101 111 117 114 105 000 101 111 101 111 102 045 000 101 104 040 122 124 122 123 106 115 122 124 101 114 105 040 105 124 107 116 105 103 045 045 117 116 123 103 123 000 111 101 104 117 101 045 P.ACR: 103 115 104 102 124 045 P.ACT: 125 124 106 111 045 000 125 124 126 114 114 116 P.ACU: 115 111 106 115 040 122 P.ACS: P.ACV: P.ACMW: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /0NS/ /E F/ /ROM/ / FR/ /0ONT/ / PA/ /NEL/ / TE/ /ST / /EXE/ /CUT/ /ING/ / IN/ / DE/ /NIC/ /E %/ /06%/ /AC0/ /)%N/ <00><00> /%AS/ /UCC/ /ESS/ /%N/<00> /%A1/ /NVA/ /LID/ / C0/ /MMA/ /NDs/ /N/<00> /%AC/ /0MM/ /AND/ / AB/ /0RT/ /ED%/ /N/<00> /%AV/ /NIT/ /-0F/ Ly /NEs/ /N/7<00><00> /%AV/ /NIT/ /-AV/ /RIL/ /ABL/ /E%¥N/ <00><00> /%AM/ /EDI/ /A F/ /0RM/ /AT / /ERR/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0085 P ge 25 7 CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 004716 004721 004724 004727 004732 004735 004740 004743 004746 004750 004753 004756 004761 004764 004767 004772 004775 005000 005002 005005 005010 005013 005016 005021 005022 005025 005030 005033 005036 005041 005044 005047 005052 005055 005060 005063 005066 005071 005074 005077 005102 005105 005106 005111 005114 005117 005122 005125 005126 005131 005134 005137 005142 005145 005150 005153 005156 - 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 117 116 045 122 105 122 105 105 116 045 105 103 103 120 105 122 122 045 101 040 122 045 000 045 117 040 122 103 123 105 117 116 045 117 122 114 040 122 045 045 122 105 122 122 000 045 117 055 124 124 040 111 055 115 122 000 101 111 055 117 103 104 000 101 126 045 000 127 124 120 124 124 P.ACX: 045 P.ACY: 101 040 122 045 000 101 124 105 117 116 104 111 040 115 122 105 117 116 104 101 122 122 000 P.ACZ: 101 123 102 106 040 103 110 124 125 105 101 105 P.ADA: 105 117 123 040 122 122 000 101 116 117 105 105 117 116 122 045 000 103 124 114 122 122 122 000 101 111 040 122 045 104 126 105 117 116 P.ADC: 101 123 104 105 105 127 124 103 120 110 124 105 103 104 122 105 117 101 P.ADD: P.ADB: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /0R%/ /N/7<00><00> /%AW/ /RIT/ /E-P/ /ROT/ /ECT/ /ED%/ /N/<00> /%AD/ /EVI/ /CE / /COM/ /PAR/ /E E/ /RRO/ /R¥N/ <00><00> /%AD/ /ATA/ / ER/ /ROR/ /%N/<00> <00> /%AH/ /0ST/ / BU/ /FFE/ /R A/ /CCE/ /S8S / /ERR/ /0R%/ /N/7<00><00> /%AC/ /0NT/ /ROL/ /LER/ / ER/ /ROR/ /%N/<00> <00> /%AD/ /RIV/ /E E/ /RR0O/ /R¥N/ <00> /%AH/ /0ST/ /-DE/ /TEC/ /TED/ / WR/ /ITE/ /-C0/ /MPA/ SEG 0086 VAX-11 Bliss-16 V4.0-579 Page 26 USER$1:[AZTEC.CZRCDBJCZRCD1.SRC;: 6 N CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 005161 005164 005167 005172 005174 005177 005202 005205 005210 005213 005216 005221 005224 005227 005232 005235 005240 005243 005246 005251 005254 005256 005261 005264 005267 005272 005275 005300 005303 005304 005307 005312 005315 005320 005323 005326 005331 005334 005337 005342 005345 005350 005353 005356 005361 005364 005367 005372 005375 005400 005403 005406 005411 005414 005417 005422 005425 e 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 122 105 117 11% 045 101 105 124 122 105 105 116 115 123 105 117 111 040 115 116 116 045 040 123 040 050 045 045 040 103 040 125 040 066 050 045 045 040 123 124 040 104 040 062 050 045 045 040 104 040 101 123 117 072 105 122 122 000 101 111 104 040 122 045 117 105 111 106 114 040 040 103 126 10« 040 040 P.RADE: 105 105 101 040 122 057 103 115 104 000 101 040 101 045 045 117 116 123 107 106 040 117 117 040 040 072 117 101 051 000 P.ADF: 101 040 115 122 040 115 045 045 117 116 101 040 124 125 103 105 045 045 117 116 101 040 125 123 124 040 104 040 040 040 104 105 116 072 117 101 051 000 040 040 101 123 117 072 117 101 051 000 040 040 120 124 125 103 105 045 P.ADG: 101 045 P.ADH: P.ADI: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCIT .ASCI. .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /RE / /ERR/ /0R%/ /N/7<00> /%AF/ /AIL/ /ED 7/ /70 /7 /REC/ /EIV/ /E E/ /ND / /MES/ /SAG/ /E F/ /0R / /1/7¢57>/0/ / CO/ /MMA/ /NDs%/ /N/<00> /%A / / / /SA:/ / %0/ /6%A/ /C(0)/ /%N/<00> <00> /%A / / / /CMD/ / RE/ /F N/ /UM:/ / %0/ /6%A/ /7(0)/ /%N/<00> /%A / / / /STA/ /TUS/ /7 CO/ /DE:/ / %0/ /2%A/ /7C(0)/ /%N/<00> /%A / / / /DUP/ / ST/ /ATU/ /8 C/ /0DE/ /: %/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0087 P 9e 27 N CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 005430 005433 005436 005440 005443 005446 005451 005454 005457 005462 005465 005470 005473 005474 005477 005502 005505 005510 005513 005514 005517 005522 005525 005530 005533 005534 005537 005542 005545 005546 005551 005554 005557 005562 005565 005570 005573 005576 005601 005602 005605 005610 005613 005616 005621 005624 005626 005631 005634 005636 005641 005644 005647 005652 005654 005657 005662 b 104 101 116 040 123 055 040 064 050 045 000 045 040 103 115 104 000 045 061 056 000 101 040 125 103 105 045 045 117 116 045 045 040 040 102 117 072 117 101 051 000 .ADJ: 101 040 117 101 072 040 040 115 116 .ADK: 040 105 103 122 123 040 114 103 122 .ADL: 110 101 124 124 040 101 045 116 116 101 114 105 117 111 000 . ADM: 045 101 105 124 123 120 105 120 107 115 105 103 105 125 114 .ADN: 130 125 040 120 111 040 117 101 045 105 040 124 045 105 045 122 105 045 103 120 105 045 040 102 101 116 104 101 101 101 000 101 111 000 101 117 101 045 000 101 040 101 104 122 122 000 123 104 101 000 122 104 .ADO: .ADP: 127 124 .ADQ: 055 115 122 116 .ADR: 040 040 104 .ADS: 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCIX .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /Dis/ /A.%/ /N/<00> /%A / / / /5UB/ /-C0/ /DE:/ / %0/ /4%A/ /C(0)/ /%N/<00> <00> /%A / / / /COM/ /MAN/ /D: / <00> /%AS/ /ET 7/ /CTL/ /R C/ /HAR/ <00> /%A0/ /NLI/ /NE/<00> <00> /%AE/ /XEC/ /UTE/ / SU/ /PPL/ /1ED/ / PR/ /0GR/ /AM/<00> <00»> /%AS/ /END/ / DA/ /TA/<00> /%AR/ /ERD/ <00><00> /%AW/ /RIT/ /E/<00> /%A-/ /COM/ /PAR/ /E%N/ <00><00> /%A / / / /BAD/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEOPOOBO 28 7 CZRCD1 v02.0 005665 005670 005673 005676 005701 005704 005707 005712 005715 005720 005723 005726 005731 005734 005737 005742 005744 005747 005752 005755 005760 005763 005766 005771 005774 005777 006002 006005 006010 006012 006015 006020 006023 006026 006031 006034 006037 006042 006045 006050 006053 006056 006061 006064 006067 006070 006073 006076 006101 006104 006107 006112 006115 006120 006123 006126 006131 R CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 102 103 122 117 105 040 065 056 000 101 040 102 040 065 056 000 101 040 131 040 125 040 040 115 116 040 065 056 000 101 040 103 101 043 106 131 123 122 123 122 104 045 045 045 114 113 105 122 104 045 045 045 000 040 040 116 045 045 045 122 072 104 1C1 116 101 040 057 102 106 040 123 111 117 045 045 117 040 040 117 125 105 104 103 120 122 117 101 051 040 040 124 103 116 111 103 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII P.ADT: P.ADU: 115 104 045 045 045 040 040 124 114 040 040 124 P.ADV: 040 101 106 P.ADW: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII / BL/ /70CK/ / RE/ /POR/ /TED/ /: %/ /D5%/ /A.%/ /N/7<00><00> /%A / / / /LBN/ /: %/ /DS%/ /A.%/ /N/<00> /%A / / / /BYT/ /E C/ /0UN/ /T 17 /N C/ /0MM/ /AND/ /: %/ /05%/ /R . %/ /N/7<00> /%A / / / /RCT/ /UAL/ / @&/ /0F /7 /BYT/ /ES / /TRA/ /NSF/ /ERR/ /ED:/ / %D/ /S%A/ / %N/ <00> /%A / / / /1/7<57>/70/ / BU/ /FFE/ /R D/ /ESC/ /RIP/ /TOR/ /:%0/ /T%A/ /7(0)/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0089 P ge 29 7 CZRCD1 v02.0 006134 006137 006142 006145 006150 006153 006156 006161 006164 006167 006172 006175 006200 006203 006206 006211 006212 006215 006220 006223 006226 006231 006234 006237 006242 006245 006250 006253 006261 006262 006265 006270 006273 006276 006301 006304 006306 006311 006314 006317 006322 006325 006330 006333 006336 006341 006344 006347 006352 006355 006356 006361 006364 006367 006372 006375 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09: 3 3:23 14-Jun-1985 09: 28:52 PROTECTION TABLE 117 101 051 000 116 105 117 114 040 123 107 122 105 105 045 101 040 P.ADX: P.ADY: 114 124 072 104 101 116 101 040 P.ADZ: 117 101 040 101 040 126 124 P.AEA: 117 072 000 101 040 P.REB: 117 040 115 104 072 067 050 045 045 P.AEC: P.AED: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /%07/ /%AC/ /70)%/ /N/7<00><00> /%N / /RER/ /ROR/ /7 L0/ /G M/ /ESS/ /AGE/ / RE/ /CE1/ /VED/ /:9%N/ <00> /%A / / / /PLA/ /TTE/ /R: / /%D3/ /%A./ /%N/<00> /%A / / / /FOR/ /MAT/ /3 /7<00> 00> /%A / / / /EVE/ /NT / /C0D/ /E: / <00><00> /%A / / / /H0S/ /T W/ /EM / /ADD/ /R:%/ /07%/ /AC0/ /)%0/ /T%A/ /7(0)/ /%N/ <00> <00> /%03/ /%AC/ /0)%/ /N/<00><00> /%027 /%A:/ VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0090 Page 30 (N CZRCDBO RC25 DISK EXERCISER vo2.0 PROTECTION TABLE 006400 006403 104 101 104 101 000 101 006411 006414 006416 006424 006427 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 124 101 105 045 045 040 000 116 062 072 062 040 120 124 P.AEE: 122 104 101 055 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII 006450 172150 006452 000154 006454 000005 006456 000000 HWPT.IP.ADDR:: -5630 .WORD HWPT.VECTOR: : .WORD 154 HWPT.BR.LEVEL:: .WORD S HWPT .PLAT: : 006460 006462 000000C 006464 000040 006466 000002 006470 000000 SWP.STRACK:: 006472 003151 006474 055 006475 000 SWP.ETRACK:: .WORD SWP.FLAGS: : .BYTE SWP.DPAT 006476 000020 006500 006540 006542 006544 006546 000000 000000 000310 000330 000420 000422 177777 177777 177mmn LSNDH : .BLKW W: L$SWLEN: : W ORD SWP.ERROR: : .WORD SWP . XFER: : .WORD .BYTE SWP.UCNT: .WOR SWP.UDPAT:: .BLKW LS$NDSMW:: .BLKW L$PROT:: .WORD .WORD .WORD PATCH: : .PSECT .BLKW CPT:: CST:: .BLKW CST.ADDR:: .BLKW DCT:: .BLKW 31 N /LAT/ L$HWLEN: : W Page /TER/ / %D/ /3%A/ ¥ nff 000000C P.AREF: SEQ 0091 /4%D2/ /%A:/ /%027 /%A / / /7<00> /%AP/ 0064 35 006440 006442 006445 006446 000 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC;6 / /7<00> /%N/<00> <00> <<L$NDHW-L $HWLEN>/2> 0 1 <<L$NDSW-L $SWLEN>/2> 40 2 0 3151 55 0 20 20 1 -1 -1 -1 $FFF$, 144 RO 10 34 1 44 =T CZRCD1 C2RCD1 v02.0 000532 000534 000536 CZRCDBO RC2S DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE DCT.ADDR:: .BLKW RC25.ADDR: : .BLKW IRC2S.ADDR:: 000540 001060 001062 001122 001124 001126 .BLKW RPS.X1::.BLKW RPS.X2::.BLKW OUTC.LIST:: 001226 TALLY:: .BLKW T.ADDR::.BLKW MSCP.ENV:: .BLKW ENV.USE:: .BLKW RETPKT::.BLKW RP.USE::.BLKW 017774 022774 023034 RP.INDX:: 023036 RP .ADDR: : 023604 023605 023606 60 1400 20 .BLKW BUFF .DESC:: 100Q:: .BLKW I0DQ.IN:: .BLKW ENTRY.REASON:: .BLKB T.FLAG:: .BLKB EOP.FLAG:: 200 40 20 e 023602 6300 .BLKW 023440 023540 023600 600 e 023040 100 e 017634 OCL.X1::.BLKW OCL.X2::.BLKW e 001426 001430 001432 003032 003034 e 023607 DUR: : LBLKW o 02362 CPLAT:: .BLKW CUOFF:: .BLKW CTLR.CNT:: .BLKW e 023612 023614 023616 023620 A ls e 023610 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.5RC; 6 SEQ 0092 P 32 (7) C2RCD1 CZRCDBO RC2S DISK EXERCISER QIO0:: .BLKW MEM.SIZE:: BLKW 023650 e 023642 023646 N PROTECTION TABLE v02.0 I 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 e FREE .MEM.ADDR: : e 023652 e 023654 b H 023656 MINUTES:: 023672 SECONDS: : 023674 023676 ST.CODE:: 023700 $B.CODE:: BLKW TICKS:: : .BLKW STEP:: .BLKW OF .RC:: .BLKW SA.REG::.BLKW .BLKMW NEX:: .BLKW CRN:: 023702 023704 023706 023710 023712 .GLOBL .GLOBL .GLOBL 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 002010 000004 000002 000001 001000 000400 BIT15== BIT14== BIT13== BIT12== BIT1l]l== BIT10== BIT09== BITO8== 8IT07== BIT06== BITQS== BIT04== BITO3== BIT02== BITO1== BIT00== BIT9== BIT8== AR 023666 023670 b 023664 A bs CLK.CSR:: .BLKW CLK.VECTOR:: .BLKW HOURS:: .BLKW o oases: PApapapapaps | b e 023660 L$SOFT, TSPTHV, LSRPT, LSINIT LSCLEAN, LSLAST, LS$HARD, LSDVTYP LSDESC, L$DU, LSAU, LSAUTO, T1 -100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 1000 400 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0093 Page 33 7 CZRCD1 v02.0 CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE BIT7== BIT6== BITS== BIT4== BIT3== BIT2== BITl== BITO== EF .START== EF .RESTART == EF .CONTINUE== EF .NEW== EF .PWR== PRIO7== PRIO6== PRIOS== PRIO4== PRIO3== PRIO2== PRIO1== PRIOO== EVL== LOT== ADR== IDU== ISR== UAM== BOE== PNT== PRI== IXE== IBE== IER== LOE== == HOE L SERRTBL == L$SW== LSHW== L$DEPQ== HWQL == HW@2== HW@3 == HWQ4 == HWQS == HWQ6 == SWQ1== SWQ2== SWQ3== SWQ4 == SW@S== SWQ6 == SWQ7== SWQ8== SWQ9== SWQ10== SWQl1== SWQ12== 200 100 40 20 10 4 2 1 40 37 36 35 34 340 300 240 200 140 100 40 0 4 10 20 40 100 200 400 1000 2000 4000 10000 20000 40000 -100000 ERRTYP L$SWLEN+2 LSHWLEN+2 L$REV.1 .AAA .AAB .AAC .ARD .ARE . AAF . ARG . AAH .AAI .AAJ .AAK .AAL .AAM . AAN .AROD .AAP .AAQ .AAR VOV OVVVTVOVVOVOUVVUVVOVOUVOO 030200 030100 000040 000020 000010 000004 000002 000001 000040 000037 000036 000035 000034 000340 000300 000240 000200 000140 000100 000040 00000C 000004 000010 0C0020 0C0040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 000126 006464 006450° 000011 000136° 000152° 000162 000174 000230* 000314 000414 000452 000530 000576 000656 000700 000720 000736 001010° 001024 001100’ 001144 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0094 Page 34 (7) CZRCD1 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 CER. 01== CER. 02== CER. 03== DUM. 00== DUM. UC== DUM. CE== DUM. IE== DUM. HE== DUM. UE== EGS. 0l== EGS. 02== EGD. 10== EGD. 11== EGD. 12== EGD. 13== EGD. 14== EGD. 15== EGD. 16== EGD. 17== EGD. 18== EGD. 19== EGD. 20== EGD. 21== EGD. 22== EGH. 30== EBS. 01== EBD. 10== EBD. 12== EBD. 13== EBD. 14== EBD. 15== EBD. 16== EBD. 17== EBD. 18== EBD. 19== EBD. 20== EBD. 21== EBD. 22:= STC. 00== STC. 01== STC. 02== STC. 03== STC. 04== STC. 05== .AAU .AAV . AAW . AAX .ARY .ARZ .ABA .ABB .ABC .ABD . ABE . ABF .ABG .ABH .ABI .ABJ . ABK .ABL . ABM .ABN .ABO . ABP .ABQ .ABR .ABS .ABT .ABU .ABV .ABW . ABX .ABY .ABZ .ACA .ACB .ACC .ACD .ACE . ACF .ACG .ACH .ACI .ACJ .ACK .ACL .ACM .ACN .ACO .ACP .ACQ ACR .ACS .ACT .ACU .ACV .ACW 0V VU P 0 0 U U U P 0P U 0 U U SWM] == NULL == MSG. 01== MSG. 02== MSG. 03== MSG. 04== MSG. 0S== MSG. 06== MSG. 07== MSG. 08== .AAS .AAT P 0 U U SWQ13== SWQ14== SWQ15== DU P 0 0T 001176° 001274 001352° 001370* 001464 001466 001520° 001616° 001636 001670 001730 001772 002044 002140’ 002224 002270* 002344 002376 002420 002450 002470 002526 002556 0C2576' 002654 002714° 002740° 002766 003014 003052* 003104 003122° 003152° 003170’ 003210° 003234 003260 003306’ 003332/ 003400 003444 003526 003604 003676 003766 004062 004160’ 004224 004264 004350’ 004436 004542 004556 004602’ 004626 004650 004674 U U 0 0 0 0 0 U 0 U 0 V0V VU UV VUV UVUUVUVUVUUVUVUOD PROTECTION TABLE v02.0 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0095 [ 35 7 CZRCD1 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 0 0 VU 0O 0V 0 0 0O VU0V VU UV VUV UVUUVUUVUUVUUOUOUOVUD STC.06== STC.07== STC.08== STC.09== STC.10== STC.11== EBH.31== EBH. 32== EBH.34== EBH.35== EBH.36== EBH.37== EBH.38== EBH.39== EBH.40== EBH.41== EBH.42== EBH.43== EX.SA== EX.CRN== EX.SC== EX.DSC== EX.SB== EX.CMD== EX.SCC== EX.ONL== EX.ESP== EX.SND== EX.RD== EX.WRT== EX.CMP== EX.BB== EX.LBN== EX.CBC== EX.BC== EX.BD== EX.EL== EX.PA== EX.FMT== EX.EVC== EX.HMA== EX.03== ETIME== PLATT== CRLF == DFPTBL== SFPTBL== 0 VU 0V U .ACX .ACY .ACZ .ADA .ADB .ADC .ACS .ACT .ACV .ACW .ACX .ACY .ACZ .ADA .ADB .ADC .ADD .ADE . ADF .ADG .ADH .ADI .ADJ . ADK .ADL .ADM . ADN .ADO .ADP .ADQ .ADR .ADS .ADT .ADU .ADV .ADW . ADX .ADY .ADZ . AEA .AEB .AEC .AED . AEE . AEF P 0P 0P 0O P 004724 004750 005002° 005022 005060° 005106 004556 004602 004650° 004674 004724 004750 005002' 005022 005060° 005106 005126° 005174 005256 005304 005342 005400° 005440' 0C5474' 005514° 005534 005546 005602 005616' 005626 005636 005654 005720° 005744 006012° 006070 006150 006212' 006242' 006262 006306 006356 006372 006416' 006442 006450 006464’ VO O O VP 0 v02.0 L$HWLEN+2 L$SWLEN+2 PSECT SUMMARY Psect Name $CODE$ $FFFs$ Words 1716 5094 Attributes i RO , 1 . LCL, REL, REL, CON CON VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0096 Page 36 7N CZRCD1 CZRCDBO RC25 DISK EXERCISER v02.0 PROTECTION TABLE B P : File e RIS T L e Symbols -------- USER$1:[AZTEC.CZRCDB]CZRCDL.L16;6 3 : ; ; ; ; Total Loaded Percent 276 138 50 COMMAND QUALIFIERS 3 : 14-Jun-1985 09:28:52 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD1.SRC; 6 Library Statistics : ; 14-Jun-1985 09:35:23 BLISS/PDP11 CZRCD1.SRC/LIST/EN:NOEIS Size: Run Time: 0 code + 6810 data words 00:58.9 00:59.9 Elapsed Time: Lines/CPU Min: 1938 Lexemes/CPU-Min: 13067 Memory Used: 258 pages Compilation Complete Pages Mapped Processing Time 16 00:00.2 SEQ 0097 Page 37 7N - 0005 0006 0007 0043 0044 0045 0046 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 s s s ot e b n e et et e et e e e et (e e e et et et et e D O O O O 0001 0002 0003 0004 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 o W W G0 @0 @0 G0 @0 W0 G G0 S G0 G0 G0 S8 G5 G0 G0 G0 G S8 @ G G @6 @0 @8 @8 s S e CZRCD2 MODULE CZRCD2 ( STITLE IDENT = 'CZRCDBO RC25 DISK EXERCISER' 'V02.0', ADDRESSING _MODE (ABSOLUTE) ) = BEGIN %SBTTL 'DECLARATIONS' LIBRARY 'CZRCDL'; REQUIRE ! RC25 EXERCISER GLOBAL LIBRARY 'BLSMAC.REQ’'; ! DIAGNOSTIC SUPERVISOR LIBRARY FORWARD ROUTINE NEX_TRAP : L$ISR NOVALUE, CLK_INT_SERV : L$ISR NOVALUE, EMS_01 : NOVALUE; EXTERNAL PATCH ! : ! : CPT : VECTOR [100, WORD], ! PATCH AREA : VECTOR [MAX_UNITS, BYTE], CURRENT PASS TESTING (YES / NO) PER UNIT CST : BLOCKVECTOR [MAX_CTLR, CST_LEN, WORD] FIELD (C_FIELDS), RUN-TIME CONTROLLER STATUS TABLES CST_ADDR : REF BLOCK [CST_LEN, WORD] FIELD (C_FIELDS), CONTROLLER STATUS TABLE ADDRESS OF "CURRENT” CONTROLLER : BLOCKVECTOR [MAX_CTLR, DCT_LEN, WORD) FIELD (DC_FIELDS), DRIVER CONTROLLER TABLES DCT_ADDR : REF BLOCK [DCT_LEN, WORD] FIELD (DC_FIELDS), ADDRESS OF “CURRENT” DRIVER CONTROLLER TABLE RC25_ADDR : REF RC25 FIELD (RC_REG), DEVICE ADDRESS OF “CURRENT" CONTROLLER DCT VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0098 Page 1 (1) RP_SAVE : VECTOR [MAX_CTLR = RPS_LEN, BYTE, SIGNED], RETURN PACKET SAVE AREA RPS_X1 : WORD, ! STARTING INDEX OF CURRENT CONTROLLER'S RP_SAVE AREA RPS_X2 : WORD, ! ENDING INDEX OF CURRENT CONTROLLER'S RP_SAVE AREA OUTC_LIST : VECTOR [MAX_CTLR * OUTC_CNT, BYTE, SIGNED], OUTSTANDING COMMAND LIST (CONTAINS MSCP ENVELOPE INDECES) e S S 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 IRC25_ADDR : REF RC25 FIELD (RC_REG), DEVICE ADDRESS OF INTERRUPTING CONTROLLER OM_COMM : BLOCKVECTOR [MAX_CTLR, DMC_LEN, WORD) FIELD (DMC_FIELDS), DM EXERCISER COMMUNICATION AREA (LINK TO FRONT PANEL TEST) DMC_ADDR : REF BLOCK [DMC_LEN, WORD) FIELD (DMC_FIELDS), ADDRESS OF CURRENT CONTROLLER'S DM EXERCISER COMMUNICATION AREA OUTC_TIMR : VECTOR [MAX_CTLR * OUTC_CNT, WORD], OUTSTANDING COMMAND TIMERS Ll e e e e e e e e e e e e e e e e S6 S @ @6 @ S e S0 G5 G G0 G G0 GE S0 G0 W SE B G0 @8 G @6 9 @5 S5 S5 G0 G0 G0 S0 W he 1555 1556 1557 1558 1559 o STARTIggDINDEX OF CURRENT CONTROLLER’'S OUTSTANDING COMMAND AREA OCL_X2 : W ’ ENDING INDEX OF CURRENT CONTROLLER'S OUTSTANDING COMMAND AREA TALLY : VECTOR [MAX_UNITS # TALLY_LEN, WORD] FIELD (T_FIELDS), STATISTICS TABLES T_ADDR : REF BLOCK [TALLY_LEN, WORD] FIELD (T_FIELDS), ADDRESS OF STATISTICS TABLE (TALLY) FOR CURRENT UNIT MSCP_ENV : BLOCKVECTOR [ENV_CNT, ENV_LEN, WORD] FIELD CE_FIELDS), MSCP ENVELOPE POOL ENV_USE : VECTOR [ENV_CNT, BYTE, SIGNED], MSCP ENVELOPE POOL ALLOCATION TABLE RETPKT : BLOCKVECTOR [RP_CNT, RP_LEN, WORD] FIELD (RP_FIELDS), RETURN PACKET POOL RP_USE : VECTOR [RP_CNT, BYTE, SIGNED], RETURN PACKET POOL ALLOCATION TABLE RP_INDX : WORD, ! CURRENT RETURN PACKET INDEX RP_ADDR : REF BLOCK [RP_LEN, WORD] FIELD (RP_FIELDS), CURRENT RETURN PACKET ADDRESS SEQ 0099 CZRCD2 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 S SER SR CED TED D SR SED SR SR SER SR SER SR SR SER SER SED SED SED SEB WD SUB SEB SN SER e SEB SEB SEB SER e SeR S 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 e e e e e e e e e e e e e e el e e e e e e e e e e e S 1617 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 TABLE OF I/0 BUFFER DESCRIPTORS BUFF_OWN : VECTOR [MAX_BUF _CNT, BYTE, SIGNED], 170 BUFFER OWNERSHIP (CONTROLLER NUMBER) I0DQ : VECTOR [IODQ_LEN, BYTE], I/0 DONE QUEUE - CIRCULAR QUEUVE OF RETPKT INDECES IODQ_IN : WORD, I/0 DONE QUEUE IN POINTER I0DQ_OUT : WORD, I/0 DONE QUEUE OUT POINTER ENTRY_REASON : BYTE, HOW CURRENT PASS WAS INVOKED T_FLAG : BYTE, ONE SECOND TIMING FLAG EOP_FLAG : BYTE, END-OF -PASS FLAG MEM_MGMT : BYTE, MEMORY MANAGEMENT FLAG IIP_FLAG : BYTE, INITIALIZATION-IN-PROGRESS FLAG CCTLR ; WORD, NUMBER OF “CURRENT” CONTROLLER CPLAT : WORD, CURRENT PLATTER ADDRESS (MSCP UNIT NUMBER) CUOFF : WORD, CST OFFSET FOR CURRENT UNIT CTLR_CNT : WORD, TOTAL NUMBER OF CONFIGURED CONTROLLERS DUR : VECTOR [MAX_UNITS, BYTE], DROP UNIT REASON QIO : VECTOR [MAX_CTLR, BYTE], NUMBER OF OUTSTANDING QIOS PER CONTROLLER MEM_SIZE : WORD, AVAILABLE MEMORY (IN WORDS) UP TO 28K FREE_MEM_ADDR, START OF FREE MEMORY BELOW 28K BUFF _SIZE : WORD, SIZE (BYTES) OF AN I/0 BUFFER NUM_BUFF : WORD, NUMBER OF I/0 BUFFERS CLK_TYPE : WORD, TYPE OF CLOCK ON SYSTEM (0 = NONE, -1 = L-CLOCK, 1 = P_CLOCK) CLK_HERTZ : WORD, CLOCK HERTZ RATE CLK_CSR, CLOCK CSR ADDRESS CLK_VECTOR, CLOCK VECTOR ADDRESS HOURS : WORD, ELAPSED TIME - HOURS, MINUTES : WORD, MINUTES, SECONDS : WORD, SECONDS, TICKS : WORD, TICKS ST_CODE : WORD, CURRENT STATUS CODE SB_CODE : WORD, CURRENT SuB-CODE STEP : WORD, CURRENT STEP IN HARD_INIT OF _RC : SIGNED WORD, OFFSET (0 OR 2) TO READ IP OR SA SA_REG : WORD, STORAGE FOR SA REGISTER READS AND WRITES NEX : WORD, NON-EXISTENT MEMORY TRAP INDICATOR CRN : WORD, COMMAND REF NUMBER OF LAST COMMAND SENT HWA1, HWQ2, HWQ3, HWQ4 , HWQS, e e e 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 VAX-11 Bliss-16 V4.0-579 BUFF_DESC : BLOCKVECTOR [MAX_BUF _CNT, DESC_LEN, WORD) FIELD (BD_FIELDS), HWQ6, SWa1, sWQ2, SWQ3, SWQ4, SWQs, SWQ6, SWQ7, L 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 . v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 SWQ9, SWQ10, SWQ11, sWa12, SWas, SEQ 0100 Page 3 (2) CZRCD2 v02.0 i ;1645 ; 1646 ;. 1647 ;1648 ;. 1649 i 1650 s 1651 ;1652 s 1653 ;. 1654 i 1655 i 1656 s 1657 i 1658 i 1659 i 1660 i 1661 ;. le62 i 1663 ;1664 i 1665 i 1666 ;. 1667 i 1668 ;1669 i 1670 i 1671 i 1672 i 1673 ;. 1674 i 1675 i 1676 .. BBTY ;1678 s 1679 i 1680 i lesl i 1les2 i 1683 ;1684 ;1685 ;1686 ;1687 ;1688 i 1689 i 1690 p 1691 i 1692 i 1693 i 1694 i 1695 i 169 T 1698 3 i 1699 i 1700 i 1701 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 § 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 PR 1 1 1 1 SWa1s, SwWai4, SWai1s, SWML, MSG_01, MSG_07, CER_O1, CER_02, CER_03, DUM_00, buM_uC, DUM_CE, DUM_IE, DUM_HE, DUM_UE, EGS_01, EGS_02, EBS_O01, EBD_10, EBD_12, EBD_13, EBD_14, EBD_15, EBD_16, EBD_17, EBD_18, EBD_19, EBD_20, EBD_ 21, EBD_22, EBH_31, EBH_32, EBH_34, EBH_35, EBH_36, EBH_37, EBH_38, EBH_39, EBH_40, EBH_41, EBH_42, EBH_43, EX_SA, EX_CRN, EX_SC, EX_DSC, EX_SB, EX_CMD, EX_ScCC, EX_ONL, EX_ESP, EX_SND, EX_RD, EX_WRT, EX_CMP, EX_BB, EX_LBN, 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;: 8 SEQ 0101 P (2) CZRCD2 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1705 1706 el e e e e e S 1710 1711 1712 1713 1714 1715 S S S S S S AP 1707 1708 1709 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 b Ex_CBC, EX_BC, EX_BD, EX_03, ETIME, PLATT, CRLF, SWP_ERROR : . 1702 1703 1704 Ll e e e W5 G5 % S0 @0 SF @0 G0 @5 @0 W @ e s v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 WORD, SWP_STRACK : WORD, SWP_ETRACK : WORD, SWP_FLAGS : BYTE, LSLUN, LSUNIT; %SBTTL 'TYPE AND DESCRIPTION' EQUALS; * THE TEXT WHICH APPEARS IN THESE MACROS IS DISPLAYED TO THE USER WHEN THE DIAGNOSTIC IS FIRST LOADED AND RUN. DEVTYP (%ASCIZ'SINGLE RC25 PLATTER'); ! “UNIT IS SINGLE RC25 PLATTER” DESCRIPT (#ASCIZ'RC25 DISK EXERCISER'); ! TEST DESCRIPTION SEQ 0102 Page S (2) CZRCD2 v02.0 1745 1746 1747 1748 1749 b P b s e (e e o (b e e e e e e e e e 1744 HARDWARE PARAMETER CODING SECTION 0 1t ot o 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 CZRCDBO RC25 DISK EXERCISER %SBTTL 14-Jun-1985 09:36:36 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 'HARDWARE PARAMETER CODING SECTION' 1 ! ! ! ! ' THE HARDWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO BUILD " TABLES. THE MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BU| ARE INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS WITH THE OPERATOR. ' BGNHRD; GPRMA (HWQ1, O, O, #0'160000', %0'177777', YES, 1); GPRMA (HWQ2, 2, 0, %0'4', #%0'774', YES, 1); GPRMD (HWQ3, 4, 0, %0°'177777', %0'4', %0'7', YES, 1); GPRMD (HWQ4, 6, D, %0'377', #DECIMAL'O’, #DECIMAL'253', GPRML (HWQS, 6, %0'100000', NO, 1); GPRML (HWQ6, 6, %0’'100000', NO, 1); XFERF (HWDONE); sL (HWDONE); ENDHRD; ! IP ADDRESS ! VECTOR ! BR LEVEL YES, 1); ! PLATTER ADDRESS ! WRITE ON CUST DATA AREA ! ! NO - DONE &% WARNING / CONFIRM SEQ 0103 Page 7 (4) 1765 1767 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 ®SBTTL 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0104 Page 8 (s) 'SOFTWARE PARAMETER CODING SECTION' * 0 0 10 et 0 et e 0 (0 0 et e e e e et e ot o o et e e e [ ot i o i e i e e e et b e et e CZRCDBO RC25 DISK EXERCISER SOFTWARE PARAMETER CODING SECTION THE SOFTWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO INTERROGATE THE OPERATOR FOR SOF TWARE INFORMATION WHICH WILL BE PLACED IN THE SOFTWARE P-TABLE. 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. GPRMD GPRMD GPRML GPRML (SwQi, (SwQ2, (SWQ3, (SWQ4, O, 2, 8, 8, GPRML (SWQ5, 8, GPRMD (SWQ6, 4, GPRMD (SWQ7, 6, GPRML (SWQ8, 8, DISPLAY (SWM1); GPRML (SWQ9, 8, D, %0'177777', O, 65535, YES, D, %0'177777', O, 65535, YES, SWF_SEL, YES, 1); SWF_DM, YES, 1); 1); 1); SWF_RDM, YES, 1); D, %0°'177777', O, MAX_TRACK, YES, 1); D, %0'177777', GP$ATLOC4), MAX_TRACK, SWF_CRC, YES, 1); ! ERROR LIMIT ! TRANSFER LIMIT ! SUPPRESS ERROR LOG PRINTING ! RUN DM EXERCISER ! IF YES - DONE ! RANDOM SEEK MODE ! STARTING TRACK YES, 1); ! ENDING TRACK ! READ-COMPARES AT CONTROLLER ! REMAINING QUESTIONS ONLY APPLY ... SWF_W0, YES, 1); ! WRITE ONLY GPRML (SWQ10, 8, SWF_CWC, YES, 1); ! WRITE-COMPARES AT CONTROLLER XFERT (SW1); ! IF YES, SKIP NEXT QUESTION GPRML (SWQ11, 8, SWF_HWC, YES, 1); ! CHECK WRITES AT HOST BY READING s$L (SW1); GPRM. (siéJ4l2, 8, SWF_UDP, YES, 1); USER-DEFINED DATA PATTERN XFERT (SW2); IF YES, SKIP NEXT QUESTION GPRMD (SWQ13, 8, D, %0'177400', O, DP_CNT, YES, 1); gghECT PRE-DEFINED DATA PATTERN XFER (SW4); SL (SW2); GPRMD (SWQ14, 10, D, %0'177777', 1, MAX_UDP_CNT, YES, 1); ! NO. OF WORDS IN USER DATA PATTERN GPRMD (SWQ15, 12, 0, #0'177777', O, %0'177777', NO, 10); ! PATTERN VALUES sL (SW3); $L (SW4); ENDSFT; | CZRCD2 CZRCDBO RC2S DISK EXERCISER REPORT CODING SECTION -~ . e e s s s po s o SSBTTL BGNRPT; 14-Jun-1985 09:32:03 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC; 8 THE REPORT CODING SECTION CONTAINS THE SR_HD = UPLIT “PRINTS” CALLS THAT GENERATE THIS SECTION IS EXECUTED BY THE OPERATOR COMMAND “PRINT” OR BY THE PROGRAM MACRO "DORPT", (SASCIZ'¥NSAssssssssssstsssssssss SUMMARY SR_ET = UPLIT (wASCIZ'SAELAPSED TIME: «D2%A:%D2%A:%D2%N’), SR_MH1 = UPLIT (wASCIZ'#NsA NO. NO. SR_MH2 = UPLIT (wASCIZ'SNsAUNIT READS WRITES MBYTES SR_MH3 = UPLIT (#ASCIZ'#N#A NO. (K=1000) (K=1000) READ SR MH4 = UPLIT (®ASCIZ'®NSA---- --ccccee cecccncnn cecece SR_UN = UPLIT (#ASCIZ'«N%D3'), SR_LO = UPLIT (%ASCIZ'%D9%A '), SR_HI = UPLIT (#ASCIZ'«D9%AK"'), SR_ML = UPLIT (#ASCIZ'«D9%D8%D9%D7'), SR_EHM1 = UPLIT (SASCIZ'SNsNSAN SYMBOL ECC ERRORS:®N'), SR_EH2 = UPLIT (#ASCIZ'%NwA ECC' ), SR_EM3 = UPLIT (WASCIZ'SNSAUNIT FIELD N= N= N= SR_EM4 = UPLIT (WASCIZ'SNsA NO. ONLY 1 2 3 SR B3 5 UPLIT COASCIZ'ONIA--~- scoce ssass sasie abess SR_EL1 = UPLIT ($ASCIZ'%NsD3%D8%D7%D7%D7"), SR_EL2 = UPLIT (#ASCIZ'sD7%D7%D7%D7%D7'), SR_DH1 = UPLIT (#ASCIZ'%NsA NO. NO. NO. '), SR_DH2 = UPLIT (#ASCIZ'sNSAUNIT READS WRITES ~ SEEKS SR_DM3 = UPLIT (#ASCIZ'®$NsA NO. (K=1000) (K=1000) (K=1000) SR DME & UPLIT (SASCIZ'SNBA---c cccoccos ssccssss sseccsss SR_DL = UPLIT (wASCIZ'«D9%D8%D10%D10'); OWN SEQ 0105 'REPORT CODING SECTION' STATISTICAL REPORTS. BIND VAX-11 Bliss-16 vV4.0-579 ADDR _LO; : NCVALVE NO. HARD ERRORS MBYTES WRITTEN cevccce N= a svess sissssssssssssssssssssN' ), NO.'), ERROP' ), LOGS'), ccccce ccoe- SN ), N= 5 sadss MBYTES READ secese N= 5 N= 7 soess sssis MBYTES WRITTEN seessse NO. HARD ERRORS seesesss ADDR OF LOW-ORDER FIELD OF I/O COUNT = . ROUTINE HI_LO ! REPORT THIS ROUTINE IS CALLED FROM THE MAINLINE CODE OF THE REPORT CODING SECTION WHICH APPEARS BELOW. ITS PURPOSE IS TO PRINT THE HIGH-ORDER FIELD OF ONE OF THE 1/0 COUNTS IF THE FIELD IS NON-ZERO. OTHERWISE, THE LOW-ORDER FIELD IS PRINTED. IMPLICIT INPUTS: ADDR_LO - ADDRESS OF THE LOW-ORDER FIELD OF AN I/0 COUNT ADDR_HI = _ADDR_LO - 2; IF ..ADDR_HI EQLV O THEN ! ADDR OF HIGH-ORDER FIELD OF I/0 COUNT GET HIGH-ORDER FIELD ADDRESS IF HIGH-ORDER FIELD IS ZERO THEN e ADDR _HI; - LOCAL w BEGIN O8O OGN O8O 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 17 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1345 PO PO 0 D 1D DD PO DL T RL L TV TV D L LU DD R MUY L Y PO D D D D D D PO D D PO R PO D I v02.0 14-Jun-1985 09:36:36 N='), 8, ssmes ), NO. SOFT'), ERRORS' ), sescsses N‘), Page 9 (6) CZRCDBO RC2S DISK EXERCISER CZRCD2 v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 1846 1847 1848 1849 1850 NWWwWS REPORT CODING SECTION ELSE PRINTS (SR_LO, ..ADDR_LO) PRINTS (SR_MWI, . .ADDR_HI); ! PRINT LOW-ORDER FIELD ! OTHERWISE ! PRINT HIGH-ORDER FIELD (THOUSANDS) END; ! ROUTINE HI_LO LTITLE . IDENT .ENABL 000000 000000 000003 000006 000011 000014 000017 000022 000024 000C26 000031 000034 000037 000042 000045 000050 000052 000054 000056 000060 000062 000064 000066 000070 000072 000C74 000076 000100 000102 00C104 000106 000110 000112 000114 000116 000120 000122 000124 000126 000130 000132 000134 000128 123 111 116 107 114 122 065 114 124 000 105 103 040 062 120 124 122 122 065 111 040 105 111 122 000000C 000031 0000006 160000 177777 001031 000000G 000004 000774 002032 000000G 177777 000004 002007 003052 0000006 000377 000000 000375 003120 0000006 100000 000200C 003120 0000006 100000 103 040 123 105 122 123 000 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 040 101 105 062 104 113 130 103 105 CZRCD2 CZRCDBO RC2S DISK EXERCISER ::22.01 .PSECT LSDVTYP:: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .BLKB LS$DESC::.ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .BLKB L$HRDLN: : .WORD GP$1:: .WORD .WORD .WORD .WORD GPs$2:: .WORD .WORD .WORD .WORD GP$3:: .WORD .WORD .WORD .WORD .WORD GP$4:: _WORD .WORD .WORD .WORD .WORD GP$5:: .WORD .WORD .WORD 377 0 375 3120 HWQS -100000 GP$6:: 3120 $HWDO : .WORD NE .WORD .WORD .WORD $CODEs, RO /SIN/ /GLE/ / RC/ /725 7/ /PLA/ /TTE/ /R/7<00> 2 /RC2/ /S D/ /ISK/ / EX/ /ERC/ /1ISE/ /R/7<00> 2 << <L $NDHRD -L $HRDLN>/2>-1> 31 HWQ1 -ioooo 1031 HWQ2 4 774 2032 HWQ3 -1 4 7 3052 HWQ4 <<<<$_ HWDONE - $SHWDONE > 400> +4>+40> HWQ6 -100000 SEQ 0106 10 (6) CZRCD2 v02.0 000140 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION 001004 $LHWDONE : 000142 000144 000000C 000146 000150 000152 000154 000156 000160 000162 000164 000166 000170 000172 000174 000176 000200 r70202 000052 000206 000210 000212 000214 000216 000220 000222 000224 000226 000230 000232 000234 000236 000240 000242 000244 000246 000250 000252 000254 000256 000260 000262 000264 000266 000270 000272 000274 000276 000300 000302 000304 0003C6 000310 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 1 0000006 177777 000000 177777 001052 000000G 177777 000000 177777 004130 0000006 000001 004130 0000006 000002 000000C 0C4130 0C0000G 000004 002052 000000G 177777 000000 003151 003452 0000006 177777 000002 003151 000001 004130 000000G 000010 000003 000000G 004130 000000G 000020 004130 0000006 000040 000000C 004130 0020006 000100 001004 004130 0020006 000200 1004 .WORD .WORD .WORD .WORD GP$10:: .WORD .WORD .WORD $SW3: .WORD GPs$11:: .WORD .WORD .WORD GPs$12:: .WORD .WORD .WORD .WORD .WORD GP$13:: .WORD .WORD .WORD .WORD .WORD .WORD GP$14:: .WORD .WORD .WORD GP$DISP: : .WORD .WORD GP$15:: .WORD .WORD .WORD GP$16:: .WORD .WORD .WORD $SW1: .WORD GP$17:: .WORD .WORD .WORD $LSWL: .WORD GP$18:: .WORD .WORD .WORD GP$9:: <<<LSNDSFT-LS$SFTLN>/2>-1> 52 SWQ1 -1 0 -1 1052 SWQ2 -1 0 -1 4130 SWQ3 1 4130 gu04 <<c<<$LSWH3-$SH3>+400>+4>+20> 4130 SWQS 4 2052 SWQé -1 0 3151 3452 SWQ7 -4 2 3151 1 4130 SWQ8 10 3 SWM1 4130 SWQ9 20 4130 SWQ10 40 <<<<$LSW1-$SW1>4400>+4>+20> 4130 SWQ11 100 1004 4130 SwQ12 200 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0107 Page 11 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 000312 000314 000316 000320 000322 000324 000326 000330 000332 000334 000336 000340 000342 000344 000346 000350 000352 000354 000356 000360 000362 000364 REPORT CODING SECTION 030000C 004052 000000G 177400 000000 000025 000000C 001004 $SW2: GP$19:: $SW4 sLSW2: 005052 000000G GP$20:: 177777 000001 000020 006222 0000006 177777 000000 177777 000005 001004 001004 GPs21:: 000003 000006 000011 000014 000017 000022 000025 000030 000033 000036 000041 000044 000047 000052 000055 000060 000063 000066 000071 000074 000077 000102 000105 000110 000113 000116 000121 000124 - .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD €ccc$LSH2-$SW2>+400>+4>+20> 4052 SWQ13 -400C 0 25 <<c<$LSW4-$SUE>+400>+4> 1004 5052 Sr014 $LSW3: .WORD $LSW4: _WORD L$NDSFT: : .BLKW 000366 000000 000000 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ADDR.LO: .BLKW 045 101 052 052 052 052 052 052 052 040 115 040 122 040 122 040 117 040 052 052 052 052 052 052 052 045 045 114 123 116 052 052 052 052 052 052 052 045 052 052 052 052 052 052 052 125 040 101 040 040 115 040 131 040 040 040 120 040 124 052 052 052 052 052 052 052 116 101 101 105 P.AAA: 123 .ASCII .ASCII .ASCII .ASCII .ASCII 040 105 040 122 040 352 052 052 052 052 052 052 000 105 120 104 .PSECT .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII P.AAB: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII $PLITS, /%N%/ /A%k%/ /hkk/ /hkk/ /hkk/ /hkk/ /hkk/ /hkk/ /% S/ AN /M M/ / A/ /R Y/ / / /R E/ /P 7/ /0 R/ " A /hkk/ /hkk/ /hkk/ /hkk/ /hkk/ /hkk/ /hkk/ /%N/<00> /%AE/ /LAP/ /SED/ VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0108 Page 12 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION 040 127 124 040 115 124 040 102 105 040 110 104 040 122 000 045 101 117 040 075 060 04cC 125 124 040 101 040 040 122 105 040 102 105 040 131 123 040 101 040 105 117 000 116 040 056 050 061 060 040 P.AAC: 117 040 040 040 040 040 040 040 040 117 040 116 000 045 116 040 122 P.AAD: 104 040 040 111 123 040 131 123 115 124 040 040 122 040 122 122 045 116 040 113 060 051 050 P.AAE: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /A:%/ /D2%/ /R:%/ /D2%/ /N/<00><00> /%N%/ 7/ /A v 040 040 040 040 056 040 117 045 101 111 040 105 123 000 045 040 040 040 056 040 040 /D2%/ o o 040 040 040 040 117 040 040 116 040 040 040 040 040 040 040 040 116 040 040 056 116 045 045 / 11/ /ME:/ / %/ = o o SRR NRSYTSYTYNWNN 101 040 040 116 040 040 040 072 062 972 062 000 116 040 040 040 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII +ASC11 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII VWRNI RN 104 101 104 101 104 116 045 111 072 045 045 045 045 =z o 040 124 105 040 062 :a\\\\\\\\\\\\\\\\\ = 040 115 . i\z e N v02.0 000127 000132 000135 000140 000143 000146 000151 000154 000157 000162 000165 000170 000173 000176 000201 000204 000207 000212 000215 000220 000223 000226 000231 000234 000237 000242 000245 000250 000253 000256 000261 000264 000267 000272 000275 000300 000303 000306 000311 000314 000317 000322 000325 000330 000733 000336 000341 000344 000347 000352 000354 000357 000362 000365 000370 000373 000376 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 /AUN/ T r / R/ /ERAD/ /S / / / /WRI/ /TES/ / / /MBY/ /TES/ / M/ /BYT/ /ES 7/ / / /HAR/ /D 7/ / ER/ /ROR/ <00><00> /%N/ /A N/ R, / / (K/ /=10/ /700)/ £ K7 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0109 Page 13 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION v02.0 000401 000404 000407 000412 000415 000420 000423 000426 000431 000434 000437 000442 000445 000450 000453 000456 000461 000464 000467 000472 000475 000500 000503 000506 000511 000514 000517 000522 000525 000530 000533 000536 000541 000544 000547 000550 000553 000556 000561 000564 000566 000571 000574 000576 000601 000604 000607 000612 000614 000617 000622 000625 000630 000633 000636 000641 000€44 R 113 060 051 040 101 040 122 124 040 122 122 040 107 045 101 055 040 055 055 040 055 055 055 055 055 040 055 055 040 055 055 040 055 045 000 045 104 045 045 045 045 000 045 045 045 045 000 045 116 116 131 117 105 040 122 123 075 060 040 122 104 040 111 105 040 122 123 114 123 116 055 055 055 055 055 040 055 055 040 055 055 040 055 055 040 055 055 055 055 116 116 063 104 101 061 060 040 105 040 127 124 116 105 117 040 117 000 045 055 040 055 055 055 055 055 055 040 055 055 055 055 055 055 055 040 055 055 000 P.AAF: 045 000 P.AAG: 071 040 P.AAH: 071 P.ARI: 071 070 071 067 P.AAJ: 045 101 123 102 040 103 122 122 P.AAK: 113 117 072 045 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASC1I .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /K=1/ 7000/ 53 ¥ / RE/ /RD / / W/ /RIT/ /TEN/ /7 €7 /RRO/ /RS / / L0/ /GS/7<00> /%N%/ /A--/ /-=-/ / --/ /-=--/ /=-=-=/ / -/ /-=-=-/ /=-==/ beo /-==/ /=-=-=-/ / -/ /=-=--/ /=-==/ g /=-==-/ /--/ / ==/ /=-=-=/ /%N/<00> <00> /%N%/ /D3/<00> /%D9/ /%A / <00><00> /%D9/ /%AK/ <00><00> /%D9/ /%D8/ /%D9/ /%D7/ <00><00> /%N%/ /NsA/ /N S/ /YMB/ /0L / /ECC/ / ER/ /ROR/ /S:%/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0110 Page 14 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 040 075 040 040 040 116 040 040 075 040 040 040 116 040 040 075 045 101 117 040 116 040 040 040 040 040 040 063 040 040 040 040 040 040 066 040 040 040 040 000 045 101 116 045 116 040 111 104 040 075 125 124 106 114 040 040 040 116 040 040 075 040 040 040 116 040 040 075 040 040 040 116 000 116 040 056 040 114 040 061 040 040 040 040 040 040 064 040 040 040 040 040 040 067 040 040 116 055 P.AAL: P.AAM: 040 040 040 116 040 040 075 040 040 040 116 040 040 075 040 040 000 045 116 040 117 131 040 040 P.AAN: 040 062 040 040 040 040 040 040 065 040 040 040 040 040 040 070 045 055 P.AAO: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /N/<00><00> /%N / /AR / ¢y 7/ / /CC/<00> <00> / /%N /AUN/ /1T 7/ / F1/ /ELD/ / / /N =/ / / / N/ /= / / N/ / =/ / / /N =/ 4 / / N/ /= / J W y e / / /N =/ / ' / N/ /=/<00><00> /%N%/ /A N/ /0. / / 0/ /NLY/ / / w n RV ERNSSESRSRURSNNAYN ~ 101 111 040 105 040 116 040 000 045 040 040 105 000 - 045 000 116 040 040 040 103 [ 000733 000736 000741 000744 000747 000752 000755 000760 000763 000766 000771 000774 000777 001002 001005 001010 001013 001016 001021 001024 001027 001032 001035 001040 001043 001046 001051 001054 001057 001062 001065 001070 001073 001076 001101 001104 001107 001110 001113 116 045 101 040 040 103 000 »H 000714 000717 000722 000725 000730 REPORT CODING SECTION \\\a\\\\\\\\\\\ w 000647 000652 000655 000660 000663 000666 000671 000672 000675 000700 000703 000706 000711 14-Jun-1 Q%E 09:36:36 14-Jun-1 9 o VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0111 Page 15 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 001116 001121 001124 001127 001132 001135 001140 001143 001146 001151 001154 001157 001162 001165 001170 001173 001176 001201 001204 001207 001212 001215 001220 001222 001225 001230 001233 001236 001241 001244 001247 001252 001255 001260 001263 001264 001267 001272 001275 001300 001303 001306 001311 001314 001317 001322 001325 001330 001333 001336 001341 001344 001347 001352 001355 001360 001363 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 REFORT CODING SECTION 055 040 055 040 055 055 055 055 055 040 055 055 055 040 055 040 055 055 055 055 040 055 040 055 055 055 055 040 055 040 055 055 000 116 063 070 067 067 067 104 104 104 104 104 040 056 040 040 117 045 101 111 040 105 123 040 127 124 040 116 040 040 040 117 040 040 116 040 040 040 116 125 124 040 101 040 040 122 105 040 040 055 055 055 055 040 055 040 055 055 055 055 040 055 040 055 055 055 055 040 055 045 045 045 045 045 045 000 067 067 067 067 067 045 040 040 040 056 040 040 117 040 040 116 000 045 116 040 122 104 040 040 111 123 040 P.AAP: P.AAQ: P.AAR: P.AAS: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /--/ / -/ /=-==/ / -/ /===/ /7/ /-=-=/ /-=-/ R /=-==/ AR /-==/ Fe F /-=</ /== 7 / ==/ /-==/ / -/ [-==/ // [===/ /--%/ /N/<Q0> /%N / /D3%/ /D8%/ /D7%/ /D7%/ /D7/<00> /%D7/ /%D7/ /%D7/ /%D7/ /%D7/ <00> /%N%/ /A / VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0112 Page 16 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 001366 001371 001374 001377 001402 001405 001410 001413 001416 001421 001424 001427 001432 001435 001440 001443 001444 001447 001452 001455 001460 001463 001466 001471 001474 001477 001502 001505 001510 001513 001516 001521 001524 001527 001532 001535 001540 001543 001546 001551 001554 001557 001560 001563 001566 001571 001574 001577 001602 001605 001610 001613 001616 001621 001624 001627 001632 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 REPORT CODING SECTION 040 105 040 040 131 123 115 124 040 116 040 122 040 056 117 045 101 117 040 075 060 040 113 060 051 050 061 060 040 105 040 127 124 116 040 122 123 123 113 040 115 124 040 102 105 040 117 110 104 116 040 106 105 123 040 102 105 040 131 123 040 056 101 040 117 123 124 116 040 056 050 061 060 040 075 060 040 113 060 051 045 116 040 113 060 051 050 061 060 040 075 060 040 122 040 101 040 122 124 040 105 117 040 040 111 105 040 122 122 040 040 040 122 122 122 123 105 117 000 045 101 055 116 055 055 055 055 055 040 055 055 040 055 055 055 055 055 045 055 040 055 055 055 055 055 055 040 055 055 040 055 055 040 055 055 040 055 055 055 055 055 055 040 055 P.AAT: P.AAU: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII / SE/ /EKS/ / / / MB/ /YTE/ 7/ /S /MBY/ /TES/ / / /NO./ / HA/ /RD 7/ / NO/ Ve & /0FT/ <00> /%N%/ /A N/ /0. / /7 (K/ /=10/ /700)/ £ X7 /K=1/ /7000/ ) /(K=/ 7100/ /0) / / R/ /ERD/ / ’ /WRI/ /TTE/ /N / / ER/ /ROR/ 7 ’s / E/ /RRO/ /RS/<00> <00»> /%N%/ /A--/ /--/ / ==/ /-=-=-/ /-==/ / -/ /-=-/ /=-=-=/ // /-=-=-/ /=-=-=/ /--/ / ==/ /===/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0113 Page 17 (6) CZRCD2 v02.0 001635 001640 001643 001646 001651 001654 001657 001662 001665 001670 001673 001676 001701 001704 001707 001712 001715 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 REPORT CODING SECTION 055 055 055 055 055 055 055 040 055 055 045 045 045 045 060 061 000 040 055 055 040 055 055 055 055 055 055 116 104 104 104 045 060 040 055 055 040 055 055 040 055 055 055 000 071 070 061 104 000 P.AAV: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 /- 7/ /-==/ /=-==/ /7/ /=-=-=/ /=-==/ /--/ / --/ /-==/ /-=-=/ /%N/<00> /%D9/ /%D8/ /%D1/ /70%D/ /710/<00> <00> PATCH, CPT, CST, CST.ADDR, DCT DCT.ADDR, RC25.ADDR, IRC2S.ADDR DM.COMM, DMC.ADDR, RP.SAVE, RPS.X1 RPS.X2, OUTC.LIST, OUTC.TIMR, OCL.X1 OCL.X2, TALLY, T.ADDR, MSCP.ENV ENV.USE, RETPKT, RP.USE, RP.INDX RP.ADDR, BUFF.DESC, BUFF.OWN, IODQ IODQ.IN, IODQ.OUT, ENTRY.REASON T.FLAG, EOP.FLAG, MEM.MGMT, IIP.FLAG CCTLR, CPLAT, CUOFF, CTLR.CNT DUR, QIO, MEM.SIZE, FREE.MEM.ADDR BUFF .SIZE, NUM.BUFF, CLK.TYPE CLK.HERTZ, CLK.CSR, CLK.VECTOR HOURS, MINUTES, SECONDS, TICKS ST.CODE, SB.CODE, STEP, OF.RC SA.REG, NEX, CRN, HWQ1, HWQ2, HWQ3 HWQ4, HWQS5, HWQ6, SWQl, SWQ2, SWQ3 SWQ4, SWQS, SWQ6, SWQ7, SWQ8, SWQ9 SWQ10, SWQl1, SwWQ12, SWQ13, SWQi4 SWQ15, SWM1, MSG.01, MSG.07, CER.O1 CER.02, CER.03, DUM.00, DUM.UC DUM.CE, DUM.IE, DUM.HE, DUM.UE EGS.01, EGS.02, EBS.01, EBD.10 EBD.12, EBD.13, EBD.14, EBD.1S EBD.16, EBD.17, EBD.18, EBD.19 EBD.20, EBD.21, EBD.22, EBH.31 EBH.32, EBH.34, EBH.35, EBH.36 EBH.37, EBH.38, EBH.39, EBH.40 EBH.41, EBH.42, EBH.43, EX.SA EX.CRN, EX.SC, EX.DSC, EX.SB, EX.CMD EX.SCC, EX.ONL, EX.ESP, EX.SND EX.RD, EX.WRT, EX.CMP, EX.BB, EX.LBN EX.CBC, EX.BC, EX.BD, EX.03, ETIME PLATT, CRLF, SWP.ERROR, SWP.XFER SWP.STRACK, SWP.ETRACKX, SWP.FLAGS LSLUN, LSUNIT SEQ 0114 Page 18 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION v02.0 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 001000 000400 000200 000100 000040 000020 000010 0C0004 000002 000001 000040 000037 000036 000035 000034 000340 000300 000240 000200 000140 000100 000040 000000 000004 000010 000020 000040 000100 000200 001000 002000 004000 010000 020000 040000 100000 000056 000146 000000 000116° - BIT1S== BIT14== BIT13== BIT12== BITil== BIT10== BIT09== BIT08== BIT07== BITO6== BITOS== BIT04== BIT03== BIT02== BITO1== BIT00== BIT9== BIT8== BIT7== BIT6== BITS== BIT4== BIT3== BIT2== BITl== BITO== EF .START== EF .RESTART == EF .CONTINUVE== EF .NEW== 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 -100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 EF .PUR== PRIO7== PRIO6== PRIQOS== PRIO4== PRIO3== PRIO2== PRIO1== PRIOO== EVL== LOT== ADR== IDU== ISR== UAM== BOE== PNT== PRI== IXE== IBE== IER== LOE== HOE== L$HARD== L$SOFT== SR.HD= SR.ET= 400 1000 2000 4000 10000 20000 40000 -100000 L$HRDLN+2 L$SFTLN+2 P.AAA P.AAB VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0115 Page 19 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION v02.0 000162 000256 000354 000450 000550 000556 000566 000576 000614* 000652 000672 001002 001110’ 001222 001244 001264 001330 001444° 001560 001676 14-Jun-1985 09:32:03 SR.MH1= SR.MH2= SR.MH3= SR.MH4 = SR.UN= SR.LO= SR.HI= SR.ML= SR.EH1= SR.EH2= SR.EH3= SR.EH4= SR.EHS= SR.EL1= SR.EL2= P.AAC P.AAD P.AAE P.AAF P.AAG P.AAH P.AAI P.AAJ P.AAK P.AAL P.AAM P.AAN P.ARO P.AAP P.AAQ SR.DH2= SR.DH3= SR.DH4= SR.DL= P.AAS P.AAT P.AAV P.AAV SR.DH1= 013700 062700 005710 001011 017746 012746 012746 010600 104416 000407 011046 012746 012746 010600 104416 062706 000207 000366 000002 HI.LO: 177756 000556 000002 000566 000002 000006 1$: MOV ADD TST BNE MOV MOV MOV MOV TRAP BR MOV MOV MOV MOV 28: VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 TRAP ADD RTS ADDR.LO,RO ; #,ADDR.HI 1843 (RO) 1$ : ADDR.HI 1844 8ADDR.LO,-(SP) #SR.LO,-(SP) #2,-(SP) H #2,.R0O ; *,ADDR.HI SP.RO 16 2% (RO),-(SP) #SR.HI,-(SP) #2,-(SP) SP,.RO 16 #6,5P PC ' 1846 : SP,» : ; ADDR.HI,=» " nDwhvDDDNDDND LOCAL TA : REF BLOCK [TALLY_LEN] FIELD (T_FIELDS); . SECONDS); 1844 18438 ;: SP,* : : 100000000000t REPORT CODING SECTION - MAINLINE CODE PRINTS (SR_HD); PRINTS (SR_ET, .HOURS, .MINUTES, IF BIT_TST (SWP_FLAGS, SWF_ DM) THEN (6) HI.LO REPORT CODING SECTION $CODE$, RO 25 words, Routine Base: $CODE$ + 0370 ;: Routine Size: S words 3 Maximum stack depth per invocation: 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 SEQ 0116 Page 20 P.AAR .SBTTL .PSECT 000370 000000 000004 000010 000012 000014 000020 000024 000030 000032 000034 000036 000040 000044 000050 000052 000054 000060 14-Jun-1985 09: 36:36 d'itsssssssssnnsnnnnnsny ! ADDRESS OF A UNIT'S TALLY BLOCK ! SUMMARY REPORT HEADER ! ELAPSED TIME ! IF DM EXERCISER IS BEING RUN ! THEN 1838 1826 % CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION 1861 1862 1863 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 .0Abbuuuuuuuubobbbo.aoabbuuuuuuumuuuob&&baaaobboabuuuuuuu vo2.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 BEGIN PRINTS PRINTS PRINTS PRINTS (SR_DH1); (SR_DH2); (SR_DH3); (SR_DH4); ! PRINT HEADER FOR DM EXERCISER STATS INCR UNIT FROM O TO (.LSUNIT - 1) DO BEGIN TA = TALLY + (.UNIT & TALLY_LEN # 2); PRINTS (SR_UN, .UNIT); ! CALCULATE UNIT'S TALLY BLOCK ADDR PRINT UNIT NUMBER ADDR_LO = TA [READ_LO); HI_LO (); ADDR_LO = .ADDR_LO + 4; HI_LO (); ADDR_LO = .ADDR_LO + 4; HI_LO (); ! ! ! ! ! PRINTS (SR_DL, .TA [MB_READ], ] SET LOW-ORDER ADDR OF READ COUNT PRINT EITHER LOW- OR HIGH-ORDER FIELD ADVANCE TO LOW-ORDER ADDR OF WRITE COUNT PRINT EITHER LOW- OR HIGH-ORDER FIELD ADVANCE TO LOW-ORDER ADDR OF SEEK COUNT PRINT EITHER LOW- OR HIGH-ORDER FIELD .TA [MB_WRIT), END; ELSE ! FOR EACH UNIT ‘- CZRCD2 = .TA [ER_HRD], .TA [ER_SFT)); ! UNIT LOOP END ! BEGIN PRINTS (SR_MH1); PRINTS (SR_MH2); PRINTS (SR_MH3); PRINTS (SR_MH4); INCR UNIT FROM O TO (.LSUNIT - 1) DO BEGIN ELSE - MULTI-DRIVE SUBTEST IS BEING RUN ! PRINT HEADER FOR MULTI-DRIVE ! SUBTEST BASIC STATS ! FOR EACH UNIT TA = TALLY + (.UNIT & TALLY_LEN # 2); PRINTS (SR_UN, .UNIT); ! CALCULATE UNIT'S TALLY BLOCK ADDR ! PRINT UNIT NUMBER ADDR_LO = TA [READ_LO); HI_LO (); ADDR_LO = .ADDR_LO + 4; HI_LO (); ! SET LOW-ORDER ADDR OF READ COUNT ! PRINT EITHER LOW- OR HIGH-ORDER FIELD ! ADVANCE TO LOW-ORDER ADDR OF WRITE COUNT ! PRINT EITHER LOW- OR HIGH-ORDER FIELD PRINTS (SR_ML, .TA [MB_READ], .TA [MB_WRIT), END; PRINTS PRINTS PRINTS PRINTS PRINTS (SR_EH1); (SR_EH2); (SR_EH3); (SR_EH4); (SR_EHS); INCngg§; FROM O TO (.LSUNIT - 1) DO .TA [ER_HRD), .TA [ER_LOG])); ! UNIT LOOP ! PRINT HEADER FOR ECC ERROR STATS ! FOR EACH UNIT TA = TALLY « (.UNIT & TALLY_LEN & 2); ! CALCULATE UNIT'S TALLY BLOCK ADDR PRINTS (SR_EL1, .UNIT, .TA [ECC_ONLY), .TA [ECC_1), .TA [ECC_2), .TA (ECC_3)); PRINTS (SR_EL2, .TA [ECC_4), .TA [ECC_S), .TA [ECC_6), .TA [ECC_7), .TA [ECC_8)); SEQ 0117 Page 21 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION 000040 000044 000046 000050 000056 000060 000070 000072 000074 000100 000104 000106 000110 000114 000120 000122 000124 000130 000134 000136 000140 000144 000146 000150 000152 000156 000162 000166 000170 000172 000176 0002C2 000204 000206 000212 000215 WS 1918 1919 1920 1921 1922 1923 1924 1925 RN ®c @0 @ o0 @0 o0 o0 e v0z2.0 000000 000004 000010 000014 000016 000020 000024 000030 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 004137 012746 012746 010600 104416 013716 013746 013746 012746 01274¢ 010600 104416 122737 0C1516 012716 012746 010600 104416 012716 012746 010600 104416 012716 012746 010600 104416 012716 012746 010600 104416 013703 005002 000456 010216 012746 004737 062700 010001 010216 012746 012746 019600 104416 010137 004737 062737 END; VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0118 Page 22 (6) ! UNIT LOOP END; PRINTS (CRLF); ! PRINT <CR><LF> ENDRPT; 0000006 000000 000001 LRPT: 0000006 0000006 000000G 000116° 000004 000002 .SBTTL JSR MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP 000000G B8ITB BEQ 001264 000001 MOV MOV MOV TRAP MOV MOV MOV TRAP MOV 001330° 000001 001444 000001 MOV TRAP MOV MOV MOV TRAP 001560 000001 000000G MOV 18: 000060 000000G 000000G CLR BR MOV MOV JSR ADD MOV MOV 000550 000002 MOV MOV 000366 000370° 000004 TRAP MOV JSR ADD 000366 LRPT REPORT CODING SECTION R1,$SAVE3 4SR.HD, -(SP) SP,RO 16 SECONDS, (SP) MINUTES, -(SP) HOURS, -(SP) #SR.ET,-(SP) 1788 1857 : SP,» 1858 4,-(SP) SP,.RO 16 &2 ,SWP .FLAGS 1859 #SR.DH1,(SP) 1863 33 SP,RO 16 #SR.DH2, (SP) #1,-(SP) SP,RO 16 i SP,& 1864 H SP-‘ #SR.DH3,(SP) SP.RO 16 1865 H SPD‘ #SR.DH4, (SP) e1,-(SP) SP,RO 16 L$SUNIT,R3 R2 24 R2,(SP) #60, -(SP) PC,BLSMUL #TALLY,RO RO,R1 R2,(SP) #SR.UN, -(SP) SP,RO 16 R1,ADDR.LC PC,HI.LO #4 ,ADDR.LO 1866 ;: SP,» ; UNIT : ; UNIT,s #,7A H UNIT.‘ ; SP,4 i TA,» 1867 1870 1871 1873 1874 1875 CZRCDBO RC2S DISK EXERCISER REPORT CODINGC SECTION CZRCDe vo2.0 000c24 000230 000236 000242 000246 000252 000256 000262 000266 000272 000274 000276 000302 000304 00C306 000310 000314 000320 000324 000326 000330 000334 000340 000342 000344 000350 000354 000356 000360 000364 000370 000372 000374 000400 000402 000404 000406 000412 000416 000422 000424 000426 000422 000436 000440 000442 000446 000452 000460 000464 000470 000474 000500 000504 000510 000514 000515 004737 052737 004737 016116 016146 016146 016146 012746 012746 010600 104416 062706 005202 020203 002720 000137 012716 012746 010600 104416 012716 012746 010600 1C4416 12716 012746 010600 104416 012716 012746 010600 104416 013703 005002 000451 010216 012746 004737 062700 010001 010216 012746 012746 010600 104416 010137 004737 062737 004737 016116 016146 016146 015146 012746 012746 010600 104416 000370 000004 000370" 000034 000030 000026 000020 001676 000005 JSR 000366 ADD JSR MOV MOV MOV MOV MOV MOV MOV 000020 2%: 001444 000162 000001 3s: TRAP MOV MOV MOV TRAP MOV MOV MOV TRAP MOV 000354+ 000001 000450° 000001 MOV MOV TRAP 000000C MOV 4s: 000060 000000G 0000006 34(R1),(SP) 30(R1),-7SP) 26(R1),-(5P) 20(R1),-(SP) #SR.DL,-(SP) @5,-(SP) SP.RO #SR.MH1, (SP) @1,-(SP) SP,.RO 16 OSR.MH2, (SP) #1,-(SP) SP.RO 16 #SR.MH3, (SP) &1,-(SP) SP,RO 16 #SR.MH4, (SP) e1,-(SP) SP.RO 16 LSUNIT,R3 R2,(SP) 60, -(SP) PC,BLSMUL #TALLY,RO RO,R1 R2,(SP) #SR.UN, -(SP) 2,-(SP) MOV TRAP SEQ 0119 Page 23 (6) H H $ 1876 1877 1878 ; #(TA),» ; : ; 1380 #(TA),» #(TA), = #(TA),» v SP.‘ 3 MOV BR VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 1868 : UNIT H WITo‘ R2 JSR 000366 PC,HI.LO &4 ,ADDR.LO PC,HI.LO CLR ADD MOV MOV 000550 000002 000005 CMP BLT JMP MOV MOV 000001 000020 000576 TRAP ADD INC MOV 000256 000366 000370 000004 000370’ 000032 000030 000026 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 S SP.RO 16 R1,ADDR.LO PC,HI.LO #4 ,ADDR.LO PC,HI.LO 3 : . 1859 1888 ; SP,s H 1889 : SP,» H 1890 : SP,+ 3 1891 : SP,s 3 ; UNIT i UNIT,s ; #,TA : UNIT,s ‘ 1892 1895 1896 B SP.‘ ;: TA,» H : H 32(R1),(SP) 30(R1),-(SP) 26(R1),-(SP) 20(R1),-(SP) ;: #(TA),» B ‘(TA)c. ; : #(TA), #(TA),» SP,RO 16 ;: SP.s #SR.ML, -(SP) 1867 1898 1899 1900 1901 1903 CZRCD2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION v02.0 000520 000524 000526 000530 000532 000536 000542 000544 000546 000552 000556 000560 000562 000566 000572 000574 000576 000602 000606 000610 000612 000616 000622 000624 000626 000632 000634 000636 000640 000644 000650 000654 000656 000662 000666 000672 000676 000700 000704 000710 000712 000714 000720 000724 000730 000734 000740 000744 000750 000752 000754 000750 000762 000764 000766 000772 000776 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 062706 005202 020203 002725 012716 012746 010600 104416 012716 012746 010600 104416 012716 012746 010600 104416 012716 012746 010600 104416 012716 012746 010600 1C4416 013703 005002 000452 010216 012746 004737 062700 010001 016116 016146 016146 016146 010246 012746 012746 010600 104416 016116 016146 016146 015146 016146 012746 012746 010600 104416 062706 005202 020203 002724 062706 012716 012746 000020 %20, 5P Ss: SP,RO 16 000652 000001 UNIT s UNIT, 001002 000001 001110’ 000001 000000G SP,+ SP,.RO 16 #SR.EH5,(S5P) SP,+ SP,RO 16 LS$UNIT,R3 SP,* SP,+ 1910 1911 1912 1915 #60, -(SP) MOV MOV MOV MOV TRAP 001222* 000006 000054 000052 000050 000046 000044 001244 000006 MOV MOV MOV MOV MOV MOV MOV MOV TRAP ADD 000032 78: 8s: INC CMP BLT ADD MOV MOV 1893 1892 1909 PC,BL$MUL #TALLY,RO RO,R1 42(R1),(SP) 40(R1),-(SP) 000042 000040 000036 000056 24 (6) 1908 R2 7% R2,(SP) 6%: Page SP,s SP.RO 16 #SR.EH3, (SP) @1,-(SP) SP,RO 16 #SR.EH4, (SP) #1,-(SP) SEQ 0120 1907 4SR.EH2,(SP) ¢1,-(SP) 000672° 000001 000012 000000G 000001 USER$1:[AZTEC.CZRCD8 JCZRCD2.SRC; 8 #SR.EH1, (SP) 000614 000001 000060 000000G 000000G VAX-11 Bliss-16 V4.0-579 1916 36(R1),-(SP) 56(R1),-(SP) R2,-(SP) #SR.EL1,-(SP) #6,-(SP) SP,RO 16 54(R1),(SP) 52(R1),-(SP) S0(R1),-(SP) 46(R1),-(SP) 1917 44(R1),-(SP) #SR.EL2, -(SP) #6,-(SP) SP,RO UNIT,» #12,5P #CRLF, (SP) #1,-(SP) 1913 1912 1836 1923 CZRCD2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION v02.0 001002 001004 001006 001012 010600 104416 062706 000207 ; Routine Size: ; Maximum stack 000000 000004 000006 004737 104425 000207 ; Routine Size: ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 MOV TRAP ADD RTS 000026 Rout ine Base: $CODES$ invocation: 34 words 262 words, depth per 000452 4 words, Maximum stack depth per L$RPT:: Rout ine Base: invocation: 2 words SP,RO 16 @26, SP PC USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 ; SEQ 0121 Page 25 (6) SP,» 1788 + 0452 .SBTTL JSR TRAP RTS $CODE$ VAX-11 Bliss-16 V4.0-579 LS$RPT REPORT CODING SECTION PC,LRPT 25 PC + 1466 1923 CZRCD2 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 %SBTTL VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 'INITIALIZE SECTION' * NN MM RN NN NN M MR R RN N N 1 s s s s ot b b s o s s o o s b b b s 1943 1944 LN 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 NN WWNEDEBELWUWOE 5 S5 S5 ©0 S5 S0 S5 S0 T 0 GE S0 T O O VI G TE T G G S0 G G Co T O GF T T WS G G0 T TS G GO G GF G6 Go G W6 G G0 G G0 G0 G0 G G6 G6 G G5 O6 G0 G v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 THE INITIALIZE CODE IS EXECUTED UNDER FIVE CONDITIONS. THERE ARE SUPERVISOR EVENT FLAGS THAT ARE USED TO LET THE DIAGNOSTIC KNOW UNDER WHICH CONDITION THE EXECUTION IS TAKING PLACE. THE EVENT FLAGS ARE READ USING THE “READEF” MACRO. THE CONDITIONS UNDER WHICH THE INIT CODE IS EXECUTED AND THE CORRRESPONDING EVENT FLAGS ARE: START COMMAND EF .START RESTART COMMAND EF .RESTART CONTINUE COMMAND EF .CONTINVE POWERDOWN/POWERUP EF.PWR NEW PASS EF .NEW EXAMPLE OF EVENT FLAG USE: IF READEF(EF.START) THEN START_FLAG = 1; DURING THE INIT CODE, THE “GPHARD” MACRO IS USED TO OBTAIN P-TABLE INFORMATION FOR ALL DEVICES. THE NUMBER OF UNITS AVAILABLE IS IN THE HEADER WORD “LSUNIT”. BGNINIT; LOCAL FLAG1 FLAG2 : BYTE, : BYTE, DELAY_MULT : WORD, CLK_ADR, HWPT_REF : REF BLOCK [HWPT_LEN, WORD] FIELD (HWP_FIELDS); SETPRI (PRIO7); ! PRIORITY 7 - NO INTERRUPTS ALLOWED DURING INIT IF READEF (EF_NEW) THEN ENTRY_REASON = NEW_PASS; ! ! ! IS THIS A NEW PASS? (ASK NEW_PASS FIRST IN CASE MULTI: _E FLAGS ARE SET, E.G., START AND NEW_PASS) IFEREADEF (EF_CONTINUE) ! IS THIS A CONTINUE? ! IS THIS A POWER FAIL? ! ! ! IF ATTENDED THEN "POWER DELAY - WAITING” ! WAIT APPROX. 60 SECGNDS ! Changed from 333 to 400 for 11/84 cache ! BREAK FOR ACT ! IS THIS A RESTART? THEN ENTRY_REASON = CONT; IF READEF (EF_PWR) THEN BEGIN ENTRY_REASON = PWR_FAIL; IF MANUAL ) THEN PRINTF (MSG_01); INCRBEOUNT FROM 0 TO 60 DO GIN DELAY_MULT = 400; DELAY (.DELAY_MULT); BREAK; END; END; IF READEF (EF_RESTART) SEQ 0122 Page 26 (7 CZRCD2 v02.0 : B 5 : B : B 5 i 5 : H ‘ H B : H : H B 5 H i H : H : ; B H b H H H H H H ; ; 4 ; : H i B 3 ; H H ; ; 4 H H : 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 INITIALIZE SECTION uwuummmmuub&J-bubuumuuuuumummmmmmmmmmuuummmmwwmwnwuuouummvul\) 3 i CZRCDBO RC25 DISK EXERCISER THEN VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 ENTRY_REASON = RESTART; IF READEF (EF_START) THEN BEGIN ENTRY_REASON = START; ! IS THIS A START? gogns = MINUTES = SECONDS = TICKS = 0; ND; ! INIT ELAPSED TIME TO 00:00:00:00 MAKE SURE THAT NOT MORE THAN MAX_UNITS HAVE BEEN SPECIFIED. IF THERE ARE TOO MANY, NOTIFY USER AND RETURN TO SUPERVISOR. (DIAGNOSTIC IS ABORTED). IF .LSUNIT GTRU MAX_UNITS THEN BEGIN ERRSF (1, EGS_01, EMS_01); DOCLN; END; ! "TOO MANY UNITS*” CHECK TO MAKE SURE THERE IS A CLOCK ON THE SYSTEM. IF NO_CLOCK, THEN ABORT TO SUPERVISOR. OTHERWISE, DETERMINE WHETHER CLOCK IS AN L OR P CLOCK, AND SET UP PARAMETERS. CLK_TYPE = NO_CLOCK; ! IF CLOCK (P, ! IS THERE A P_CLOCK? THEN CLK_ADR) BEGIN CLK_TYPE = P_CLOCK; CLK_CSR = ..CLK_ADR; éSIISK_CSR ELSE = %0'105'; ! ! SET FLAG FOR NO CLOCK SET TYPE TO P_CLOCK SAVE THE CSR ADDRESS ! ENABLE INTERRUPTS ! IS THERE AN L_CLOCK? BEGIN IF CLOCK (L, CLK_ADR) THEN BEGIN . CLK_TYPE = L_CLOCK; CLK_CSR = ..CLK_ADR; .CLX_CSR = %0'100'; END; ! SET TYPE TO L_CLOCK ! SAVE THE CSR ADDRESS ! ENABLE INTERRUPTS END; IF .CLK_TYPE EQLU NO_CLOCK THEN BEGIN ERRSF (2, EGS_02, 0); DOSLN: EN ! IF NO CLOCK WAS FOUND ! “NEITHER P NOR L CLOCK WAS FOUND" ! ABORT THE PROGRAM SEQ 0123 Page 27 (7 . 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 INITIALIZE SECTION VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 ELSE v e e BEGIN CLK_VECTOR = .(.CLK_ADR + 4); CLK_HERTZ = .(.CLK_ADR + 6); SETVEC (.CLK_VECTOR, CLK_INT_SERV, PRIO6); END; -t 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 CZRCDBO RC25 DISK EXERCISER VOOV OOOVOVOOVOVVIOPXXBNNNNAONOCOOVNIVNIVIVIE D DD 500NN NN NN NI MR NS WD ©6 S5 S0 @ W1 S0 S0 ©0 O ©E S8 S0 S0 O T GE SE T T 6 GS G0 T W G O T G GO TGP G6 G G G0 GF G G G6 G GO O G5 G5 G G0 Ge G5 G G G5 @6 G G S8 Gs @ CZRCD2 v02.0 IF ! ! ! CLOCK VECTOR ADDRESS CLOCK HERTZ RATE SET CLOCK VECTOR ADDR THE FOLLOWING CODE IS EXECUTED FOR ALL ENTRY REASONS EXCEPT NEW_PASS. ALL RUN-TIME CONTROLLER STATUS TABLES (CST'S) ARE CLEARED TO O, THEN LOADED WITH CONFIGURATION DATA FROM THE HARDWARE P-TABLES. .ENTRY_REASON NEQU NEW_PASS INCR COUNT FROM O TO ((MAX_CTLR = CST_LEN % 2) (CST + .COUNT) = 0; ANCR UNIT FROM O TO (.LSUNIT - 1) DO BEGIN CPT [.UNIT] = NO; IF GPHARD (.UNIT, HWPT_REF) NEQA 0 - 2) BY 2 DO ! LOOP THROUGH ALL UNITS ! ! INIT CURRENT PASS TESTING VECTOR IF HWP TABLE FOUND FLAG1 = NOT_FOUND; ! NO EXISTING IP ADDRESS MATCH YET INCR CTLR FROM O TO (MAX_CTLR - 1) DO ! LOOP THROUGH ALL CST'S BEGIN IF .CST [.CTLR, THEN IP_ADDR] EQLA BEGIN FLAG1 = FOUND; FLAG2 = NOT_FOUND; INCR OFFSET FROM (O BEGIN IF .CST [.CTLR, THEN ! FLAG INDICATING PLATTER SLOT AVAILABILITY + OF _UN) TO (3 + OF_UN) DO ! LOOP THROUGH EACH PLATTER SLOT .OFFSET, P_PRES) EGLU NOT_PRESENT ! BEGIN FLAG2 = IF EMPTY SLOT FOUND FOUND; CST [.CTLR, .OFFSET, ALLBIT]) = CST [.CTLR, CST [.CTLR, .OFFSET, P_UNIT] = ,UNIT; .OFFSET, P_PRES] = PRESENT; EXITLOOP; ELSE .HWPT_REF [HWP_IP_ADDR] ! IF IP ADDR ALREADY EXISTS END BEGIN IF .CST [.CTLR, .HWPT_REF [HWP_PLAT]; ! COPY PLATTER ADDR AND PROT BIT ! ! END - IF PLATTER SLOT FOUND OTHERWISE - SLOT IS OCCUPIED .OFFSET, P_ADDR] EQLU .HWPT_REF [HWP_PLAT_ADDR] SEQ 0124 Page 28 (7) 2097 G5 G5 G T G T8 G0 G T T T T G G CE G0 G5 G GH G G G 2098 2099 2100 2101 2102 P 2103 2104 X(0)” 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 ©5 S0 S5 S5 S0 S6 6 S0 S0 G5 B0 G6 0 T T CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 el52 2153 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 THEN VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB)JCZRCD2.SRC;8 ! DUR [.UNIT] = DU_CONF; DODU (.UNIT); EXITLOOP; ! LOAD REASON FOR DROPPING UNIT ! DROP UNIT ! DON'T LOOK AT ANY MORE SLOTS END; ! END; ! END; %FEfiFLAGZ EQLU NOT_FOUND H IF PLATTER ADDR ALREADY EXISTS IF SLOT IS OCCUPIED ! PLATTER SLOT SEARCH LOOP ! IF PLATTER SLOT NOT AVAILABLE BEGIN IF MANUAL THEN PRINTF (CER_02, .HWPT_REF DUR [.UNIT] = DU_CONF; DODU (.UNIT); ! IF ATTENDED ! ! “ALREADY 4 UNITS AT IP XXXXXX(CO0)" CONFIGURATION ERROR DROP UNIT ! THEN [HWP_IP_ADDR]); ! END; EXITLOOP; END; END; %F fiFLAGl EQLVU NOT_FOUND HE ! IF EXISTING CST TABLE FOUND ! CST TABLE SEARCH LOOP ! IF NO IP ADDR MATCH TO EXISTING CST ! FLAG INDICATING EMPTY CST AVAILABILITY BEGIN FLAG2 = NOT_FOUND; INCR CTLR FROM O TO (MAX_CTLR BEGIN .CST [.CTLR, THEN 1) DO IP_ADDR] EQLA O ! ! LOOP THROUGH EACH CST IF EMPTY CST FOUND BEGIN FLAG2 7 PLATTER ADDR SLOT ALREADY EXISTS IF MANUAL ! IF ATTENDED THEN ! THEN PRINTF (CER_O1, .HWPT_REF [HWP_PLAT_ADDR], .HWPT_REF [HWP_IP_ADDR]); ! "DUPLICATE PLATTER ADDRESS XXX. IF SEQ 0125 Page 29 BEGIN FLAG2 = FOUND; VDO NNNAOTOOVIUVTVNIVION NN NN OO OO INIIIODOOO G G0 G6 G0 G G0 G0 @s @0 @0 90 90 JC O @ @8 G0 G G O G CZRCD2 v02.0 = FOUND; CST [.CTLR, IP_ADDR] = .HWPT_REF [HWP_IP_ADDR]; CST [.CTLR, VEC_ADDR] = .HWPT_REF [HWP_VECTOR]; CST [.CTLR, BR_LEV] = .HWPT_REF [HWP_BR_LEVEL]; CST [.CTLR, P1_ALL]) = .HWPT_REF [HWP_PLAT]; CST [.CTLR, P1_UNIT] = ,UNIT; CST [.CTLR, P1_PRES] = PRESENT; EXITLOOP; !PLAT ADDR, PROT BIT AT IP XXXX B i H i H ; B : K ; : i 5 : ; ; H ; i ; 3 ‘ i H ; : H ; 3 ; 4 ; H B B : i i : 4 ; i i 4 i H H ; i H B B H b i B H - 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 NNNNWN&.MMOO#\INNNJOO\OOU!UIUIM&&b&“uu&uuu&blflu‘@@QNNQQONNOOOOQQO CZRCD2 v02.0 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 END; ! IF EMPTY CST FOUND END; ! IF .FLAG2 EQLU NOT_FOUND THEN BEGIN VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 EMPTY CST SEARCH LOOP ! IF NO EMPTY CST FOUND IF MANUAL ! IF ATTENDED THEN THEN PRINTF (CER_03, MAX CTLR). ! "MORE THAN X DIFFERENT IP ADDRESS ES." DUR [.UNIT) = DU CONF: ! CONFIGURATION ERROR DODU (.UNIT); ' DROP UNIT END; END; END; END; ELSE ! IF NO IP ADDR MATCH IN CST ! IF GPHARD RETURNED A HWP TABLE ! UNIT LOOP END ! OTHERWISE, ! FOR EACH UNIT ! ! IF UNIT HAS NOT BEEN DROPPED THEN BEGIN INCR UNIT FROM O TO (.LS$UNIT - 1) DO BEGIN IF GPHARD (.UNIT, THEN BEGIN HWPT_REF) NEQA O CPT [.UNIT] = YES; INCR CTLR FROM O TO (MAX_CTLR - 1) DO BEGIN %FEQCST [.CTLR, H IP_ADDR] EQLA ! 0.K. TO TEST UNIT ! FIND UNIT'S CONTROLLER .HWPT_REF BEGIN CST [.CTLR, EXITLOOP; [HWP_IP_ADDR] ! U_CNT] = FOR EACH NEW PASS .CST [.CTLR, FOUND IT U_CNT) + 1; ! INCREMENT NO. ! DONE END; END; END; END; END; IF _ENTRY_REASON LEQU RESTART THEN ! CONTROLLER LOOP ! IF UNIT NOT DROPPED ! UNIT LOOP ! END - IF NEW PASS ! ! IF START OR RESTART THEN OF TESTABLE UNITS SEQ 0126 P 9e 30 7 CZRCD2 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION i : : : H 5 : H : 5 H : H ; H 8 ; : : 5 ; i B i ; B H H H i H ; B i : : H H : ; i 5 B : : ; H : H H : ! COMMAND REFERENCE NUMBER ! NUMBER OF CONFIGURED CONTROLLERS 1) DO IF .CST [.CTLR, IP_ADDR] NEQA 0 THEN CTLR_CNT = _CTLR_CNT + 1; ! ! ! %FECONTROLLER IS PRESENT HEN INCREMENT CONTROLLER COUNT END; MEMORY (FREE_MEM_ADDR); MEM_SIZE = ! GET START OF FREE MEMORY GET FREE MEMORY SIZE ..FREE_MEM_ADDR; ! INCR COUNT FROM O TO ((MAX_UNITS & TALLY_LEN) TALLY [.COUNT] = 0; END; e § CRN = 0; CTLR_CNT = 0; INCR CTLR FROM O TO (MAX_CTLR BEGIN - 1) DO ! ! INITIALIZE STATISTICS ! END OF START/RESTART INITIALIZATION + MISCELLANEOUS INITIALIZATON e : BEGIN - : H 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 INCR CTLR FROM O TO (MAX_CTLR - 1) DO : INITIALIZE NO. INCR COUNT FROM O TO (RP_CNT - 1) DO RP_USE [.COUNT] = -1; IODQ_IN = IODQ_OUT = 0; IF C(BIT_TST (SWP_FLAGS, SWF_HWC)) AND o (BIT_TST (SWP_FLAGS, SWF_CWC))) ! INITIALIZE RETURN PACKET POOL QIO [.CTLR] = 0; INITIALIZE I/0 DONE QUEUE POINTERS IF USER CHANGED FROM HOST WRITE-CHECKS TO CONTROLLER WRITE-CHECKS THEN (BOTH BITS WOULD BE SET) CLEAR HOST WRITE-CHECKS HEN SWP_FLAGS <SWF_PHWC,1> OF OUTSTANDING QIOS = 0; - ; 5 Nul0‘0‘0‘0‘OAW“MNNNNNNNNNNNNNNNGUNNNNNNNNNNNWUJ“NNMNWO.&&bbuuo‘uu v02.0 14-Jun-1985 09:3 6: 36 14-Jun-1985 09:3 2:03 THE FOLLOWING SITUATION (STARTING TRACK NUMBER GREATER THAN ENDING TRACK NUMBER) CAN OCCUR DUE TO ANOTHER DRS BUG. IF THE USER ENTERS LOW TRACK LIMITS FOR ONE PASS, THEN ENTERS A HIGH STARTING TRACK NUMBER AFTER A RESTART OR CONTINUE COMMAND, DRS WILL NOT GIVE AN ERROR IF THE ENDING TRACK NUMBER IS DEFAULTED TO THE PREVIOUS LOW TRACK NUMBER. AN ERRONESUS LBN WOULD BE GENERATED IN QIO_LBN IF THIS SITUATION WERE LLOWED. IF .SWP_STRACK GEQU .SWP_ETRACK THEN BEGIN LOCAL TEMP : WORD; TEMP = _SWP_STRACK; SWP_STRACK = ,SWP_ETRACK; SWP_ETRACK = ,TEMP; END; ! ! REVERSE STARTING AND ENDING TRACK NUMBERS SEQ 0127 Page p 7 CZRCD2 2268 2269 2270 2271 000004 000010 000014 000016 000022 000024 000026 000034 000042 000044 000052 000056 000060 000062 000070 000072 000074 000100 000104 000106 000110 000112 000116 000122 000124 000126 000132 000134 000140 000142 000144 000146 000150 000152 000154 000156 000162 000164 000166 000174 000200 000202 000204 000212 000216 LE =N v02.0 004137 162706 012700 104441 012700 104447 103003 112737 012700 104447 103003 112737 012700 104447 103036 112737 104450 103007 012746 012746 010600 104417 022626 012702 012703 010301 001411 013700 001404 005066 005300 001374 005301 000766 104422 005302 001360 012700 104447 103003 112737 012700 104447 103013 112737 005037 005037 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 SETPRI (PRIOO); ! SET PROGRAM PRIORITY TO O VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0128 P 32 7 ENDINIT; 000000G 000010 000340 LINIT: 000035 000005 000036 000000G 000003 000034 000000G 000004 000000G 1s: 2%: 000000G 000001 000075 000620 3s: 4%: S$: 000000G 000006 6$: 78: 8¢: 000037 000002 000040 9s: 000000G 000001 000000G 000000G 000000G 10s: .GLOBL Ls$DLY .SBTTL JSR SuB MOV TRAP MOV TRAP BHIS MOVB MOV TRAP BHIS MOVB MOV TRAP BHIS MOVB TRAP BHIS MOV MOV MOV TRAP LINIT INITIALIZE SECTION R1,$SAVES #10,5P #340,R0 41 #35,R0 47 1s #5 ,ENTRY .REASON #36,R0 47 28 3 ,ENTRY .REASON #34,RO 47 9 @4 ,ENTRY .REASON 50 33 #MSG.01, -(SP) #1,-(SP) SP.RO 17 MOV #75,R2 CcMP MOV MOV BEQ MOV BEQ CLR DEC BNE DEC BR TRAP DEC BNE MOV TRAP BHIS MOVB (SP)+,(SP)+ #620,R3 R3,R1 8s L$DLY,RO 78 6(SP) RO 6% R1 54 22 R2 43 #37,.R0 47 10¢ @2 ,ENTRY .REASON MOV TRAP #40,R0 47 MOvVB @1 ,ENTRY .REASCN BHIS CLR CLR 1925 1955 1957 1959 1961 1963 1965 1968 1969 1971 i SP,» ; *,COUNT ; *«,DELAY.MULT : DELAY.MULT,$8$TMP2 ; #,88TMPL ;: $STMP ; ; 1973 1975 1976 $STMPL $8$TMP2 i COUNT 1973 1982 1984 1986 11¢ TICKS SECONDS 1989 1990 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION 005037 005037 023727 101405 104454 0000006 0000006 0000006 000020 118: 000462 000472 000476 000500 000502 000506 000512 000514 000516 104454 000002 0000006 000000 104444 000421 016137 000004 016137 000006 000300 012746 012746 000000V 013746 000000G 012746 000003 104437 000010 062706 013766 0000006 005366 000002 123727 000000G 001002 000137 002744 005000 005060 0000006 062700 000002 020027 000066 003771 005002 000137 002730 105062 000000G 010200 104442 010001 CLR CLR BLOS TRAP 000001 000000V 104444 005037 0000006 012700 000120 104462 103012 010001 012737 000001 000000G 011137 012777 000105 000415 012700 000114 104462 103011 010001 012737 177777 011137 000000G 012777 000100 005737 0000006 001006 14-Jun-1985 09:36: 36 14-Jun-1985 09: 32:03 12%: 0000006 000000G 13s: 000000G 0000006 0000006 0000006 14%: 15s: MINUTES HOURS LSUNIT,#20 128 54 1 EGS.01 EMS.01 164: 000005 17: 18s: 19¢: SEQ 0129 Page 33 7) 3 1999 : 2002 H 2012 i 2014 44 CLK.TYPE €120,R0 62 134 RO,R1 #1,CLK.TYPE (R1),CLK.CSR €105,9CLK.CSR 143 #114 RO 62 14 RO,R1 #-1,CLK.TYPE (R1),CLK.CSR €100,8CLK.CSR CLK.TYPE 15¢ 54 2 EGS.02 0 44 164 4(R1),CLK.VECTOR 6(R1),CLK.HERTZ @CLK.INT.SERV, -(SP) CLK.VECTOR, -(SP) 000002 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 ; RO,CLK.ADR : 2017 H H 2019 2014 ; CLK.ADR,* 2018 2024 i ; RO,CLK.ADR H 2027 H H 2029 2034 : 2037 ; CLK.ADR, : 2028 2034 ; *(CLK.ADR),# 2042 : 2044 : 2041 ; #(CLK.ADR),* 2043 @3,-(SP) 37 €10, 5P L$UNIT,2(SP) : ENTRY.REASON, #5 : 2053 RO ; COUNT ; *(COUNT) ; *,COUNT 2057 2058 2057 ; UNIT 2060 ; #(UNIT) ; UNIT,» 2063 2064 2(SP) 174 37¢ CST(RO) #2,R0 RO, #66 18¢ R2 35¢ CPT(R2) R2,RO 42 RO,R1 ; ; 2060 COUNT,» &,HWPT.REF =3 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:36:36 INITIALIZE SECTION 001002 000137 105016 010446 012746 004737 022626 026011 001124 112716 105005 010446 012746 000764 004737 010066 022626 012703 010300 066600 006300 062700 032710 0C1016 112705 016110 010246 000316 042716 042710 052610 052710 000435 121061 001026 112705 104450 103014 011146 005046 116116 012746 012746 010600 104417 062706 112762 010200 104451 000404 005203 020327 003714 105705 001025 104450 103011 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0130 P 34 ¥ 002726 20%: ; FLAGL : CTLR 21%: 000016 0000006 ; CTLR,» (SP)+,(SP)+ CST(RO),(R1) 283 000000G 000001 #1,(SP) RS 000007 0000006 000010 (SP)+,(SP)+ 160377 017400 #3.R3 R3,RO 4(SP),RO RO #CST,RO #40000,(RO) 23$ #1,RS 6(R1),(RO) R2,-(SP) (SP) 2160377, (SP) #17400,(RO) 040000 40000, (RO) 22%: 000004 0000006 040000 000001 000006 ;: =, FLAGL : FLAG2 : CTLR,» 2076 2077 2081 i *,0FFSET i OFFSET,» 2078 2081 : 2085 *»,FLAG2 i *(HWPT.REF),» i UNIT,= 2088 ; #,%(HWPT.REF) 2089 2083 2096 (SP)+,(RO) 000006 234: 264 (RO),6(R1) 254 1,RS 50 244 (R1),-(SP) -(SP) 000001 000006 000000G 000003 000006 ; *,HWPT .REF PC,BL$MUL RO,10(SP) 000003 000010 000001 2068 2069 2072 000200G 24%: ; *,FLAG2 2100 2101 i HWPT.REF,+ 2104 6(R1),(SP) ©CER.01, -(SP) ; $CHWPT.REF),s SP,RO 17 : SP,s €10, SP @1,DUR(R2) R2,.RO ; #,#(UNIT) B WITO‘ s OFFSET i OFFSET,s : FLAG2 2105 2106 2098 2078 2115 2119 CZRCD2 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION v02.0 000766 000770 000774 001000 001002 001004 001010 001016 001020 001022 001024 001026 001032 001034 001036 001040 001042 001044 001050 001052 001056 001062 001066 001072 001100 001104 001112 001116 001120 001124 001126 001130 001134 00.140 001142 001146 001150 001154 001160 001162 001164 001166 001170 001172 001176 001202 001206 001210 001212 001216 001224 001226 001230 001232 001236 0012490 001244 011146 012746 012746 010600 104417 062706 112762 010200 104451 000404 005204 020427 003637 105716 001074 105005 005000 005760 001037 112705 011160 016103 042703 042760 050360 116160 012703 060003 016113 010204 00304 042704 042713 050413 052713 000405 062700 20027 0. 731 105705 001021 104450 103012 012746 012746 012746 010600 104417 062706 112762 010200 104451 005202 020266 003002 000137 000431 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 0000006 000002 000006 000001 VAX-11 Blies-16 v4.0-579 USER$!:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (R1),-(SP) @CER.02, -(SP) ; SP,RO 17 06,SP H SPo. 000000G 27%: @1,,0UR(R2) R2,RO 28s: ;s ¢,%(UNIT) ; UNIT,s 2122 2123 : 2074 ; CTLR ; 29$: 000000G 30s: CST(RO) 314 *'1,RS (R1),CST(RO) 2(R1),R3 000001 000000G 000002 177000 000777 000002G 000002G €177007,R3 @777,C T+2(RO) R3,CST+2(RO) 4(R1),CST+4(RO) 000004 000004G 0000066 R2,R4 R4 #160377,R4 17400, (R3) R4,(R3) #40000,(R3) 160377 017400 040000 000016 000052 31s: 32%: 000004 0000006 000002 323 CMP BLE TSTB 33s: 34 35%: 002204 36%: 304 BNE TRAP BHIS 33% MOV #CER.03, -(SP) MOV 000000G €16,R0 RO, #52 MOV MOV TRAP ADD MOVB MOV TRAP INC CcMP BGT JMP BR : FLAG2 ; CTLR ; #(CTLR) 2137 2138 2141 : ¢,FLAG2 : HWPT.REF,&«(CTLR) ; *(HWPT.REF),+ 2145 2146 3 ; ; 6(R1),(R3) 2069 2133 ; ; RO,R3 CTLR,» : FLAG1 ; #CST+6,R3 000006 000002 2121 ®2,-(SP) 000003 000006 000001 HWPT ,PEF ,» SEQ 0131 Page 35 (7) 2147 #,+(CTLR) #,+(CTLR) *(HWPT.REF),+(CTLR) CTLR,= *(HWPT . REF), + 2148 2150 ; UNIT,s 2151 : 2152 : 2143 ; =,CTLR 2138 : FLAG2 2159 ; CTLR,» . : 2163 2165 #2,-(SP) SP.RO 17 #6,SP H SPO‘ #1,0UR(R2) R2,RO ; #,+(UNIT) i UNIT,s 2166 2167 R2 R2,2(SP) : UNIT H WITO‘ 2060 43% : 2053 51 364 19¢ CZRCD2 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION vo2.0 001246 001250 001252 001254 001256 001260 001262 001270 001272 001276 001300 0C1304 001306 001312 001316 001320 001322 001326 001330 001336 001340 001344 001350 001352 001356 001360 001364 001370 001374 001376 001400 001404 001410 Q01412 001416 001422 001426 001430 001432 001436 001440 001444 001446 001450 001456 001460 001464 001466 001472 001476 001504 001506 001514 001516 001524 001532 001524 035002 000424 010200 104442 010001 001417 112762 005000 026011 001003 105260 000405 062700 020027 003765 005202 020266 003751 123727 101034 005037 005037 005000 0C5760 001402 005237 062700 020027 003766 104431 010037 011037 005000 005060 062700 020027 003771 005000 105060 005200 020027 003772 005000 112760 005200 020027 003771 005037 005037 132737 001407 132737 001403 142737 023737 103407 013700 37s: 388: 000001 0000006 39s: 0000006 00000SG 000016 000052 40%: 000002 41s: 42%: 000000G 000002 43s: 000000G 000000G 000000G 44 0000006 000016 000052 45%: 000000G 000002 001376 46%: 47%: 48%: 000000G 000003 000000G 49 : 000037 0000006 000000G 000100 0000006 000040 TRAP BEQ MOV CLR CcMP BNE INCB ADD CMP BLE INC cMP BLE CMPB BHI CLR CLR CLR TST BEQ INC ADD TRAP MOV MOV CLR CLR ADD CMP BLE CLR CLRB INC cMP BLE CLR MOVB INC CMP BLE CLR CLR BITB 000000G 000100 000000G 0000006 0000006 0000006 CLR BR MOV cMP BLE 000000G 000000G 000377 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 S0$: BEQ BITB BEQ BICB CcMP BLO MOV R2 423 R2,RO VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0132 Page 36 (7) UNIT 2181 UNIT,* 2184 & ,HWPT .REF #1,CPT(R2) RO CST(RO),(R1) &,s(UNIT) CTLR .REF #(CTLR),HWPT 2188 2189 2192 CST+5(RO) «(CTLR) 2196 2194 2189 40% 41 ¢16,R0 RO, #52 39s R2 R2,2(5P) 384 ENTRY.REASON, #2 473 +,CTLR CTLR,* UNIT UNIT, = 2209 CRN CTLR.CNT RO CST(RO) 45 CTLR.CNT ©16,R0 RO, #52 444 CTLR +«(CTLR) +,CTLR CTLR,* 31 TALLY(RO) #2,R0 RO,%#1376 46 RO QIO(RO) RO RO, ®3 48 RO €377 ,RP.USE(RO) RO RO, #37 49 2213 2214 2215 2218 2220 2215 2224 RO,FREE.MEM. ADDR ;SO).HEH.SIZE 2181 FREE .MEM.ADDR, * COUNT «(COUNT) &, COUNT = COUNT, 2225 2227 2228 2227 CTLR «(CTLR) CTLR CTLR,* 2236 2237 2236 COUNT 2238 2239 2238 +,#(COUNT) COUNT & COUNT, 100Q.0UT I0DQ.IN 2240 #100,SWP.FLAGS 2241 #40,SWP.FLAGS 2242 #100,SWP.FLAGS 2244 2256 504 50¢ gHP.STRACK.SHP.ETRACK 13 SWP.STRACK,RO «, TEMP 2263 CZRCD2 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION v02.0 001540 001546 001552 001554 001556 001562 ; ; : ; 013737 010037 005000 104441 062706 000207 Routine Size: Maximum stack 000000 000004 000006 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 004737 104411 000207 000000G 000000G 0000006 S18: 000010 MOV MOV CLR Routine Size: 4 words, Maximum stack depth per RO TRAP ADD RTS 442 words, $CODES Rout ine Base: depth per invocation: 16 words 001476 SWP.ETRACK, SWP . STRACK RO,SWP.ETRACK 41 210,5P PC + .SBTTL LSINIT: :JSR Rout ine Base: invocation: 2 words $CODES + 3 2264 : 2269 H 1925 3 2269 ; TEMP,» 2265 1476 LSINIT INITIALIZE SECTION PC,LINIT 11 PC TRAP RTS SEQ 0133 Page 37 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 (7) VAX-11 Bliss-16 v4.0-579 3262 CZRCD2 v02.0 CZRCDBO RC2S5 DISK EXERCISER AUTODROP SECTION H 3 3 H H 3 2272 2273 2274 2275 2276 gg;; 1 1 1 1 1 i : 3 3 3 3 2279 2280 2281 2282 2283 2284 1 2 2 2 2 1 : : 000000 ; ; 1e ! ! ! 0C4737 104461 000207 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0134 Page 38 (8) 8- THIS CODE IS EXECUTED IMMEDIATELY AFTER THE INITIALIZE CODE IF THE "ADR” FLAG WAS SET. THE UNIT(S) UNDER TEST ARE CHECKED TO SEE IF THEY WILL RESPOND. THOSE THAT DON'T ARE IMMEDIATELY DROPPED FROM TESTING. BGNAUTO; RETURN; ENDAUTO; LAUTO: 1 word, Maximum stack depth per 000000 000004 000006 VAX-11 Bliss-16 V4.0-579 #SBTTL 'AUTODROP SECTION' 000207 ; Routine Size: ; 14-Jun-1985 09:36:36 003272 Routine Size: 4 words, Maximum stack depth per Routine Base: invocation: O words .SBTTL RTS S$CODES$ LAUTO AUTODROP SECTION PC .SBTTL S$CODES$ : 2271 H 2282 + 3272 LS$AUTO AUTODROP SECTION L$AUTO:: JSR TRAP RTS Routine Base: invocation: 2 words : PC,LAUTO 61 PC + 3274 CZRCD2 CZRCDBO RC25 DISK EXERCISER CLEANUP CODING SECTION 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 r 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 #SBTTL SEQ 0135 Page 39 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (9) VAX-11 Bliss-16 V4.0-579 ‘'CLEANUP CODING SECTION' * 2285 POV WWHWWEHWWRRONNVNRNRRDWWWWE DD DD 5 G0N N N GGG N N N N N - s s s ot s ps s s ot v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 THE CLEANUP CODING SECTION CONTAINS THE CODING THAT IS PERFORMED UNDER ONE OF THREE CONDITIONS: (A) AFTER EACH COMPLETE PASS, (B) WHENEVER THE "DOCLN" MACRO IS ENCOUNTERED, AND (C) WHEN THE OPERATOR TYPES "<CTRL-C>", SOME OF THE CODE IN THIS SECTION IS NOT PERFORMED IF THE REASON FOR ENTRY IS END-OF -PASS ((A) ABOVE). BGNCLN; IF .CLK_TYPE EQLU NO_CLOCK THEN ELSE ! ! ! RETURN ! BEGIN .CLK_CSR = 0; CLRVEC (.CLK_VECTOR); IF THERE IS NO CLOCK THEN RETURN OTHERWISE ! TURN OFF CLOCK ! CLEAR CLOCK VECTOR END; IF NOT .EOP_FLAG THEN BEGIN SETVEC (4, NEX_TRAP, PRIO7); INCR CTLR FROM 0 TO (MAX_CTLR BEGIN %FsfiRCZS_ADDR H = _CST WRT_RC25 (RCIP, [.CTLR, RC_ALL, 1) DO ! ! IF INVOKED BY tC OR DOCLN THEN ! ! IN CASE USER GAVE BAD IP ADDRESS FOR EACH CONTROLLER IP_ADDR]) NEQA O ALL_ONES); ! ! %:ESONTROLLER EXISTS ! WRITE IP TO STOP DEVICE END; CLRVEC (4); ! RETURN TRAP 4 TO DIAGNOSTIC SUPERVISOR END; ! IF NOT END OF PASS ! INITIALIZE DROP UNIT REASON VECTOR ! ! IF SYSTEM HAS MEMORY MANAGEMENT THEN ! RESTORE PAR'S ! TURN OFF MEMORY MANAGEMENT INCR UNIT FROM O TO (MAX_UNITS DUR [.UNIT] = 0; IF .MEM_MGMT THEN BEGIN KTPAR4 = #%0'1000'; KTPARS = #0'1200'; MMRO = 0; 1) DO END; EOP_FLAG = FALSE; ENDCLN; A ! CLEAR END-OF -PASS FLAG CZRCD2 v02.0 000000 000002 000006 000010 000014 000020 000022 000030 000032 000036 000042 000046 000052 000054 000056 000064 000066 000072 000076 000102 000106 000110 000114 000116 000122 000124 000130 000132 000136 000140 000146 000150 000156 000164 000170 000174 000176 CZRCDBO RC25 DISK EXERCISER CLEANUP CODING SECTION 010146 005737 001472 005077 013700 104436 132737 001034 012746 012746 012746 012746 104437 005000 016037 001404 012701 010170 062700 020027 0C3763 012700 104436 062706 005000 105060 005200 020027 003772 132737 001410 012737 012737 005037 105037 012601 000207 .SBTTL LCLEAN: MOV TST BEQ CLR 000000G 000000G 0000006 000001 000000G 004737 000004 000006 104412 000207 36 #1,EOP.FLAG 3 #NEX.TRAP, -(SP) MOV 00000G0G 000000G 37 RO g%T(RO).RCZS.ADDR MOV 177777 000000G 000016 000052 2%: 000004 BEQ MOV MOV ADD CMP BLE R1,3CST(RO) #16,R0 RO, #52 MOV 000010 3s: 44 : 000000G 000017 000000G 001000 172350 001200 172352 177572 000000G 003304 4 words, ; Routine Size: ; Maximum stack depth per TRAP ADD CLR CLRB INC CMP BLE BITB BEQ MOV : 2308 H 2312 ; CTLR 2313 ; 2318 ; *(CTLR),* *,RC.REG ; RC.REG,* ; *,CTLR 2313 : 2322 : CTLR,* 2310 2326 2327 2326 #1 ,MEM.MGMT H 2329 #1000, 9#172350 #1200, 34172352 : (SP)+,R1 : 2339 ; 2284 5 177572 EOP.FLAG PC $CODES$ + 3304 PC,LCLEAN 12 PC + 2316 ; UNIT : *(UNIT) ; UNIT CLR CLRB MOV RTS Routine Base: $CODES 2 words 2284 2297 2299 2303 2304 ; L$CLEAN:: JSR TRAP RTS invocation: SEQ 0136 Page 40 (9 3 H F 3 H H MOV S$: 6$: VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 #3,-(SP) CLR 64 words, Routine Base: Maximum stack depth per invocation: 7 words 000000 9CLK.CSR CLK.VECTOR,RO MOV TRAP ; Routine Size: ; LCLEAN CLEANUP CODING SECTION R1,-(SP) CLK.TYPE 6% MOV TRAP BITB BNE MOV MOV 000340 000000V 000004 000003 000001 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 3504 : H : UNIT,* 2333 2334 2335 2339 CZRCDBO RC25 DIS K EXERCISER DROP UNIT SECTIO N %SBTTL VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 'DROP UNI T SECTION' THE DROP-UNIT SECTION CONTAINS THE CODING THAT CAUSES A PLATTER TO NO LONGER BE TESTED. IT IS EXECUTED WHENEVER THE MACRO “DODU” IS ENCOUNTERED IN THE PROGRAM, OR WHEN THE OPERATOR TYPES THE COMMAND “DROP/UN IT:X" THE PROGRAM WILL DROP A UNIT FOR ONE OF SEVERAL REASONS: . A CONTROLLER CANNOT BE BROUGHT ONLINE, . A PLATTER CANNOT BE BRCUGHT ONLINE TO ITS CONTROLLER, . AN UNRECOVERABLE PORT OR CONTROLLER ERROR HAS BEEN DETECTED, . A PLATTER HAS REACHED THE HARD ERROR LIMIT, OR AN MSCP END MESSAGE CONTAINS A "UNIT-OFFLINE” STATUS CODE. NEHEWN - T T MDD PO PO IO T D RO N N 50 s s o s ot o o s ot o o s i ot o R M N GG O8I 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 OTNIUNIE S BN 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 NNV €0 @5 €5 @0 T8 G 0 © @0 0 G G0 G0 G0 G0 G G0 T W T G G0 Gr T T G0 G0 T G G5 G0 G G T GO G5 T G G GF G G0 GO G G5 U G GU @ G G0 G0 G G5 G W @ v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 * CZRCD2 BGNDU; OWN DUM_TBL : VECTOR [S] INITIAL (DUM_UC, DUM_CE, DUM_IE, DUM_HE, DUM_UE); LOCAL UNIT : WOR' PRINT : WO:i.. ! ADDRESS TABLE FOR DROP UNIT MESSAGES ! ! NUMBER OF UNIT BEING DROPPED 0.K TO PRINT DROP UNIT MESSAGE REGISTER INPUT = O; UNIT = ,INPUT; ! ! UNIT NUMBER APPEARS IN RO UPON ENTRY GET UNIT NUMBER END; ! UNDECLARE REGISTER PRINT = FALSE; ! ASSUME NO PRINTING OF MESSAGE SEARCH: BEGIN ! BEGIN SEARCH BLOCK . LABEL SEARCH; BEGIN INCR CTLR FROM O TO (MAX_CTLR BEGIN 1) DO INCR OFFSET FROM (O + OF_UN) TO (3 + OF_UN) DO BEGI IF ( (.CST [.CTLR, (.CST [.CiLR, ! FOR EACH CST ! FOR EACH UNIT ENTRY IN CST .OFFSET, P_PRES] EQLU PRESENT) AND .OFFSET, P_UNIT] EQLU .UNIT)) ! ! ! IF .CST [.CTLR, THEN BEGIN .OFFSET, P_STAT] EQLU ONLINE ! ! IF UNIT EXISTS AND UNIT MATCHES CST ENTRY THEN IF UNIT IS ONLINE THEN SEQ 0137 Pogc( 41 10 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 003516 003520 003522 003524 003514 000000G 0000006 000000G 000000G 000000G 000000 000004 000006 000010 000012 000014 000020 000024 000026 000032 000034 004137 010001 005004 005003 010346 012746 004737 010005 012702 010500 060200 BEGIN CPT [.UNIT] = NO; CST [.CTLR, U_CNT] = .CST [.CTLR, U_CNT) - 1; OM_COMM [.CTLR, .OFFSET - OF_UN, ALLBIT] = -1; (10) ! NO FURTHER TESTING ! DECREMENT UNIT COUNT ! IF DM EXER, TELL FPT END; END; ! LEAVE SEARCH; ! EXIT SEARCH BLOCK END; ! IF UNIT EXISTS AND MATCHES ! CST UNIT LOOP ! CONTROLLER LOOP ! SEARCH BLOCK END; END; END; IF MANUAL AND (.PRINT OR (.DUR [.UNIT] LEQU DU_INIT)) THEN BEGIN PRINTF PRINTF PRINTF PRINTF IF UNIT WAS ONLINE (CRLF); (ETIME, .HOURS, .MINUTES, .SECONDS); (DUM_00, .UNIT); (.DUM_TBL [.DUR [.UNIT]]); ! IF 0.K. ! THEN TO PRINT MESSAGE <CR><LF> ELAPSED TIME "UNIT XX. DROPPED REASON " END; ENDDU; DUM. TBL : .WORD .WORD .WORD .WORD .WORD 000000G 000007 0000006 000003 LDU: 1$: 2%: .SBTTL JSR MOV CLR CLR MOV MOV JSR MOV MOV MOV ADD DUM. UC DUM. CE DUM. IE DUM. HE DUM. VE LDU DROP UNIT SECTION R1,$SAVES RO,R1 R4 R3 R3,-(SP) #7,-(SP) PC,BL$MUL RG,RS #3,R2 R5,R0 R2,R0O we 2405 2406 THEN SEQ 0138 Page 42 0.K. TO PRINT MESSAGE MARK UNIT OFFLINE IF UNIT IS UNDER TEST THEN CST [.CTLR, .OFFSET, P_STAT] = OFFLINE; IF .CPT [.UNIT] EQLV YES we 2404 PRINT = TRUE; VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 ®s 2403 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ®s 2399 2400 2401 2402 HFNNOWWHWWWWNENDWRONNWESDNNOOON YYD DD0 NI CZRCDBO RC25 DISK EXERCISER DROP UNIT SECTION . CZRCD2 v02.0 i i INPUT,UNIT PRINT CTLR CTLR,* *,0FFSET ; OFFSET,» 2341 2375 2379 2384 2390 2387 2390 CZRCD2 v02.0 000036 000040 000044 000050 000052 000054 000056 000060 000064 000066 000070 000074 000076 000102 000106 000112 000114 000120 000122 000126 000132 000134 000140 000142 000146 000152 000154 000156 000160 000166 000170 000172 000174 000200 000202 000204 000206 000212 000214 000216 000220 000222 000224 000232 000234 000240 000244 000246 000250 000254 000260 000264 000270 000274 000276 0003C0 0003c2 CZRCDBO RC25 DISK EXERCISER DROP UNIT SECTION 006300 052700 032710 001450 010146 011046 000316 042716 022626 001041 032710 001434 012704 042710 126104 001025 105061 010316 012746 004737 005726 105360 010316 012746 004737 005726 060200 006300 012760 022626 000411 005202 020227 003714 022626 005203 020327 003677 104450 103053 006004 103404 126127 101045 012746 012746 010600 104417 013716 013746 013746 012746 012746 010600 104417 010116 012746 000000G 040000 177740 020000 000001 020000 000000G ASL ADD RO BIT BEQ MOV MOV SWAB BIC cMP BNE BIT BEQ #40000,(RO) L1 BIC CMPB BNE CLRB 000000G 000016 000000G 000005G 000032 000000G 177777 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 1777726 000006 3s: 4%: 000003 S$: MOV MOV JSR TST DECB MOV MOV JSR TST ADD ASL MOV CcMP BR INC CMP BLE CMP INC CMP BLE TRAP BHIS ROR 000000G 000002 0000006 000001 000000G 0000006 0000006 000000G 000004 000000G 6%: BLO CMPB BHI MOV MOV MOV TRAP MOV MOV MOV MOV MOV MOV TRAP MOV MOV SEQ 0139 Page 43 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 (10) VAX-11 Bliss-16 V4.0-579 #CST,RO (RO),-(SP) (SP) ; UNIT,* 2391 #177740,(SP) (?P)O.(SP)O 4 #20000,(RO) 3s #1,R4 #20000,(RO) CPT(R1),R4 34 CPT(R1) R3,(SP) , ; 2395 *,PRINT , ; #(UNIT),* 2399 2400 2401 ; *(UNIT) ; CTLR,* 2405 2406 ; 2407 PC,BLS$MUL (SP)+ CST+SC(RO) R3,(SP) #32,-(SP) PC,BL$MUL (SP)+ R2,RO RO #-1,DM.COMM-6(RO) (SP)+,(SP)+ S$ R2 R2,#6 24 (SP)+,(SP)+ R3 R3,43 1$ 50 7$ R4 6% DUR(R1),#2 7% #CRLF, -(SP) #1,-(SP) SP,RO 17 SECONDS, (SP) MINUTES, -(SP) HOURS, -(SP) #ETIME, -(SP) #4,-(SP) SP,RO 17 R1,(SP) #DUM.00, -(SP) CTLR,* ; OFFSET,* : 2393 ; OFFSET ; OFFSET,» 2387 H 2385 ; CTLR ; CTLR,» 2384 H 2423 ; PRINT H 2427 H SPO‘ H 2428 H SP.‘ i UNIT,* 2429 CZRCD2 CZRCDBO RC25 DISK EXERCISER DROP UNIT SECTION v02.0 000306 000312 000314 000316 000320 000324 000326 000332 000336 000340 000342 000346 012746 010600 104417 005000 156100 006300 016016 12746 010600 104417 062706 000207 ; Routine Size: ; MOV MOV TRAP CLR BISB 000000G 003514° 000001 000022 78: ASL MOV MOV MOV TRAP ADD RTS $CODES 116 words, Rout ine Base: invocation: 17 words Maximum stack depth per 000000 000004 000006 004737 104453 000207 ; Routine Size: ; 000002 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 003526 4 words, Maximum stack depth per L$DU:: Routine Base: 2 words invocation: .SBTTL JSR TRAP RTS $CODE$ 17 RO DUR(R1),RO RO DUM. TBL(RO), (SP) #1,-(SP) SP,RO 17 #22,5P PC VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCNB JCZRCD2.SRC; 8 SEQ 0140 Page 44 (10) H SPO‘ i i *(UNIT),+ ; 2430 SP,* 2425 2341 3526 L$DU DROP UNIT SECTION PC,LDV 33 PC + 4076 2432 CZRCD2 CZRCDBO KC25 DISK EXERCISER v02.0 3 : 3 3 3 3 : 3 3 3 3 3 : 3 : H 3 3 3 3 3 3 3 H : : : 3 3 H 3 ADD UNIT SECTION 2435 1 #SBTTL 'ADD UNIT SECTION' 2437 2438 2439 1 1 1 1e ! ! 2436 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 000000 000004 000010 000012 000016 000022 000024 000030 000032 000034 000036 000040 000042 000046 000050 000052 000054 000056 1 1 1 1 1 2 2 2 2 2 2 2 3 3 3 3 3 3 2 2 2 2 2 2 2 2 1 !- 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0141 Page 4S5 (11) THE ADD-UNIT SECTION CONTAINS ANY CODE THE PROGRAMMER WISHES TO BE EXECUTED IN CONJUNCTION WITH THE ADDING OF A UNIT BACK TO THE TEST CYCLE. THIS CODE WILL BE EXECUTED AFTER TH~ OPERATOR COMMAND “ADD/UNIT:X". LOCAL UNIT : WORD, STINDX : WORD, ENDIDX : WORD; ! NUMBER OF UNIT BEING ADDED BEGIN REGISTER INPUT = 0; UNIT = _INPUT; ! UNIT NUMBER APPEARS IN RO UPON ENTRY ! GET UNIT NUMBER END; ! UNDECLARE REGISTER DUR [.UNIT] = 0; ! ZERO OUT DROP UNIT REASON INCR COUNT FROM .STINDX TO .ENDIDX DO TALLY [.COUNT] = 0; ! ! STINDX = ENDIDX = _UNIT & TALLY_LEN; .STINDX + TALLY_LEN - 1; ! ZERO OUT ! ADDED UNIT'S STATISTICS ENDAUV; 000000G 000000G 062702 010001 005301 000404 010100 006300 005060 005201 020102 003771 022626 000207 000027 010002 VAX-11 Bliss-16 vV4.0-579 BGNAU; 004137 105060 010046 012746 004737 ; Routine Size: ; ! ! 14-Jun-1985 09:36:36 LAU: 000030 000000G 000000G 24 words, LAU ADD UNIT SECTION R1,$SAVE2 DURCRO) RO, -(SP) #30,-(SP) PC,BLS$MUL ADD MOV DEC BR MOV ASL CLR INC CMP BLE CMP RTS #27,R2 RO,R1 R1 2% R1,RO RO TALLYCRO) R1 R1,R2 1$ (SP)+,(SP)+ PC MOV 1$: Maximum stack depth per .SBTTL JSR CLRB MOV MOV JSR 2%: Routine Base: invocation: 6 words RO,R2 $CODE$ + 4106 . ; ; #(UNIT) UNIT,s : STINDX,ENDIDX 2434 2459 2460 2461 ; : ; *,ENDIDX STINDX,COUNT COUNT ; COUNT,» 2463 ; ; COUNT COUNT,ENDIDX 2462 : 2462 2434 CZRCD2 v02.0 000000 000004 000006 ; CZRCDBO RC25 DISK EXERCISER ADD UNIT SECTION 004737 104452 000207 Routine Size: 004106’ 4 words, ; Maximum stack depth per L$AU:: Rout ine Base: invocation: 2 words 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL JSR TRAP RTS $CODE$ L$AU ADD UNIT SECTION PC,LAV 52 PC + 4166 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0142 Page 46 (11) 2463 e CZRCD2 CZRCDBO RC25 DISK EXERCISER NON-EXISTENT MEMORY TRAP HANDLER 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 P00 N0 D D s s s s ot o ot e ot ----“-“-fl--fl- vo2.0 000000 012737 000006 000002 ; Routine Size: 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:([AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0143 Page 47 (12) %SBTTL 'NON-EXISTENT MEMORY TRAP HANDLER' te ! ! ! THIS TRAP HANDLER IS VECTORED FROM LOCATION 4 FOR ALL UNIBUS TIMEOUT ERRORS, INDICATING THAT AN ATTEMPT WAS MADE TO REFERENCE A NON-EXISTENT MEMORY LOCATION. ITS MAIN PURPOSE IS TO SET ~ FLAG FOR THE RC11 REGISTER EXISTENCE TEST, INDICATING THE ABSENCE OF A DEVICE REGISTER. BGNSRV (NEX_TRAP); NEX = TRUE; ! NEX TRAP OCCURRED ENDSRV; 000001 .SBTTL NEX.TRAP:: MOV RTI 000000G 4 words, Routine Base: $CODES 0 words ;3 Maximum stack depth per invocation: NEX.TRAP NON-EXISTENT MEMORY TRAP HANDLER @1 ,NEX + 4176 3 3 2477 2475 | 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 B 5 5 5 5 08 8 G G808 N) N R N N s s s s po 4o po pus o CZRCDBO RC2S DISK EXERCISER CLOCK INTERRUPT SERVICE ROUTINE #SBTTL 'CLOCK INTERRUPT ! ! ! ! | SEQ 0144 Page 438 (13) SERVICE ROUTINE' BGNSRV (CLK_INT_SERV); TICKS = _TICKS + 1; IF _TICKS EQLU .CLK_MHERTZ THEN BEGIN TICKS = 0; SECONDS = .SECONDS -+ IF _SECONDS EQLU 60 THEN BEGIN 1; SECONDS = 0; MINUTES IF = .MINUTES _MINUTES EQLUV 60 + 1; + 1; THEN BEGIN MINUTES HOURS = = 0; _HOURS END; 000000 005237 000000G 000004 000012 000014 000020 200024 000032 000034 000049 000044 023737 001024 005037 005237 023727 001014 005037 005237 023727 001004 000000G 000000G - VAX-11 Bliss-16 V4.,0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 THE CLOCK INTERRUPT SERVICE ROUTINE IS ENTERED AT THE CLOCK HERTZ RATE (50 OR 60 TIMES PER SECOND). ITS PURPOSE IS TO MAINTAIN THZ ELAPSED TIME OF THE EXERCISER, AND, IF ONE SECOND HAS ELAPSED, TO FLAG THE EVENT BY SETTING T_FLAG TO “TRUE". ENDSRV; oooos2 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ', HRVVRVRRVWESEBUVUVIVIVIVIE Q..-Mufloominoofluolu‘o...au.ofl“.Q...lflo.on“.'u”uu““fl“"ufluuu CZRCD2 v02.0 END; : END; IF 7 _TICKS EQLV O ! IF ONE SECOND HAS ELAPSED T_FLAG ! ! THEN FLAG THE EVENT THEN = TRUE; 000000G 000000G .SBTTL CLK.INT.SERV:: INC g:: oy e =Y CLK.INT.SERV CLOCK INTERRUPT SERVICE ROUTINE TICKS IICKS.CLK.HERTZ $ : : 000000G 000074 CLR INC g:: TICKS SECONDS : : 000000G 000000G 000000G 000074 CLR INC gflz 1s SECONDS MINUTES TINUTES.O?‘ 3 i ; N sl SECONDS, ¢#74 s : 2491 2492 . 2496 2497 2498 2502 2503 2504 C2RCD2 vd2.0 000054 000060 000064 000070 000072 000100 ; CZRCOBO RC2S DISK EXERCISER CLOCK INTERRUPT SERVICE ROUTINE 005037 005237 005737 001003 112737 000002 Routine Size: 000000G 0000006 0000006 000001 18: 000000G 33 words, 2%: Routine Base: : Maximum stack depth per invocation: O words 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 CLR INC ST BNE MOVB RTI S$CODES MINUTES HOURS TICKS 24 #1,T.FLAG + 4206 VAX-11 Bliss-16 v4.0-579 SEQ 0145 Page 49 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 (13 ; : : 2508 2509 2517 ) P 2519 2489 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 PPN MM N N 6o s s s et s ps bt ot o “fl“.‘fl“““.‘“.‘fl“fl“.’“ v02.0 14-Jun-1985 09:36:36 000000 005000 000002 000004 000012 000020 000026 000030 000034 000036 000411 017676 062766 062766 005200 020066 003763 000207 ; Routine Size: Maximum stack wSBTTL 14-Jun-1985 09:32:03 SEQ 0146 Page S0 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (14) VAX-11 Blies-16 V4.0-579 'GLOBAL ROUTINES' GLOBAL ROUTINE COPY_BLK (SRC, DST, NWRDS) : NOVALUE = ‘e ! ! THE PURPOSE OF THIS ROUTINE IS TO TRANSFER A BLOCK OF MEMORY OF LENGTH “NWRDS” FROM “SRC” TO "DST~. | N INCR I FROM 1 TO BEGIN .NWRDS DO ! FOR EACH WORD IN BLOCK .DST = , .SRC; DST = .DST « 2; SRC = .SRC + 2; ! ! ! TRANSFER WORD FROM SOURCE TO DESTINATION ADVANCE DESTINATION ADDRESS ADVANCE SOURCE ADDRESS END; .SBTTL COPY .BLK:: CLR 000006 000004 000002 000006 000002 1$: 000004 2%: 000002 16 words, depth per Routine Base: invocation: 0 words COPY.BLK GLOBAL ROUTINES BR MOV RO 28 96(SP),84(SP) s ADD INC CMP BLE RTS #2,6(SP) RO RO,2(SP) 18 PC ; s ;: ADD S$CODES$ #2.,4(SP) + 4310 ; : : i 1 2531 SRC,DST 2534 2535 2536 2531 *,DST *,SRC I I,.NWRDS 2524 CZRCD2 CZRCDBO RC2S DISK EXERCISER GLOBAL ROUTINES A, ‘e ! H THIS ROUTINE SETS UP THE COMMONLY-USED CONTROLLER-RELATED DATA ITEMS FOR THE GIVEN CONTROLLER NUMBER. H H INPUTS: H ! H H H : H IMPLICIT OUTPUTS: CCTLR - CURRENT CONTROLLER NUMBER CST_ADDR - ADDRESS OF CONTROLLER'S STATUS TABLE DCT_ADDR - ADDRESS OF CONTROLLER'S DRIVER TABLE RC25_ADDR - ADDRESS OF CONTROLLER'S IP REGISTER DMC_ADDR - ADDRESS OF CONTROLLER'S DM_COMM AREA OCL_X1,2 - STARTING/ENDING INDECES OF CONTROLLER'S OUTSTANDING R e e e e e e e S S S S [ N T 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 ] H H H TM CTLR - CONTROLLER NUMBER COMMAND AREA (OUTC_LIST, OUTC_TIMR) RPS_X1,2 - STARTING/ENDING INDECES OF CONTROLLER'S RETURN PACKET SAVE AREA (RP_SAVE) BEGIN CCTLR = .CTLR; CST_ADDR = CST + (.CTLR # CST_LEN # 2); DCT_ADDR = DCT + (.CTLR # DCT_LEN # 2); ! SET CURRENT CONTROLLER NUMBER ! CALCULATE ADDRESS OF CONTROLLER‘S CST ! CALCULATE ADDRESS OF CONTROLLER'S DCT RC25_ADDR = .CST_ADDR [IP_ADDR]; ! GET CONTROLLER'S DEVICE ADDRESS DMC_ADDR = DM_COMM + (.CTLR #* DMC_LEN #* 2); ! CALCULATE ADDRESS OF CONTROLLER'S DM_COMM AREA OCL_X1 = .CTLR # OUTC_CNT; ! STARTING INDEX OF CTLR'S OUTC AREA OCL_X2 = .OCL_X1 + OUTC_CNT - &; ! ENDING INDEX OF CTLR'S OUTC AREA RPS_X1 = .CTLR = RPS_LEN; ! STARTING INDEX OF CTLR'S RETPKT SAVE AREA RPS_X2 = .RPS_X1 + RPS_LEN - 1; ! ENDING INDEX OF CTLR'S RETPKT SAVE AREA END; 000000 010146 000002 000006 000012 000014 000020 000024 000030 000034 000036 000042 000046 000052 000056 000064 000066 000072 000076 0001C2 016601 010137 010146 012746 004737 062700 010037 010116 012746 004737 062700 010037 017737 010116 012746 004737 062700 010037 SEQ 0147 Page 51 (15) : NOVALUE = L 2552 2553 2554 2555 2556 2557 2558 GLOBAL ROUTINE SET_CPAR (CTLR) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 L 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 ey S V0.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 000004 000000G 000016 000000G 000000G 000000G 000022 000000G 000000G 000000G 000000G 000000G 000064 000000G 000000G 000000G .SBTTL SET.CPAR:: MOV MOV MOV MOV MOV JSR ADD MOV MOV MOV JSR ADD MOV MOV MOV MOV JSR ADD MOV SET.CPAR GLOBAL ROUTINES R1,-(SP) 4(SP),R1 R1,CCTLR R1,-(SP) #16,-(SP) PC,BL$MUL #CST,RO RO,CST.ADDR R1,(SP) #22,-(SP) PC,BL$MUL #DCT,RO RO,DCT.ADDR 8CST.ADDR,RC25.ADDR R1,(SP) #64,-(SP) PC,BL$MUL #DM.COMM,RO RO,DMC.ADDR ; ; CTLR,* 2539 2562 : 2563 H 2564 3 H 2565 2566 CZRCD2 CZRCOBO RC25 DISK EXERCISER GLOBAL ROUTINES v02.0 000106 000110 000112 000114 000116 000120 000124 000130 000136 000140 000142 000144 000146 000152 000156 000164 000170 000172 010100 006300 006300 006300 006300 010037 010037 062737 010100 006300 006300 006300 010037 010037 062737 062706 012601 000207 000000G 000000G 000017 000000G 000000G 000000G 000007 000000G 000010 Routine Size: 62 words, Rout ine Base: Maximum stack depth per invocation: 6 words he- 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 MOV ASL ASL ASL ASL MOV MOV ADD MOV ASL ASL ASL MOV MOV ADD ADD MOV RTS $CODE$ R1.RO RO RO RO RO RO,OCL .X1 RO,0CL .x2 #17,0CL. X2 R1,RO RO RO RO RO,RPS.X1 RO,RPS.X2 #7,RPS . X2 #10,SP (SP)+,R1 PC + 4350 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB 1CZRCD2.SRC; 8 SEQ 0148 Page 52 (15 : 2567 ; OCL.X1,* 2568 3 2569 ; H H RPS.X1,% 2570 2560 2539 CZRCD2 CZRCDBO RC25 DISK EXERCISER e e e S el S S S S S S Sy S INPUTS: 016637 016600 006300 063700 111037 105037 011001 000301 042701 010137 ¢ 246 o-' 146 oC -737 062700 010037 022626 012601 000207 ; Routine Size: Page 53 (16) OFFSET - WORD OFFSET INTO CURRENT CONTROLLER'S CST WHICH DESCRIBES A UNIT IMPLICIT INPUTS: CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST IMPLICIT OUTPUTS: CUOFF - CURRENT UNIT'S CST OFFSET CPLAT - CURRENT PLATTER ADDRESS (MSCP UNIT NUMBER) L$SLUN - CURRENT UNIT NUMBER (DS UNIT NUMBER) T_ADDR - ADDRESS OF CURRENT UNIT'S STATISTICS BLOCK (TALLY) END; 000002 000010 000014 000016 000022 000026 000032 000034 000036 000042 000046 000050 000054 000060 000064 000070 000072 000074 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 THIS ROUTINE SETS UP THE COMMONLY-USED UNIT-RELATED DATA ITEMS FOR THE CURRENT CONTROLLER AND GIVEN CST OFFSET. CUOFF = _OFFSET; CPLAT = _CST_ADDR [.OFFSET, P_ADDR]; L$LUN = _CST_ADDR [.OFFSET, P_UNIT]; T_ADDR = TALLY + (.LSLUN # TALLY_LEN % 2); 010146 14-Jun-1985 09:32:03 SEQ 0149 NOVALUE = BEGIN 000000 VAX-11 Bliss-16 V4.0-579 - : O 2593 2594 2595 2596 2597 2598 2599 2600 GLOBAL ROUTINE SET_UPAR (OFFSET) L 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 A, GLOBAL ROUTINES Ll ®5 S0 S0 G0 @0 W0 S0 W0 G0 O G5 @0 S0 G0 G0 G0 G0 G0 @ @0 @5 @0 @5 @6 @5 @8 8¢ e v02.0 14-Jun-1985 09:36:36 .SBTTL SET.UPAR:: 000004 000004 000000G 177740 000000G R1,-(SP) 4(SP),CUOFF ASL ADD MOVB CLRB MOV SWAB RO CST.ADDR,RO (RO),CPLAT CPLAT+1 (RO),R1 R1 BIC MOV MOV MOV JSR ADD MOV cMP MOV RTS 000060 000000G 000000G 000000G 31 words, MOV MOV MOV 000000G 000000G 000001G Routine Bace: S$CODE$ 4 words ; Maxirum stack depth per invocation: SET.UPAR GLOBAL ROUTINES 4(SP),R0O #177740,R1 R1,LSLUN R1,-(SP) #60,-(SP) PC,BL$MUL #TALLY,RO RO,T.ADDR (SP)+,(SP)+ (SP)+,R1 PC + 4544 H ; OFFSET,* 2573 2595 ; CUOFF, % 2596 H 2597 : : : LSLUN, = 2598 2593 2573 CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2€19 260 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 17 THIS ROUTINE SEARCHES THE MSCP ENVELOPE POOL ALLOCATION TABLE (ENV_USE) FOR A FREE MSCP ENVELOPE TO ALLOCATE TO THE GIVEN CONTROLLER. IF ONE IS FOUND, THE ENVELOPE IS ZEROED OUT, AND THE ENVELOPE INDEX IS RETURNED TO THE CALLER. OTHERWISE, A -1 IS RETURNED INDICATING NONE AVAILABLE. INPUTS: CTLR - CONTROLLER NUMBER REQUESTING ALLOCATION BEGIN LOCAL INDEX INDEX = : WORD; -1; INCR COUNT FROM O TO CENV_CNT - 1) DO ! FOR EACH ENTRY IN ALLOCATION TABLE BEGIN IF .ENV_USE [.COUNT] LSS O THEN ! ! BEGIN ENV_USE [.COUNT] = .CTLR; INDEX = .COUNT; INCR J FROM 2 TO CENV_LEN - 1) DO MSCP_ENV [.COUNT, .J, ALLBIT] = 0; EXITLOOP; IF ENTRY INDICATES FREE ENVELOPE THEN ! ALLOCATE ENVELOPE TO CONTROLLER ! ZERO OUT ENVELOPE ! DONE END; END; RETURN .INDEX; END; 004137 000000G 000004 000010 000012 000016 000020 000026 000030 000032 000036 000042 000044 000050 000052 012703 005001 105761 002026 116661 010103 177777 R 14-Jun-1985 09:32:03 SEQ 0150 Page 54 GLOBAL ROUTINE GET_ENV (CTLR) = 000000 010146 012746 004737 022626 012702 010004 060204 VAX-11 Bliss-16 V4.0-579 * 2601 2602 FRORRNNVWHNELELEBELLEWWWWINMNMNMN NN N N o s s s s s s s ot s pos ot GLOBAL ROUTINES 14-Jun-1985 09:36:36 .SBTTL GET.ENV:: 000000G 000014 1¢: 000000G 000042 000000G 000002 28: GET.ENV GLOBAL ROUTINES JSR MOV R1,$SAVE4 #-1,R3 R1 §§V.USE(R1) 3 ;. %, INDEX ; COUNT ; *(COUNT) 2601 2618 2620 2623 MOVB MOV MOV MOV JSR CMP MOV 14(SP) ,ENV.USE(R1) R1,R3 R1,-(SP) #42,-(SP) PC,BLSMUL : ; ; CTLR,*(COUNT) COUNT, INDEX COUNT,* 2627 2628 2630 RO,.R4 R2,.R4 ; *,J H i Jok 2629 2630 CLR ;SEB MOV ADD (SP)+,(SP)+ #2,R2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES CZRCD2 v02.0 000054 000056 000062 000064 000070 000072 000074 000076 000102 000104 000106 006304 005064 005202 020227 003767 000404 005201 020127 003743 010300 000207 ; Routine Size: ; ASL 000000G CLR INC CMP BLE 000041 3s$: 000137 4%: 36 words, Maximum stack depth per 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 SEQ 0151 Page 55 17 R4 MSCP.ENV(R4) i i BR INC CMP BLE MOV RTS Rout ine Base: $CODE$ 8 words invocation: VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 J Jo* : ; COUNT ; COUNT,=* : H + 4642 INDEX,= 2629 2625 2620 2613 2601 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 s s ot s ot CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES N0 PO PO N b W S G0 S0 S0 @0 G0 90 90 90 w0 @ CZRCD2 v02.0 GLOBAL ROUTINE PUT_ENV (INDEX) e SEQ 0152 Page 56 (18) NOVALUE = THE MSCP ENVELOPE DESIGNATED BY ROUTINE. "INDEX" IS RETURNED TO THE POOL BY THIS BEGIN ENV_USE [.INDEX] = -1; END; 016600 000002 000004 000012 112760 000207 000377 Routine Size: Maximum stack : VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 e ! ! 000000 ; ; 14-Jun-1985S 09:36:36 14-Jun-1985 09:32:03 .SBTTL PUT.ENV:: MOV MOVB RTS 000000G 6 words, depth per Routine Base: invocation: O words $CODE$ PUT.ENV GLOBAL ROUTINES 2(SP),RO #377 ,ENV.USECRO) PC + 4752 ; : INDEX, * 2649 2640 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES T PO ) =5 o s et o 2 O O G4 G G G O * R 000000 010146 000002 000004 000010 000014 000016 000024 000026 000032 000034 000036 005000 116001 020166 001003 112760 005200 020027 003764 012601 000207 ; Routin e Size: ; GLOBAL ROUTINE PUTA_ENV (CTLR) : VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0153 Page 57 (19) NOVALUE = * s s s ot et v02.0 14-Jun-1985 09:36:36 THIS ROUTINE DEALLOCATES ALL MSCP ENVELOPES WHICH HAVE BEEN ALLOCATED TO A PARTICULAR CONTROLLER. INPUTS: CTLR - CONTROLLER NUMBER BEGIN INCR ngzT FROM O TO CENV_CNT BE ¥F€&ENV_USE [.COUNT] EQLV H ENV_USE [.COUNT] = 1) DO ! FOR EACH ENTRY IN ALLOCATION TABLE .CTLR ! ! -1; %;ESNVELOPE IS ALLOCATED TO GIVEN CONTROLLER ! DEALLOCATE IT END; END; ! .SBTTL PUTA.ENV GLOBAL ROUTINES CLR MOVB CMP BNE MOVB INC CMP BLE MOV RTS R1,-(SP) RO ENV.USECRO),R1 R1,4(SP) 2% #377 ,ENV.USE(CRO) RO RO,#137 1¢ (SP)+,R1 PC PUTA.ENV:: MOV 000000G 000004 000377 1¢: 000000G 000137 16 words, Maximum stack depth per 2$: ROUTINE PUTA_ENV Routine Base: S$CODE$ invocation: 2 words + 4766 H ; COUNT ; *(COUNT),* ; *,CTLR 2652 2664 2667 ; ; 2669 2664 ; : *,+(COUNT) COUNT COUNT,=» 2652 CZRCD2 2677 2678 2679 2680 2681 2682 2683 2684 2685 2687 2688 2689 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 SEQ 0154 Page 58 (20) * THIS ROUTINE SEARCHES THE RETURN PACKET POOL ALLOCATION TABLE (RP_USE) FOR A FREE RETURN PACKET TO ALLOCATE TO THE GIVEN CONTROLLER. IF ONE IS FOUND, THE PACKET IS ZEROED OUT, AND THE PACKET INDEX IS RETURNED TO THE CALLER. INPUTS: OTHERWISE, A -1 IS RETURNED INDICATING NONE AVAILABLE. CTLR - CONTROLLER NUMBER REQUESTING ALLOCATION BEGIN LOCAL INDEX INDEX = : WORD; -1; INCR COUNT FROM O TO (RP_CNT BEGIN %FE.RP-USE HEN - 1) DO [.COUNT] LSS O ! ASSUME NONE AVAILABLE ! FOR EACH ENTRY IN TABLE ! IF FREE RETPKT IS FOUND ! ALLOCATE RETURN PACKET TO CONTROLLER ! ZERO OUT RETPKT ! DONE ! RETURN PACKET INDEX (OR BEGIN RP_USE [.COUNT] = .CTLR; INDEX = .COUNT; INCR J FROM O TO (RP_LEN - 1) DO RETPKT [.COUNT, .J, ALLBIT] = 0; EXITLOOP; END; END; RETURN .INDEX; -1) TO CALLER END; 000000 004137 000000G 000004 000010 000012 000016 000020 000026 000030 000032 000036 000042 000044 000046 000050 012703 005001 105761 002025 116661 010103 010146 012746 004737 022626 005002 010004 060204 177777 la— VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 GLOBAL ROUTINE GET_RETPKT (CTLR) = e e e e e e e e 2674 2675 2676 HFRNVRNNNWWELELELLEEDWWWGINMNNNN N NN - s s s s s s s s s s s v02.0 14-Jun-1985 09:3 :36 14-Jun-1985 09:3 :03 no CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES .SBTTL GET.RETPKT:: JSR 000014 CLR ;gga R1,$SAVE4 #-1,R3 R1 gP.USE(Rl) MOVB MOV MOV MOV JSR 14(SP) ,RP.USE(R1) R1,R3 R1,-(SP) #30,-(SP) PC,BLSMUL MOV 000000G 18: 000000G 000030 000000G 28: GET.RETPKT GLOBAL ROUTINES cMP CLR MOV ADD $ (SP)+,(SP)+ R2 RO,R4 R2.R4 3 ; &,INDEX ; COUNT ; #(COUNT) 2674 2691 2693 2696 ; : ; 2700 2701 2703 CTLR,*(COUNT) COUNT, INDEX COUNT, s : J : i J.t 2702 2703 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 000074 000100 000102 000104 006304 005064 005202 020227 003767 000404 005201 020127 003744 010300 000207 ; Routine Size: ; 000000G 000027 3s: 000037 4% : 35S words, Maximum stack depth per 14-Jun-198S 09:36:36 14-Jun-1985 09:32:03 32: ASL CLR INC CMP BLE BR INC CMP BLE MOV RTS Routine Base: $CODE$ 8 words invocation: R4 RETPKT(R4) R2 R2,827 2% 43 R1 R1,037 14 R3,RO PC + 5026 VAX-11 Bliss-16 V4.0-579 USER$1: [AZTEC.CZRCOB ICZRCD2. SRC; 8 3 j 8 B SEQ 0155 Page 59 (20) 2702 . H 2698 ;s COUNT 2693 ; INDEX,* 2686 H 2674 CZRCD2 CZRCDBO RC2S DISK EXERCISER v0o2.0 ) 3 3 ;s ;. ; 3 ;. ;. ;. : ;. 14-Jun-1985 09:36:36 GLOBAL ROUTINES BViS 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 3 1 1 1 1 1 1 2 2 2 2 1 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0156 Page 60 (21) GLOBAL ROUTINE PUT_RETPKT (INDEX) : NOVALUE = 1- THE RETURN PACKET DESIGNATED BY “INDEX” IS RETURNED TO THE POOL BY THIS ROUTINE. BEGIN RP_USE [.INDEX]) = -1; END; 000000 016600 000002 000004 000012 112760 000207 000377 ; Routine Size: 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 .SBTTL PUT.RETPKT:: MOV MOVB RTS 000000G 6 words, ;i Maximum stack depth per Routine Base: invocation: O words PUT.RETPKT GLOBAL ROUTINES 2(SP),RO €377 ,RP.USECRO) PC $CODE$ + 5134 ; INDEX,=» 2722 : 2713 THIS ROUTINE HANDLES THE ALLOCATION OF AN I/0 BUFFER FROM THE BUFFER POOL . INPUTS: OUTPUTS: ADDRESS TO STORE THE 2-WORD BUFFER DESCRIPTOR THE ALLOCATED BUFFER'S DESCRIPTOR IS LOADED INTO THE TWO WORDS AT “ADDR” AND “ADDR + 2. OTHERWISE, A “"-1" IS RETURNED AT "ADDR” IF NO BUFFERS ARE AVAILABLE. BEGIN .ADDR = -1; INCR COUNT FROM © TO (.NUM_BUFF BEGIN IF .BUFF_OWN [.COUNT] LSS © ASSUME FAILURE 1) DO FOR EACH ENTRY IN BUFFER TABLE THEN BEGIN BUFF _OWN [.COUNT] = .CCTLR; .ADDR = .BUFF_DESC [.COUNT, BD_LO]; ! (.ADDR + 2) = .BUFF_DESC [.COUNT, BD_HI); EXITLOOP; ! END; END; ! END; ! 004137 000000G 000004 000010 000014 000016 000020 000024 000026 000034 000036 000040 000042 000046 000054 000056 000060 000064 000066 016602 012712 005001 000420 105761 002014 113761 010100 005300 006300 016012 016062 000207 005201 020137 002755 000207 000010 177777 Routine Size: Maximum stack - IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER 000000 ; ; ADDR 000000G 000000G 000000G 000000G 000002G 000002 000000G .SBTTL GET.IO.BUFF:: JSR MOV MOV CLR BR 1¢: 1S58 BGE MOVB MOV ASL ASL MOV MOV RTS 2%: INC 3s: CMP BLT RTS 28 words, Rout ine Base: $CODE$ depth per invocation: 4 words IF BUFFER IS FREE THEN ALLOCATE BUFFER TO CONTROLLER RETURN BUFFER DESCRIPTOR DONE BUFFER TABLE LOOP ROUTINE GET_IO_BUFF GET.IO.BUFF GLOBAL ROUTINES R1,$SAVE2 10(SP),R2 #-1,(R2) R1 33 BUFF .OWN(R1) 2% CCTLR,BUFF .OWN(R1) R1,RO RO : ADDR,* 2725 2745 ; COUNT 2746 : *(COUNT) 2749 i ; *,«(COUNT) COUNT, = 2753 2754 RO BUFF .DESC(RO (R2) ), BUFF .DESC+2(R0),2(R2) PC R1 R1,NUM_BUFF 14 PC + 5150 we 2760 2762 NOVALUE = we 2758 FTOWE D D5 2750 2751 2753 2754 2755 2756 : SEQ 0157 Page 61 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (22) VAX-11 Blies-16 V4.0-579 e 2736 2737 2738 2739 2740 2741 2743 2744 2745 2746 2747 2749 GLOBAL ROUTINE GET_IO_BUFF (ADDR) 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 > 2727 2728 2729 2730 2731 2732 2733 2734 2735 s s 1o s s ps s pb Jub b ot ot ot P o 2725 2726 WG WNN NN R P + CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES . CZRCD2 v02.0 COUNT COUNT, 2755 2751 2746 2725 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 000000 004137 000004 000006 000010 000012 000014 000016 000024 000026 000032 000040 000042 000050 000052 000054 000060 000062 005002 000422 010201 006301 006301 026176 001012 016600 026160 001004 112762 000207 005202 020237 002753 000207 Routine Size: Maximum stack GLOBAL ROUTINE PUT_IO_BUFF (ADDR) VAX-11 Blies-16 V4,0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0158 Page 63 23) : NOVALUE = . 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 #Nmuubb&bbubbuummmfinunnnunupu .l.'.'.....'.l.l“..““.l.....c.l.o.v...o.....l‘..l...‘“ v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 THIS ROUTINE HANDLES THE DEALLOCATION OF AN I/0 BUFFER, TO THE BUFFER POOL. INPUTS: ADDR RETURNING IT - ADDRESS OF THE 2-WORD BUFFER DESCRIPTOR TO BE DEALLOCATED BEGIN INCR322¥NT FROM 0 TO (.NUM_BUFF N - 1) DO ! FOR EACH ENTRY IN BUFFER TABLE IF ((.BUFF_DESC [.COUNT, BD_LO] EQLA ..ADDR) AND (.BUFF _DESC [.COUNT, BD_HI] EQLV .(.ADDR + 2))) THEN BEGIN BUFF _OWN [.COUNT] EXITLOOP; = -1; ! IF THIS IS THE BUFFER'S ENTRY ! THEN ! DEALLOCATE BUFFER ! DONE END; END; ! BUFFER TABLE SEARCH LOOP END; ! ROUTINE PUT_IO_BUFF .SBTTL 0000006 PUT.IO0.BUFF:: JSR 1$: CLR BR MOV PUT.IO0.BUFF GLOBAL ROUTINES R1,$SAVE2 R2 3 R2,R1 R1 R1 gUFF.DESC(Rl).Olo(SP) : ; COUNT 2763 2776 ; COUNT, s 2779 ; *,ADDR 000010 000002G 000002 ASL ASL SH: N MOV g:g 10(SP),RO ggFF.DESCoz(Rl).2(RO) ; ADDR,#* 000377 :?gfl 3377.BUFF.OHN(R2) ; #,#(COUNT) R2 : COUNT 2784 2782 2776 : 2763 000000G 000010 000000G 000000G 2 3s: INC 4 CMP R2 ,NUM .BUFF RTS PC BLT 26 words, Routine Base: $CODE$ cepth per invocation: 4 words 1$ + 5240 ; COUNT,s 2780 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES NN NN IO T b= s s ot s s s 2792 2793 2794 2795 279% 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 B2 PO PO WF S0 S0 S0 S0 G0 S0 B0 S0 S0 S0 G0 B0 S0 S0 90 90 S v02.0 000000 010146 000002 000004 000006 000012 000016 000020 000026 000030 000034 000036 000040 005000 000411 116001 020137 001003 112760 005200 020037 002764 012601 000207 ; ; GLOBAL ROUTINE PUTA_BUFF : 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0159 Page 64 (24) NOVALUE = ‘e THIS ROUTINE DEALLOCATES ALL I/0 BUFFERS WHICH HAVE BEEN ALLOCATED TO THE CURRENT CONTROLLER (CCTLR). T : BEGIN INCR COUNT FROM O TO (.NUM_BUFF BEGIN - 1) DO %FE.BUFF_OUN {.COUNT] EQLU .CCTLR HEN BUFF _OWN [.COUNT] = -1; 000000G 000000G BUFFER TABLE ENTRY LOOP ! ROUTINE PUTA_BUFF CLR RO CcMP R1,CCTLR BR MOVB 2%: BNE MOVB INC Routine Size: 17 words, Routine Base: Maximum stack depth per invocation: 2 words ! PUTA.BUFF GLOBAL ROUTINES 1$: 34: %:ELHIS BUFFER IS ALLOCATED TO THE CURRENT CONTROLLER .SBTTL PUTA.BUFF:: MOV 000377 ! ! DEALLOCATE IT END; 0000006 FOR EACH ENTRY IN BUFFER TABLE ! END; 000000G ! CMP BLT MOV RTS $CODES$ R1,-(SP) 3s BUFF .OWN(RO),R1 2% #377 ,BUFF .OWNCRO) RO RO ,NUM.BUFF 1$ (SP)+,R1 PC + 5324 : ; COUNT 2792 2801 ; *(COUNT),* 2804 ; ; *,%(COUNT) COUNT 2806 2801 ; ; COUNT,» 2792 CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0160 Page 65 (2s) GLOBAL ROUTINE OUT_IODQ = * 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2 0 PO O PO O O R U O O D D o o s s s s b ot o s s i ot s GLOBAL ROUTINES 14-Jun-1985 09:36:36 THIS ROUTINE RETURNS TO THE CALLER THE NEXT RETPKT INDEX TO BE PROCESSED FROM THE I/0 DONE QUEVE (IODQ). THE “OUT” POINTER TO THE QUEUE IS ALSO UPDATED. INPUTS: QUTPUTS: NONE THE TNDEX OF THE NEXT RETPKT TO BE PROCESSED. BEGIN LOCAL INDEX : WORD; INDEX = .I00Q [.IODQ_OUT]; I0DQ_OUT = .IODQ_OUT + 1; IF .I0DQ_OUT GEQU IODQ_LEN THEN GET NEXT RETPKT INDEX ADVANCE "OUT” POINTER IF BEYOND END OF QUEUVE THEN SET POINTER TO BEGINNING OF QUEUE RETURN INDEX TO CALLER I0DQ_OUT = 0; RETURN .INDEX; END; 000000 013700 000000G 000004 000010 000014 000020 000026 000030 000034 116000 042700 005237 023727 103402 005037 000207 000000G 177400 000000G 000000G 000040 000000G .SBTTL QUT.IO0DQ:: MOV MOVB BIC INC gng L 1%: ; Routine Size: 15 words, Routine Base: ; Maximum stack depth per invocation: 0 words CLR OUT.IODQ GLOBAL ROUTINES 100Q.0UT,RO I0DQCRO),RO #177400,R0 I00Q.0UT {200.0UT.040 I100Q.0UT RTS PC $CODE$ + 5366 : ; ; *,INDEX *,INDEX 2830 : ; 2831 2832 H 2834 2811 : CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES s s et s s s TO N GO T B 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 000000 010146 000002 000006 000010 000012 000016 000020 000022 000026 000032 000034 000042 000046 000054 000056 000062 000064 013701 010100 005200 020037 001421 010100 162700 020037 001413 116661 005237 023727 103402 005037 012601 000207 ; ; : VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0161 Page 66 (2 6) NOVALUE = ‘e ! : THIS ROUTINE INSERTS A RETURN PACKET INDEX INTO THE I/0 DONE QUEUE, UPDATES THE IODQ_IN POINTER. '- AND BEGIN IF (CC.IODQ_IN + THEN NN 2841 2842 GLOBAL ROUTINE IN_IODQ (INDEX) 1 ) NEQU .IODQ_OUT) AND ! IF I70 DONE QUEUE IS N 0T FULL (.IODQ_IN - ( IODQ_LEN - 1) NEQU .IODQ_OUT)) ' BEGIN I0DQ [.IODQ_IN] = .INDEX; IODQ_IN = .IODQ_IN + 1; IF .IODQ_IN GEQU IODQ_LEN THEN IODQ_IN = 0; O 2838 2839 2840 2 PO PO N O W S0 G0 @0 @0 @0 @0 @0 0 @0 @0 @0 @8 @0 S0 we @0 @ @ O s e @ v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 THEN LOAD INDEX INTO QUEUVE ADVANCE “IN" POINTER o IF BEYOND END OF QUEUE THEN CYCLE BACK TO BEGINNING OF QUEUE END; ! IF I0DQ IS NOT FULL END; IN.IODQ 000000G 000000G .SBTTL IN.IODQ GLOBAL ROUTINES MOV MOV MOV INC CMP R1,-(SP) IODQ.IN,R1 R1,RO RO RO,IO0DQ.OUT 1$ R1,RO #37,R0 BEQ MOV 000037 000000G SuB CMP BEQ 000004 000000G 0000006 000000G 000040 MOvB 000000G 1¢: Routine Size: 27 words, Routine Base: Maximum stack depth per invocation: 2 words INC CMP BLO CLR 2838 2847 2848 qg.IODQ.OUT 4(SP),I0ODQ(R1) I0DQ.IN {ODQ.IN.OQO $ I0D0Q.IN (SP)+,R1 MOV RTS P $CODE$ + 5424 ; INDEX, * 2852 2853 2854 2856 2838 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2888 2890 HFOWLEEELLLBWWWWMNMNMNMN N N - s s s s s s s s WS B1 @0 G0 S0 G0 G0 G0 @0 G0 G B0 S5 B0 G0 G0 G0 @8 G G5 S8 G0 ws S Gs S S @ v02.0 GLOBAL ROUTINE DROP_CTLR (CTLR, : SEQ 0162 Page 67 27) NOVALUVE = THIS ROUTINE DROPS ALL UNITS ASSOCIATED WITH THE CONTROLLER DESIGNATED BY "CTLR". THE REASON FOR DROPPING THE DEVICE IS LOADED INTO THE DUR VECTOR FOR EACH ATTACHED UNIT. THIS DATA IS THEN USED BY THE DROP UNIT SECTION. BEGIN LOCAL UNIT; INCR OFFSET FROM (O + OF_UN) TO (3 +« OF_UN) DO BEGIN %F .CST [.CTLR, HEN BEGIN .OFFSET, ! FOR EACH UNIT IN CST P_PRES] EQLU PRESENT UNIT = .CST [.CTLR, .OFFSET, P_UNIT]; DUR [.UNIT] = .REASON; DODU (.UNIT); END; END; 004137 000000G 000004 000010 000014 000020 000022 000026 000030 000032 000034 000042 000044 000050 000052 000056 000064 000066 000070 000072 000076 000100 000102 016646 012746 004737 010003 012702 010300 060200 006300 032760 001412 016001 000301 042701 115661 010100 104451 005202 020227 003753 022626 000207 000014 000007 000000G Routine Size: REASON) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 * 000000 ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 177740 ! GET DS UNIT NUMBER ! SET REASON FOR DROPPING UNIT ! DROP UNIT .SBTTL DROP.CTLR GLOBAL ROUTINES JSR MOV MOV JSR MOV MOV R1,$SAVE3 14(SP),-(SP) #7,-(SP) DROP.CTLR:: 1s: 000000G 000000G 000016 IF UNIT IS CONFIGURED END; 000003 040000 ! 000000G 000006 34 words, ; Maximum stack depth per 2%: MOV ADD : ; CTLR,* PC,BL$MUL RO,R3 #3,R2 : *,0FFSET R2,RO ;: OFFSET,* : : ; ; *,UNIT UNIT *,UNIT REASON,*(UNIT) ; UNIT,* ; : OFFSET OFFSET,* R3,R0O ASL gég RO g:OOOO.CST(RO) MOV SWAB BIC MOVB MOV TRAP INC CMP BLE CMP RTS CST(RO),R1 R1 #177740,R1 16(SP),DURCR1) R1,RO 51 R2 R2,#6 1$ (SP)+,(SP)+ PC Routine Base: $CODE$ invocation: 8 words + 5512 : . : 2861 2878 2875 2878 2882 2883 2884 2875 . 2870 2861 CZRCD2 v02.0 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 = 10 O G O G G GO O O O D O 1O D U O RO 1O D D 5 s o s s s s ot s s ot et oo et CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES GLOBAL ROUTINE DRV_CTLERR (CTLR) : VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0163 Page 69 (28) NOVALUE = ‘e ! ! ! ! ' ' THIS ROUTINE IS CALLED BY DRV_TIMCHK AND FATAL_ERROR WHENEVER AN UNRECOVERABLE CONTROLLER ERROR HAS BEEN DETECTED. ITS PURPOSE IS TO CLEAN UP ALL CONTROLLER-RELATED DATA IN THE "DRIVER” PORTION OF THE PROGRAM. THIS INCLUDES MARKING THE CONTROLLER OFFLINE, CLEARING THE C-RING COUNT, AND DEALLOCATING MSCP ENVELOPES DESCRIBED IN THE RESPONSE RING AND OUTSTANDING COMMAND AREA (OUTC_LIST). ' ' INPUTS: 4 = CTLR - DYING CONTROLLER NUMBER BEGIN LOCAL D_SDDR : ggs BLOCK [DCT_LEN, INDEX : W ' STIDX : WORD, ENDIDX : WORD; WORD] FIELD (DC_FIELDS), D_ADDR = DCT + (.CTLR % DCT_LEN * 2); D_ADDR [WORDO] = 0; PUTA_ENV (.CTLR); STIDX = .CTLR %= OUTC_CNT; ENDIDX = .STIDX + OUTC_CNT - 1; INCR COUNT FROM .STIDX TO .ENDIDX DO BEGIN ! ! ! CONTROLLER'S DCT ADDRESS STARTING OUTC INDEX ENDING OUTC INDEX ! ! ! ! ! ! GET CONTROLLER'S DCT ADDR MARK DCT OFFLINE AND CLEAR CRING_CNT RELEASE ALL ENVELOPES ALLOCATED TO CONTROLLER START OF CTLR'S OUTC_LIST AND _TIMR END OF OUTC FOR EACH OUTC ENTRY OUTC_TTMR [.COUNT] = 0; OUTC_LIST [.COUNT] = -1; ! ! TURN OF COMMAND TIMER INIT SLOT END; ! QUTC SLOT LOOP ! ROUTINE DRV_CTLERR END; 000000 004137 0000006 000004 000010 000012 000016 000022 000026 000030 000032 000036 000040 000042 000044 000046 000050 000052 000056 016601 010146 012746 004737 062700 005010 010116 004737 010100 006300 006300 006300 006300 010002 062702 010001 000010 her 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 000022 000000G 000000G 004766 000017 .SBTTL DRV.CTLERR:: JSR MOV MOV MOV JSR ADD CLR MOV JSR MOV ASL ASL ASL ASL MOV ADD MOV DRV.CTLERR GLOBAL ROUTINES R1,$SAVE2 10(SP),R1 R1,-(SP) #22,-(SP) PC,BL$MUL #DCT,RO (RO) R1,(SP) PC,PUTA.ENV R1,RO RO : RO RO RO RO,R2 #17,R2 RO.R1 H ; CTLR,* 2891 2913 ; D.ADDR 2914 3 H : : ; 2915 2916 STIDX,ENDIDX *,ENDIDX STIDX,COUNT 2917 2918 CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 000060 000062 000064 000066 000070 000074 000102 000104 000106 000110 000112 ; ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 GLOBAL ROUTINES 005301 000407 010100 006300 005060 112761 005201 020102 003766 022626 000207 1¢: 000000G 000377 0000006 2%: DEC BR MOV ASL CLR MOvB INC CMP BLE CMP RTS Routine Size: 38 words, Routine Base: $CODE$ Maximum stack depth per invocation: 6 words R1 24 R1,RO RO OUTC.TIMRCRO) #377,0UTC.LIST(R1) R1 R1,R2 1$ (SP)+,(SP)+ PC + 5616 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0164 Page 70 (28) ; COUNT ; COUNT, = 2921 ; *,%(COUNT) ; COUNT : COUNT,ENDIDX 2922 2918 : 2905 H 2891 CZRCD2 v02.0 : : 3 : 3 3 : H 3 3 : : : H 3 3 5 3 : 3 : : 3 H : H : : 3 ; : : 3 ; H 3 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 29672968 2969 000000 010146 000002 000006 000014 000020 000022 000026 000030 000034 000035 013700 066660 013701 001421 026001 103416 013700 006300 063700 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 GLOBAL ROUTINE HARD_ERR (ERRCNT) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0165 Page 71 (29) : NOVALUE = * 2927 2928 2929 2930 2931 2932 '-Nmuubbmmmwuthbb-DounouumNNNmt-o-b-o-v-o-o-o—t-r-v-o-h-t—o-o-r-v- 3 3 3 : H : CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES THIS ROUTINE IS CALLED BY IO_RETPKT, DM_TALLY, AND OTHERS TO UPDATE THE HARD ERROR STATISTIC FIELD FOR THE CURRENT UNIT. IF THE HARD ERROR COUNT HAS EXCEEDED THE OPERATOR-SPECIFIED LIMIT, THEN THE UNIT IS DROPPED FROM TESTING. INPUTS: ERRCNT - NUMBER OF HARD ERRORS TO ADD TO CURRENT TOTAL IMPLICIT INPUTS: LSLUN - CURRENT UNIT NUMBER CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST CUOFF - CST OFFSET FOR CURRENT UNIT T_ADDR - ADDRESS OF CURRENT UNIT'S STATISTICS BLOCK (TALLY) BEGIN T_ADDR [ER_HRD] = .T_ADDR [ER_HRD] IF .SWP_ERROR NEQU 0 THEN BEGIN + .ERRCNT; IF .T_ADDR [ER_HRD] GEQU .SWP_ERROR THEN BEGIN ! ! ! UPDATE UNIT'S HARD ERROR COUNT IF THE USER SPECIFIED A HARD ERROR LIMIT THEN ! ! IF HARD ERROR LIMIT REACHED THEN IF .CST_ADDR [.CUOFF, P_STAT] EQLU ONLINE THEN BEGIN ! ! DUR [.L$LUN] = DU_HERR; DODU (.LS$LUN); IF UNIT IS STILL ONLINE THEN ! LOAD REASON TO DROP UNIT ! DROP UNIT END; END; END; END; 000000G 000004 000030 000000G 000030 0000006 000000G ! IF HARD ERROR LIMIT REACHED ! IF THE USER SPECIFIED A HARD ERROR LIMIT ! ROUTINE HARD_ERR .SBTTL HARD .ERR: : MOV MOV ADD MOV BEQ CMP BLO MOV ASL ADD HARD.ERR GLOBAL ROUTINES R1,-(SP) T.ADDR,RO 4(SP),30(R0O) SWP.ERROR,R1 1 30(RO),R1 1$ CUOFF,RO RO CST.ADDR,RO : : ; ERRCNT,* : 2948 3 2952 : 2956 2927 2947 CZRCD2 v02.0 000042 000046 000050 000054 000062 000064 000066 032710 001406 013700 112760 104451 012601 000207 020000 000000G 000003 000000G 1$: Routine Size: 28 words, Rout ine Base: Maximum stack depth per invocation: 3 words f ; : CZRCOBO RC25 DISK EXERCISER GLOBAL ROUTINES 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 BIT BEQ MOV MOvB TRAP MOV RTS $CODE$ #20000,(RO) 1$ LSLUN,RO #3,0UR(RO) 51 (SP)+,R1 PC + 5732 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0166 Page 72 (29) 2960 2961 2927 CZRCD2 v02.0 2990 2991 2992 2993 2994 2996 i 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 GLOBAL ROUTINE UPD_IOC C(ADDR, W W 14-Jun-1985 09: 6:36 14-Jun-1985 09: 2:03 COUNT) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 : NOVALUE = > NN WWNDLLLPUWWNWWWELEE D WWWWNIMNMN NN S e s s s s s s ot s ot s b b b b P o s i ot e b b ot 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES THIS ROUTINE IS CALLED (A) DURING THE MULTI-DRIVE SUBTEST FROM MD_TALLY FOR ALL I/0 TRANSFER RETURN PACKETS WITH “SUCCESS” STATUS CODES, AND (B) DURING THE DM EXERCISER SUBTEST FROM DM_TALLY WHEN EXAMINING THE COMMUNICATION AREA (DM_COMM). ITS PURPOSE IS TO UPDATE THE I/0 COUNT (NUMBER OF READS, WRITES, OR SEEKS) FOR THE CURRENT UNIT. AFTER THE LOW-ORDER FIELD OF THE APPROPRIATE COUNT IS UPDATED, THIS ROUTINE CHECKS FOR ONE OF TWO OVERFLOW CONDITIONS: (A) IF THE HIGH-ORDER FIELD OF THE COUNT IS ZERO, THEN THE LOW-ORDER FIELD IS CHECKED FOR EXCEEDING 65,000. IF TRUE, THEN THE HiIGH-ORDER FIELD IS LOADED WITH 65 (FOR 65,000) AND THE LOW-ORDER FIELD IS REDUCED BY 65,000. (B) IF THE HIGH-ORDER FIELD OF THE UPDATED COUNT IS NON-ZERO, THEN THE LOW-ORDER FIELD IS CHECKED FOR EXCEEDING 1000. IF TRUE, THEN THE HIGH-ORDER FIELD IS INCREMENTED BY 1 FOR EACH 1000 SUBTRACTED FROM THE LOW-ORDER FIELD. INPUTS: ADDR - ADDRESS OF THE LOW-ORDER FIELD OF THE I/0 COUNT TO BE UPDATED (IN THE CURRENT UNIT'S STATISTICS TABLE (TALLY)) COUNT - AMOUNT TO BE ADDED TO THE I/O COUNT BEGIN .ADDR = ..ADDR + .COUNT; IF .C.ADDR + 2) EQLV O THEN BEGIN ! ! ! UPDATE THE COUNT (LOW-ORDER FIELD) IF HIGH-ORDER FIELD IS ZERO THEN IF ..ADDR GEQU 65000 THEN BEGIN ! ! IF LOW-ORDER FIELD EXCEEDS 65,000 THEN .ADDR = ..ADDR - 65000; (.ADDR + 2) = 65; ! BECOMES LOW-ORDER 1000 ! HIGH-ORDER (TIMES 1000) END; ELSE END ! BEGIN HHILgEéi:DDR GEQU 1000 DO .ADDR = ..ADDR - 1000; (.ADDR + 2) = .(.ADDR + 2) ELSE - HIGH-ORDER FIELD IS X1000 WHILE LOW-ORDER FIELD EXCEEDS 1000 + 1; ! ! SUBTRACT 1000 FROM LOW-ORDER FIELD INCREMENT HIGH-ORDER FIELD ! ROUTINE UPD_IOC END; END; END; SEQ 0167 Page 73 (30) CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 000000 Ci0146 000002 000006 000012 000016 000020 000022 000024 016600 066610 012701 060001 005711 001010 021027 103414 062710 012711 000407 021027 103404 162710 005211 000771 012601 000207 000030 000032 000036 000042 00C.44 000050 000052 000056 000060 000062 000064 ; ; 000006 000004 000002 176750 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL UPD.IOC:: MOV MOV ADD MOV ADD TST BNE CMP 001030 000101 001750 1$: CMP 001750 24: MOV RTS 27 words, Routine Base: Routine Size: $CODE$ Maximum stack depth per invocation: 2 words VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0168 Page 74 (30) UPD.IOC GLOBAL ROUTINES 6(SP),RO 4(SP),(RO) #2,.R1 RO,R1 ADDR,» COUNT, » 2970 2997 2998 (R1) 14 (R0O), 9176750 24 #1030, (RO) #101,(R1) 2% (RO), #1750 28 #1750, (RO) (R1) 1 (SP)+,R1 PC + 6022 3007 3 3 CZRCD2 v02.0 3015 3018 3019 3015 2970 000000 010146 000002 000006 000012 000014 000020 000022 000026 000030 000032 000036 000040 000044 000050 000052 016600 012701 060001 021027 103404 162710 005211 000771 021127 103404 162711 005260 012601 000207 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 GLOBAL ROUTINE OVF _CHK (ADDR) : NOVALUE = THIS ROUTINE IS CALLED (A) DURING THE MULTI-DRIVE SUBTEST FROM MD_TALLY FOR ALL I/0 TRANSFER RETURN PACKETS WITH “SUCCESS” STATUS CODES, AND (B) DURING THE DM EXERCISER SUBTEST FROM DM_TALLY WHEN EXAMINING THE COMMUNICATION AREA (DM_COMM). ITS PURPOSE IS TO CHECK FOR OVERFLOW IN CERTAIN STATISTICAL FIELDS OF THE CURRENT UNIT. SPECIFICALLY, THE LOW-ORDER FIELD OF THE NUMBER OF BYTES READ OR WRITTEN IS CHECKED FOR EXCEEDING 1000. IF TRUE THEN THE HIGH-ORDER COUNT IS INCREMENTED. IF THAT EXCEEDS 1000, THEN THE MEGABYTE COUNT IS INCREMENTED. INPUTS: ADDR - ADDRESS OF THE BR_LO OR BW_LO FIELD FOR THE CURRENT UNIT (SEE STATISTIC TABLE (TALLY) LAYOUT) BEGIN WHILE ..ADDR GEQU 1000 DO IF LO-ORDER OVERFLOW BEGIN .ADDR = ..ADDR - 1000; (.ADDR + 2) = SUBTRACT 1000 ! INCR HI-ORDER .(.ADDR + 2) + 1; END; IF .C.ADDR + 2) GEQU 1000 THEN ! ! BEGIN (.ADDR + 2) = .(.ADDR + 2) - 1000; C.ADDR + 4) = _(.ADDR + 4) + 1; END; IF HI-ORDER OVERFLOW THEN ! SUBTRACT 1000 ! INCREMENT MBYTES END; 000004 000002 001750 001750 001750 001750 000004 ! ROUTINE OVF _CHK .SBTTL OVF.CHK:: MOV MOV MOV ADD 18: CMP BLO SuB INC BR 2%: CMP BLO SuB INC 3s: MOV RTS i Routine Size: 22 words, Routine Base: $CODES$ 3 Meximum steck depth per invocation: 2 words R 14 -Jun-1985 09:36:36 14 -Jun-1985 09:32:03 * 2 TO G G G Gl G TV O O D G G G G GO T D = e et i et et ot e et e s i i e et et : CZRCDBO RC25 DISK EXERCISER GLLOBAL ROUTINES OVF.CHK GLOBAL ROUTINES R1,-(SP) 4(SP),RO #2,.R1 RO,R1 (RO),#1750 28 91750, (RO) (R1) 18 (R1),01750 3s €1750,(R1) 4(RO) (SP)+,R1 PC - 6110 1 H ADDRD. sso’oxco . age (31) CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES GLOBAL ROUTINE XFR_CHK SEQ 0170 Page 77 (32) NOVALUE = THIS ROUTINE IS CALLED (A) DURING THE MULTI-DRIVE SUBTEST FROM MD_TALLY FOR ALL I/0 TRANSFER RETURN PACKETS WITH "SUCCESS” STATUS CODES, AND (B) DURING THE DM EXERCISER SUBTEST FROM DM_TALLY WHEN EXAMINING THE COMMUNICATION AREA (DM_COMM). ITS PURPOSE IS TO CALCULATE THE TOTAL NUMBER OF BYTES TRANSFERRED THUS FAR ON THE CURRENT UNIT, AND TO CHECK THIS SUM AGAINST THE OPERATOR-SPECIFIED LIMIT. IF THE LIMIT HAS BEEN REACHED, THEN THE UNIT IS REMOVED FROM THE CURRENT PASS. 5 IMPLICIT INPUTS: T_ADDR - ADDRESS OF THE CURRENT UNIT'S STATISTICS BLOCK (TALLY) LSLUN - CURRENT UNIT NUMBER CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST DMC_ADDR - ADDRESS OF CURRENT CONTROLLER'S DM_COMM AREA CUOFF - CST OFFSET FOR CURRENT UNIT BEGIN LOCAL SUM : IF WORD; .SWP_XFER NEQU 0 THEN SUM = ! TOTAL NUMBER OF BYTES TRANSFERRED TO/FROM A UNIT ! IF A TRANSFER LIMIT WAS SPECIFIED ! _T_ADDR [MB_READ] + IF .SUM GEQU .SWP_XFER THEN BEGIN THEN .T_ADDR [MB_WRIT]; ! TOTAL BYTES TRANSFERRED ! ! IF TRANSFER LIMIT IS REACHED THEN CPT [.LSLUN] = NO; CST_ADDR [U_CNT] = .CST_ADDR [U_CNI] - 1; DMC_ADDR [.CUOFF - OF _UN, ALLBIT] = -1i; MARK UNIT INACTIVE THEN THEN DECREMENT ACTIVE UNIT COUNT IF DM EXER, STOP FPT ON UNIT IF ATTENDED IF MANUAL BEGIN PRINTF (CRLF); PRINTF (ETIME, .HOURS, .MINUTES, PRINTF (MSG_07, .LSLUN); .SECONDS); ! ! ELAPSED TIME "UNIT XX. - TRANSFER LIMIT REACHED"” END; END; END; END; 0000CO 004137 000000G 0000C4 013702 000000G - : VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 * EFUNVNWWSELNVIVINVINEGUNEDE DD B WWWWWMNN NN NN N 1o s s et o fb ot pt (s pt s ot fob ot o o pt it s vo2.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL XFR.CHK: : JSR MOV ! IF A TRANSFER LIMIT WAS SPECIFIED ! ROUTINE XFR_CHK XFR.CHK GLOBAL ROUTINES R1,$SAVE2 SWP.XFER,R2 H 3 3063 3087 CZRCD2 v02.0 | 000010 000012 000016 000020 000024 000030 000032 000034 000040 000044 000050 000054 000060 000062 000066 000074 000076 000100 000104 000110 000112 000114 000120 ooo12s 000130 000134 000140 000142 000144 000150 000154 000160 000162 000164 000170 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 GLOBAL ROUTINES 001467 013701 010100 016101 066001 020102 103456 013700 105060 013700 105360 013700 006300 063700 012760 104450 103034 012746 012746 010600 104417 013716 013746 013746 012746 012746 010600 104417 013716 012746 012746 010600 104417 062706 000207 1$ T.ADDR,R1 R1,RO 20(R1),R1 26(RO) ,R1 R1,R2 1s LSLUN,RO CPT(RO) CST.ADDR,RO S(RO) CUOFF ,RO RO DMC.ADDR,RO 000000G 000020 000026 000000G 000000G 000000G 000005 000000G 000000G 177777 177772 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 T.ADDR, 37 SECONDS, (SP) 0000006 0000006 0000006 000000G 000004 78 (32) 3091 *,SUM *,SUM # SUM, 3092 3096 3097 3098 3099 ACRLF, -(SP) #1,-(SP) SP,RO 9e P #-1,-6(RO) 50 13 0000006 000001 SEQ 0171 3103 SP,» 3104 MINUTES, -(SP) HOURS, -(SP) ®ETIME, -(SP) 000000G 000000G 000002 000020 1$: MOV TRAP MOV MOV MOV MOV TRAP ADD RTS Routine Size: 61 words, Routine Base: $CODE$ Maximum stack depth per invocation: 13 words SP,RO 17 SP,* SP.RO 17 SP,* 3105 L$LUN, (SP) #MSG.07,-(SP? #20,SP PC + 6164 3101 3063 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES R 3161 3162 3163 3164 3165 3166 3167 3168 3169 2170 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 * GLOBAL ROUTINE SEND (INDEX) = T I 10 10 1D T TR TS TS TS IS IS S S Y Y e e e e 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 VITTNTUITNTUT 8 5 5 5 00 08 08 O G4 O3 04 OF O8O0 04 G4 G0 Q0 OETO GF GO TO PO O T D 10 10 1 1t 1t o ot ot o s o b ot s b o o o ot s s s o 5 S0 S0 O S5 S0 S0 T T G0 S8 B0 95 O B G0 S0 W0 W GI G T S0 6 G0 T T G G0 S0 G0 Gs GF OO G0 GI GO G0 G0 G0 G0 G G0 Gs G GO GF G4 €6 G G0 G0 O0 G0 O» G0 G v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 IF THE CURRENT RC25 IS ONLINE AND ITS CRING IS NOT FULL, THEN THIS ROUTINE “SENDS” A COMMAND TO THE RC2S BY LOADING THE ENVELOPE DESCRIPTOR OF AN MSCP ENVELOPE INTO THE COMMAND RING AND READING THE DEVICE'S IP REGISTER. A RECORD OF THE SENT COMMAND IS MADE IN THE CONTROLLER'S OWN OUTSTANDING COMMAND LIST (OUTC_LIST), AND A COMMAND TIMER IS STARTED IN THE OUTSTANDING COMMAND TIMER (OUTC_TIMR). IF THE CURRENT RC25 IN NOT ONLINE, THE CALLER, INPUTS: THEN A FAILURE INDICATION IS RETURNED T0 AND NO ACTION IS TAKEN. INDEX - INDEX OF MSCP ENVELOPE CONTAINING THE COMMAND TO BE SENT IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER DCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT OCL_X1, OCL_X2 - STARTING/ENDING INDECES OF CURRENT CONTROLLER'S OUTSTANDING COMMAND AREA BEGIN LOCAL SLOT_ADDR, TEMP : WORD; IF (C.DCT_ADDR [STAT] EQLU ONLINE) AND (.DCT_ADDR [CRING_CNT] LSSU CRING_LEN)) THEN IF DEVICE IS ONLINE AND ITS CRING IS NOT FULL BEGIN MSCP_ENV [.INDEX, CRN_LO] = (CRN = .CRN + 1); SLOT_ADDR = .DCT_ADDR [CR_NEXT]; .SLOT_ADDR = .MSCP_ENV [.INDEX, ENV_LO]; SLOT_ADDR = .SLOT_ADDR + 2; .SLOT_ADDR = .MSCP_ENV [.INDEX, ENV_HI); SLOT_ADDR = .SLOT_ADDR + 2; %FE.SLOT_ADDR GTRA .DCT_ADDR [CR_END] HEN SLOT_ADDR = IF LOAD ENV DESC (HI) INTO COMMAND SLOT .DCT_ADDR [CR_BEG]; DCT_ADDR [CR_NEXT] = ,SLOT_ADDR; DCT_ADDR [CRING_CNT] = .DCT_ADDR [CRING_CNT] INCR COUNT FROM BEGIN ASSIGN CMD REF NUM ADDR OF NEXT COMMAND SLOT LOAD ENV DESC (LO) INTO COMMAND SLOT ADVANCE TO NEXT WORD .OCL_X1 TO .OCL_x2 DO + 1; ADVANCE TO NEXT COMMAND SLOT IF BEYOND END OF CRING THEN CYCLE BACK TO BEGINNING RESTORE CR_NEXT POINTER IN DCT INCR # OF COMMANDS IN CRING FOR EACH QUTC ENTRY .OUTC_LIST [.COUNT] LSS 0 IF A SPARE SLOT IS FOUND OUTC_LIST [.COUNT] IF .IIP_FLAG LOAD MSCP_ENV INDEX THEN = ,INDEX; OUTC_TIMR [.COUNT] = TO_INIT %FEINIT SUBTEST IN PROGRESS HEN SET INIT SUBTEST COMMAND TIMER SEQ 0172 Page 79 CZRCDBC RC25 DISK EXERCISER GLOBAL ROUTINES 3194 3195 ELSE IF BIT_TST (SWP_FLAGS, SWF_DM) THEN OUTC_TIMR [.COUNT] = TO_DUP ELSE OUTC_TIMR [.COUNT] = TO_IO; EXITLOOP; END; END; TEMP = _RC25_ADDR [RCIP, RC_ALL];: RETURN SUCCESS; ELSE END RETURN FAILURE; END; 004137 000000G 000006 000012 013701 005711 0000006 000014 000016 000022 000024 000030 000034 000040 000044 000046 000052 000056 000062 000066 000072 000076 000100 000104 000110 000112 000116 000120 000122 000126 000130 000136 005746 100110 121127 103105 016646 012746 004737 013702 005202 010237 010260 016102 016022 015022 020261 101402 016102 010261 105211 013701 005301 000433 105761 002030 116661 010100 IF DM EXERCISER IS BEING RUN THEN SET DUP COMMAND TIMER OTHERWISE SET I/0 TRANSFER COMMAND TIMER END; 000000 000004 SEQ 0173 Page 80 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (33) VAX-11 Bliss-16 V4.0-579 OTHERWISE BEGIN vt 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 HFRNRNVWWENWWWWS_UNILILTLVIONOTNVYO VWY WO G5 G G0 S0 W0 90 S0 G0 B0 W0 G0 S0 G0 G0 B8 G0 G5 G0 S6 S¢ @F S8 S0 @ v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 -t CZRCD2 SEND:: 000010 000012 000104 000000G 0000006 000000G 000010G 000020 000000G 000002G 000012 000010 000020 1s: 000000G ' 000000G 000016 000000G 24: .SBTTL JSR TST MOV TST BPL CMPB BHIS MOV MOV JSR MOV INC MOV MOV MOV MOV MOV CMP BLOS MOV MOV INCB MOV DEC BR TST8 BGE MOVB MOV ! IF A SPARE SLOT IS FOUND ! OUTC_LIST SEARCH LOOP ! READ IP TO FORCE PORT TO POLL ! IF DEVICE IS NOT ONLINE ! ROUTINE SEND SEND GLOBAL ROUTINES R1,$SAVE2 3114 -(SP) DCT.ADDR,R1 (R1) 3143 7% (R1),#10 3144 74 12(SP),-(SP) INDEX, * 3148 *,SLOT.ADDR 3149 3150 3152 3154 PC,BL$MUL CRN,R2 R2 R2,CRN R2,MSCP.ENV+10(RO) 20(R1),R2 MSCP.ENV(RO),(R2)+ MSCP.ENV+2(RO),(R2)+ R2,12(R1) 1s 10(R1),R2 R2,20(R1) (R1) OCL.X1,R1 R1 5 OUTC.LIST(R1) 5 16(SP),0UTC.LIST(R1) R1,RO *,SLOT.ADDR *,SLOT.ADDR SLOT.ADDR, * *,SLOT.ADDR %, COUNT 3156 3157 3158 3160 *(COUNT) 3163 INDEX, #(COUNT) COUNT, * 3167 3170 # SLOT.ADDR, COUNT CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES v02.0 000140 000142 000146 000154 000156 000162 000164 000172 000174 000200 000202 000206 000210 000212 000216 000220 000226 000230 000234 000236 000240 000242 006300 052700 132737 001403 012710 000416 132737 001403 012710 000407 012710 000404 005201 020137 003741 017766 022626 012700 000401 005000 005726 000207 ; Routine Size: ; 0000006 000001 000000G 000170 000002 3s: 0000006 000036 000454 4%: S5$: 000000G 000000G 000004 6$: 000001 7%: 8$: 82 words, Maximum stack depth per 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ASL ADD BITB BEQ MOV BR BITB BEQ MOV BR MOV BR INC CMP BLE MOV CMP MOV BR CLR TST RTS Rout ine Base: $CODE$ 7 words invocation: RO #0UTC.TIMR,RO #1,IIP.FLAG 3s #170,(RO) 6% :Z.SHP.FLAGS $ #36, (RO) 6% #454,(RO) 6% R1 R1,0CL.x2 2% 9RC25.ADDR,4(SP) (SP)+,(SP)+ #1,R0 SEQ 0174 Page 81 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (33) VAX-11 Bliss-16 V4.0-579 : 3168 H ; H 3170 3168 3174 H H H H 3176 3174 3178 3165 ; COUNT ; COUNT, = i *,RC.REG H ; : + 6356 3160 3188 3146 3193 3114 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 : NOVALUE = * GLOBAL ROUTINE WAIT I 1@ '8 ' T B Y e Y Y Yt e 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 CRVUVINUVIVIBBEBUUWUWUENNNNNWWE DD D5 G GGGIN NN NN NN R N NN o s s s s (s b b ot b s s b b s ot €5 S0 S0 G0 S0 T S0 G0 G0 W T G0 O8 T0 T T 0 G0 G T T TI T G L OGP G GE G0 G G 6 G G0 GO G GO GO G GU GI G G0 G0 G0 GO G G5 Gs G G0 G0 G G G oo G v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 THIS ROUTINE IS CALLED DURING THE INITIALIZATION SUBTEST AFTER EACH MSCP MESSAGE IS SENT TO A DEVICE. ITS PURPOSE IS TO LOCATE THE LONE OUTSTANDING COMMAND AND TO MAINTAIN ITS TIMER UNITL EITHER “A) THE DEVICE RESPONDS TO THE COMMAND THROUGH AN RC25 INTERRUPT, RESULTING IN A RETURN PACKET BEING DEPOSITED INTO THE I/0 DONE QUEVE (IODQ), OR (B) THE COMMAND MESSAGE TIMER EXPIRES. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER OCL_X1, OCL_X2 - STARTING/ENDING INDECES OF CURRENT CONTROLLER'S OUTSTANDING COMMAND AREA BEGIN LOCAL CX : MX : SIGNED WORD, WORD, M_ADDR, R_ADDR : REF BLOCK [RP_LEN, CX = -1; INCR COUNT FROM BEGIN IF ! OUTSTANDING COMMAND'S OUTC_LIST INDEX ! INDEX OF MSCP COMMAND ENVELOPE ! RETURN PACKET INDEX ! MSCP ENV ADDRESS WORD] FIELD (RP_FIELDS); ! RETURN PACKET ADDRESS ! ! $ ASSUME COMMAND NOT FOUND SEARCH OUTC_LIST FOR THE OUTSTANDING COMMAND ! ! IF THIS IS IT THEN ! ! SAVE OUTC INDEX OF COMMAND DONE HERE ! ! ! CLEAR ONE SECOND TIMING FLAG REPEAT UNITL RC25 INTERRUPT OR TIMEOUT .T_FLAG ! ! IF ONE SECOND HAS ELAPSED THEN IF ! ! IF OUTSTANDING COMMAND WAS FOUND THEN .OCL_X1 TO .OCL_X2 DO .OUTC_LIST [.COUNT] GEQ 0 THEN BEGIN CX = .COUNT; EXITLOOP; END; END; T_FLAG = FALSE; DO BEGIN IF .CX GEQ 0 THEN BEGIN SETPRI (PRIOS); IF .QUTC_TIMR [.CX] GTRU 0 THEN BEGIN ! LOCK OUT RC25 INTERRUPTS ! ! IF TIMER STILL ACTIVE THEN SEQ 0175 CZRCDBO RC2S DISK EXERCISER GLOBAL ROUTINES 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 000000 000004 000010 000014 000016 000020 000024 000026 000030 000032 000034 000040 000042 000046 000054 000056 000060 000062 000066 000070 000072 FRNNNWOWENSESEREAVNVINVNIOOINNNSNSNNNNNSNSNNY YOO ©E B8 S0 90 W6 G S5 G0 G0 G0 G0 B0 G0 G0 S0 S G G0 G0 B0 G5 ©F W0 S0 G5 SF @0 S W S S8 s @ CZRCD2 v02.0 004137 012701 013700 060100 000405 105760 002402 010001 000404 005200 020037 003767 105037 132737 001510 005701 002504 012700 104441 010100 006300 14-Jun-1985 09:36:36 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 OUTC_TIMR [.CX] = .OUTC_TIMR [.CX] IF .QUTC_TIMR [.C¥] EQLV O THEN - 1; THEN RX = GET_RETPKT (.CCTLR); MX = ,OUTC_LIST [.CX]); R_ADDR = RETPKT + (.RX # RP_LEN * 2); M_ADDR = MSCP_ENV + (.MX * ENV_LEN * 2); COPY_BLK (.M_ADDR + 4, .R_ADDR, RP_LEN); R_ADDR [CONID] = CID_DRIVER; R_ADDR [MESTYP] = MT_TIMEOUT; R_ADDR [CTLR] = .CCTLR; IN_IODQ (.RX); PUT_ENV (.MX); OQUTC_LIST [.CX] = -1; END; ! END; IF MESSAGE TIMER EXPIRED ! IF TIMER STILL ACTIVE ! RESTORE INIT SUBTEST PRIORITY END; ! IF OUTSTANDING COMMAND WAS FOUND T_FLAG = FALSE; ! CLEAR ONE SECOND TIMING FLAG END; ! IF ONE SECOND HAS ELAPSED ! ! UNTIL A PACKET IS “SENT” FROM HERE OR RC25 INTERRUPT PROCESSING ! ROUTINE WAIT .IODQ_OUT; END; 000000G 177777 0000006 WAIT:: 0000006 1%: 000000G 000000G 000001 000000G 000240 ! GET A RETURN PACKET ! GET COMMAND ENV INDEX ! CALCULATE RETPKT ADDRESS ! CALCULATE ENV ADDR ! COPY COMMAND TO RETPKT ! SET PACKET SOURCE AS "DRIVER" ! COMMAND TIMEOUT ! CONTROLLER NUMBER ! "SEND” THE PACKET ! RETURN COMMAND ENV TO POOL ! INIT OUTC_LIST ENTRY SETPRI (PRIO0); END UNTIL .IODQ_IN NEQU (34) ! DECREMENT TIMER ! IF MESSAGE HAS TIMED OUT ! BEGIN SEQ 0176 Page 83 2%: 3$: 4%: .SBTTL JSR MOV MOV ADD BR ;E}B WAIT GLOBAL ROUTINES R1,$SAVES #-1,R1 OCL.X1,RO R1,RO 2% ggTC.LIST(RO) MOV BR RO,R1 3 INC gr: L CLRB BITB BEQ TST BLT MOV TRAP MOV ASL RO R?.OCL.XZ *,CX *,COUNT *,COUNT ; *(COUNT) 3225 : : COUNT,CX 3229 3227 i i 1 T.FLAG #1,T.FLAG 7% R1 6% #240,R0 41 R1,RO RO : ; i : COUNT COUNT, s i : . i 3222 3236 3240 CX : i 3196 3221 3222 3244 3248 CX,% 3249 CZRCD2 v02.0 000074 000100 000102 000104 000106 000110 000114 000120 000122 000126 000130 000134 000140 000144 000146 000150 000154 000160 000164 000166 000170 000174 000176 000202 000206 000212 000214 000222 000226 000232 000236 000240 000242 000246 000250 000254 000262 000266 000270 000272 000276 000304 000306 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 062700 005710 001471 005310 001067 013746 004737 010004 116103 010416 012746 004737 062700 010002 010316 012746 004737 062700 010005 010516 062716 010246 012746 0C4737 012700 060200 112760 013746 042716 112710 152610 010416 004737 010316 004737 112761 062706 005000 104441 105037 023737 001660 000207 0000006 ADD TST BEQ DEC BNE MOV JSR 000000G 005026 MOV MOvB MOV MOV 000000G 000060 0000006 000000G JSR ADD MOV MOV MOV JSR ADD 000104 0000006 000000G MOV MoV 000004 000030 004310’ 000002 000003 000001 0000006 177760 000100 005424’ 004752 000377 000012 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 000000G 0000006 000000G 000000G - 6$: 7%: ADD MOV MOV JSR MOV ADD MOvVB MOV BIC MOvVB BISB MOV JSR MOV JSR MOvVB ADD CLR TRAP CLRB CMP BEQ RTS 100 words, Routine Base: ; Routine Size: $CODE$ ; Maximum stack depth per invocation: 12 words - SEQ 0177 Page 84 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (34) VAX-11 Bliss-16 V4.0-579 #0UTC.TIMR,RO (RO) 3253 3254 CCTLR, -(SP) PC,GET.RETPKT RO,R4 OUTC.LIST(R1),R3 R4,(SP) #60, -(SP) PC,BL$MUL #RETPKT,RO RO,R2 R3,(SP) PC,BL$MUL #MSCP.ENV,RO RO,RS RS,(SP) #4,(SP) R2,-(SP) #30,-(SP) PC,COPY.BLK #2,R0O R2,R0O #3,1(RO) 3258 i ‘oRx MX : *(CX) + RX, % ; *,R.ADDR i MX, % ; *,M_ADDR ; M.ADDR,* ; R.ADDR,* ;: R.ADDR,* CCTLR, -(SP) #177760, (SP) #100,(RO) #12,5P RO 41 T.FLAG I0DQ.IN,IODQ.OUT 44 PC + 6622 3261 3262 3263 3265 (SP)+,(RO) R4,(SP) PC,IN.IODQ R3,(SP) PC,PUT.ENV #377,0UTC.LIST(R1) 3259 3260 ; % RX, 3266 s % MX, 3267 B ‘n‘(CX) 3268 3256 3274 3278 3283 3196 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 000000 000004 000010 000014 000020 000024 000026 000030 000034 el el I YTM o S @ S0 s @ - S o o v02.0 013746 013746 013746 012746 012746 010600 104414 062706 000207 #SBTTL 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 i e e s W 80 WS W S e 000000 000004 000010 000014 000016 000020 000024 013746 012746 012746 010600 104415 062706 000207 ROUTINE EMS_ET : NOVALUE = e ! ! | N THIS ROUTINE PRINTS THE ELAPSED TIME THAT PRECEDES ALL BASIC ERROR MESSAGES. PRINTB (ETIME, .HOURS, .MINUTES, .SECONDS); .SBTTL 000000G EMS.ET: MOV 000000G 000000G 000000G 000004 MOV MOV MOV MOV MOV TRAP ADD RTS 000012 ROUTINE EMS_SA e s e e s 8 88 8% We - her MINUTES, -(SP) HOURS, -(SP) #ETIME, -(SP) #4,-(SP) SP,RO 14 #12,SP PC F ; 3295 SP,x : 3288 + 7132 NOVALUE = - - THIS ROUTINE PRINTS (EXTENDED) THE GLOBAL DATUM THE CONTENTS OF THE SA REGISTER. PRINTX (EX_SA, .SA_REG); 000000G 000000G 000002 J EMS.SA: 000006 11 words, Maximum stack depth per 3304 3305 3306 3307 3308 3309 3310 : EMS.ET ERROR MESSAGE SUBROUTINES SECONDS, -(SP) e ! ! ; Routine Size: ; SEQ 0178 Page 85 (35) 'ERROR MESSAGE SUBROUTINES' ; Routine Size: 15 words, Routine Base: $CODE$ ; Maximum stack depth per invocation: 7 words 3296 3297 3298 3299 3300 3301 3302 3303 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 Routine Base: invocation: ROUTINE EMS_CRN : 5 words .SBTTL MOV MOV MOV MOV TRAP ADD RTS $CODE$ * “SA_REG” WHICH CONTAINS SA: XXXXXX(C0)* EMS.SA ERROR MESSAGE SUBROUTINES SA.REG,-(SP) 3 #EX.SA,-(SP) #2,-(SP) SP,RO ; SP,% i3 #6,SP PC 3 + 7170 NOVALUE = e ! ! THIS ROUTINE PRINTS (EXTENDED) THE COMMAND REFERENCE NUMBER OF THE CURRENT RETURN PACKET. ONLY THE LOW-ORDER WORD IS SIGNIFICANT. 3303 3296 CZRCD2 v02.0 3 3311 000000 000004 000010 000014 000020 000022 000024 000030 1 013700 016046 012746 012746 010600 104415 062706 000207 ; Routine Size: 000000 000004 000006 000010 000014 000020 000022 000024 000030 PRINTX (EX_CRN, : .SBTTL EMS.CRN: MOV MOV MOV MOV MOV TRAP ADD 000000G 000004 000000G 000002 000006 13 words, Routine Base: invocation: ROUTINE EMS_STC : 5 words - CMD REF NUM: PC S$CODES$ + 7216 3 3311 NOVALUE = THIS ROUTINE PRINTS (EXTENDED) THE GLOBAL DATUM “ST_CODE” (STATUS CODE) IF IT IS NON-ZERO. 013700 001411 010046 012746 012746 010600 104415 062706 000207 IF .ST_CODE NEQU O THEN PRINTX (EX_SC, .ST_CODE); § .SBTTL EMS.STC:MOV BEQ MOV MOV MOV 0000006 000000G 000002 MOV TRAP 000006 18: ADD RTS » STATUS CODE: XxXx(0)” EMS.STC ERROR MESSAGE SUBROUTINES ST.CODE,RO : 1s RO, -(SP) : #EX.SC,-(SP) #2,-(SP) SP.RO 15 : #6,5P PC 3319 3321 SP,s : ROUTINE EMS_SBC : NOVALUE = THIS ROUTINE PRINTS (EXTENDED) THE GLOBAL DATUM “SB_CODE“ (SUB-CODE) IF EITHER THE STATUS CODE (ST_CODE) OR THE SUB-CODE IS NON-ZERO. (A NON-ZERO SUB-CODE ALWAYS HAS SIGNIFICANCE, WHEREAS A ZERO SUB-CODE ONLY HAS MEANING WITH A NON-ZERO STATUS CODE). o h b s s s s s b s s s 13 words, Routine Base: $CODE$ + 7250 ; Maximum stack depth per invocation: S words f 86 (35) 3304 Routine Size: 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 Page XXXXXX(0)* EMS.CRN ERROR MESSAGE SUBROUTINES RP.ADDR,RO 5 4(RO),-(SP) #EX.CRN, -(SP) #2,-(SP) SP,RO : SP,» 15 #6,SP RTS SEQ 0179 e s b s s s .RP_ADDR [CRF_LO)); VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 s s s 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 Maximum stack depth per o ; CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES %FE(.ST_CODE OR HEN .SB_CODE) NEQU O PRINTX (EX_SB, .SB_CODE); i SUB-CODE: XXXX(0)* 3312 CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 000000 000004 000010 000012 000016 000022 000026 000030 000032 000036 ERROR MESSAGE SUBROUTINES 013700 053700 001412 013746 012746 012746 010600 104415 062706 000207 .SBTTL EMS.SBC:MOV BIS BEQ 0000006 0000006 000000G MOV 000000G 000002 000006 18: ; Routin e Size: NN N PONWNWWNINNN NN GRRN NN ROUTINE EMS_CMD : MOV MOV MOV TRAP ADD RTS S$CODES$ SEQ 0180 P age 87 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (35) VAX-11 Bliss-16 V4.0-579 EMS.SBC ERROR MESSAGE SUBROUTINES ST.CODE,RO ; S8.CODE, RO 13 3331 S8 .CODE, -(SP) 3333 #EX.SB,-(SP) #2,-(SP) SP,RO 15 96,57 PC ; : SP,s ; +« 7302 NOVALUE = * S B8 @8 G5 S8 GE G6 G SE G BE GE GE GE G G BE Be GE 6 G B GE GF BE S G GE GE G5 BF WE B0 W G0 G0 ©5 ©6 W — 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 s s s s s b s s s s 16 words, Routine Base: Maximum stack depth per invocation: S words S8 ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 THIS ROUTINE PRINTS (EXTENDED) THE OPCODE AND COMMAND MODIFIER (IF PRESENT) OF THE CURRENT RETURN PACKET. THESE FIELDS ARE “TRANSLATED" INTO ENGLISH TEXT RATHER THAN PRINTED AS RAW NUMBERS. IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET BEGIN LOCAL COMMAND : WORD; ! COMMAND OPCODE PRINTX (CEX_CMD); COMMAND = .RP_ADDR [ENDCOD] AND OP _MSK; SELECTONEU .COMMAND OF SET [OP_ESP] [oP_scCC] : PRINTX (EX_ESP); [OP_RD] [OP_WRT) [OTHERWISE] "EXECUTE SUPPLIED PROGRAM* IF INIT SUBTEST IN PROGRESS : IF _IIP_FLAG THEN ELSE [OP_ONL) g . COMMAND: *“ ! GET CPCODE ALONE THEN (THESE 2 OPCODES ARE THE SAME) PRINTX (EX_SCC) “SET CTLR CHAR" OTHERWISE “SEND DATA“ “ONLINE " PRINTX (EX_SND); : PRINTX (EX_ONL); : PRINTX (EX_RD); : PRINTX (EX_WRT); ! “WRITE" : PRINTX (EX_03, .RP_ADDR [ENDCOD)); ! “XXX(0)* TES; IF (CC.COMMAND EQLU OP _RD) OR (.COMMAND EQLU OP_WRT)) AND . (BIT_TST (RP_ADDR [CMDMOD], MD_CMP))) ! IF COMPARE MODIFIER IS PRESENT HEN ! THEN PRINTX (EX_CMP) ! “-COMPARE<CR><LF>" ELSE ! OTHERWISE PRINTX (CRLF); ' <CR><LF> 3322 CZRCD2 v02.0 : 3 3374 3375 2 1 004137 012746 012746 010600 104415 013701 116102 042702 020227 001007 012716 012746 010600 104415 000462 020227 001022 1322737 0C1407 012716 012746 010600 104415 000444 012716 012746 010600 104415 000435 020227 001007 012716 012746 010600 104415 000423 020227 001007 012716 012746 010600 104415 000411 020227 001010 012716 012746 010600 104415 005726 000412 005016 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 END; ! ROUTINE EMS_CMD .SBTTL EMS.CMD: JSR MOV MOV MOV 0000006 0000006 000001 0000006 000014 177600 000002 0000006 000001 1%: 000004 000001 000000G 0000006 000001 TRAP MOV MOV 8IC cMP BNE MOV MOV MOV TRAP BR CMP BNE BITB BEQ MOV EMS.CMD ERROR MESSAGE SUBROUTINES R1,$SAVE2 H #EX.CMD, -(SP) H #1,-(SP) SP.RO H SP,s 15 RP.ADDR,R1 H 14(R1),R2 H «, COMMAND #177600,R2 H &, COMMAND R2,82 + H COMMAND, 1$ SEX.ESP,(SP) SP,.RO 3 SP,s R2,904 15 6% 000011 2%: 3s: 000000G 000001 000041 000042 88 (35) 3334 3350 3351 3355 3356 H 3358 SP,.RO 3 SP,s 64 #EX.SND, (SP) i H SP,RO H 3356 3360 SP,s COMMAND , + 4% SP,RO 15 000000G 000001 Page 3 COMMAND,+ #EX.ONL, (SP) #1,-(SP) 4%: SEQ 0181 3 #1,IIP.FLAG 2% #EX.SCC, (SP) 15 000000G 000001 VAX-11 Blies-16 V4.0-579 USER$1:[AZTEC.CZRCDB ICZRCD2.SRC; 8 3356 3361 : SP,» 6% R2,#41 S$ H SP,.RO 3 SP,s COMMAND, » 3362 #EX.RD,(SP) S$: 000000G 15 64 R2,#42 74 : COMMAND, & H SP,s 3363 #EX.WRT,(SP) 000001 SP.RO 6%: 78: 3352 3364 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 116116 012746 012746 010600 104415 022626 020227 001403 020227 001015 013700 032760 001407 012716 012746 010600 104415 000406 012716 012746 010600 104415 062706 0C0207 000014 0000006 000002 14-Jun-1985 09:36:36 14-Jun-1985 09: 32:03 MOvVB MOV MOV 14(R1),(SP) #EX.03,-(SP) #2,-(SP) TRAP 15 MOV 000041 8%: 000042 0000006 040000 000012 9s: 0000006 000001 0000006 10s: 000001 000006 11%: VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SP,.RO ; SP,s CMP gg: (SP)+,(SP)+ 23.041 ;+ COMMAND, » cMP R2, 9042 ; COMMAND,» BNE MOV BIT BEQ MOV MOV MOV TRAP BR MOV MOV MOV TRAP ADD RTS 10¢ RP .ADDR,RO #40000,12(R0O) 10¢ SEX.CMP,(SP) #1,-(SP) SP.RO 15 11 QCRLF,(SP) 01,-(SP) SP,RO ; SP,s #6,5P PC H : 15 SEQ 0182 Page 89 (35) 3368 : 3369 3 3N ; SP,» : : 3368 3373 3345 3334 000000 000004 b PO N D G D GO D 10 o s ot s b (o b b b b ot Pt ot 114 words, Routine Base: $CODE$ + 7342 ; Maximum stack depth per invocation: 9 words 013700 105760 ROUTINE EMS_LBN : e ! ! NOVALUE = ! ! ! ! . THIS ROUTINE PRINTS (EXTENDED) ONE OF TWO BLOCK NUMBERS APPEARING IN THE CURRENT RETURN PACKET. NORMALLY, THE LBN FIELD IS PRINTED; THIS FIELD WAS COPIED INTO THE RETURN PACKET FROM THE ASSOCIATED COMMAND ENVELOPE. HOWEVER, IF THE “FLAGS” FIELD OF THE CURRENT RETURN PACKET INDICATES “BAD BLOCK REPORT.D”, THEN THE “FIRST BAD BLOCK” FIELD IS PRINTED. ! ! IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET k) ‘. BEGIN IF BIT_TST (RP_ADDR [FLAGS), EF_BBR) THEN PRINTX (EX_8B, .RP_ADDR [BBLK_LO)) ELSE PRINTX (EX_LBN, .RP_ADDR [LBN_LO]); ! IF BAD BLOCK REPORTED ! THEN = BAD BLOCK REPORTED: XXXXX.* ! OTHERWISE j LBN: XXXXX. " END; ! ROUTINE EMS_LBN 000000G 000015 .SBTTL EMS.LBN: MOV 1ST8 EMS.LBN ERROR MESSAGE SUBROUTINES RP .ADDR,RO P 1S(RO) I | i Routin e Size: 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 l 3392 CZRCD2 CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ERROR MESSAGE SUBROUTINES v02.0 000010 000012 000016 000022 000026 000030 000032 000034 000040 44 0n" ” 100011 016046 012746 012746 010600 104415 000410 016046 012746 012746 010600 104415 062706 000207 w056 ooy 000054 000060 000040 0000006 000002 000050 0000G0G 000002 1$: 000006 2%: BPL MOV MOV MOV MOV TRAP BR MOV MOV MOV MOV TRAP ADD RTS 000000 000C04 000010 000014 000020 000022 000024 000030 000034 000040 000044 000046 000050 000054 - BEGIN 013700 016046 012746 012746 010600 104415 013700 016016 012746 012746 010600 104415 062706 000207 ;3 Routine 3Size: ; Maximum stack : NOVALUE SEQ 0183 Page 90 (35) 3394 H SP.‘ 3392 3396 SP,RO 15 #6,SP PC 3390 3376 + 7706 = - 0 s o ot s ot oo ot o Pt et 3408 3409 3410 3411 3412 3413 3414 3415 ROUTINE EMS_BC N0 D PO N N W S0 G0 S0 @0 @0 @ S G0 S0 B0 S8 G @ S0 90 @ ; Routine Size: 25 words, Routine Base: S$CODE$ 5 words ; Maximum stack depth per invocation: 3399 3400 3401 3402 3403 3404 3405 3406 3407 1 40(RO),-(SP) ®EX.BB,-(SP) #2,-(SP) SP,RO 15 24 S0(RO),-(SP) #EX.LBN, -(SP) ®2,-(SP) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 THIS ROUTINE PRINTS (EXTENDED) BOTH BYTE COUNT FIELDS OF THE CURRENT RETURN PACKET: THE BYTE COUNT FROM THE COMMAND ENVELOPE AND THE ACTUAL NUMBER OF BYTES TRANSFERRED (FROM THE RESPONSE ENVELOPE). IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET PRINTX (EX_CBC, .RP_ADDR [CBCNT_LO]); PRINTX (EX_BC, . RP_ADDR [BCNT_LO]); i g END; ! 000000G 000044 000000G 000002 EMS.BC: 23 words, EMS.BC ERROR MESSAGE SUBROUTINES 15 MOV MOV MOV MOV MOV TRAP ADD RTS 000012 $CODES Rout ine Base: 7 words invocation: ROUTINE EMS_BC RP.ADDR,RO 44(RO),-(SP) #EX.CBC, -(SP) #2,-(SP) SP,RO MOV TRAP 000000G 000020 000000G 000002 depth per .SBTTL MOV MOV MOV MOV BYTE COUNT IN COMMAND: XXXXX." ACTUAL & OF BYTES TRANSFERRED: XXXXX." 3412 H SP.‘ RP.ADDR,RO 3413 20(R0),(SP) #EX.BC,-(SP) #2,-(SP) SP,RO 15 #12,5P PC + 7770 i SP,* 3410 3399 CZRCD2 CZRCDBO RC2S DISK EXERCISER ERROR MESSAGE SUBROUTINES 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 000000 000004 000010 000014 000020 000024 000026 000030 000034 o s s s ot ot Pt s s et s W @0 G0 @0 @0 90 @0 @0 @ W @ v02.0 013700 016046 016046 012746 012746 010600 104415 062706 000207 ROUTINE EMS_BD NN NN TN s s s et ps s s 004737 004737 004737 004737 004737 004737 000207 Routine Size: -~ Maximum stack 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 01384 Page 91 (35) NOVALUE = ! ! THIS ROUTINE PRINTS (EXTENDED) THE TWO-WORD I/0 BUFFER DESCRIPTOR APPEARING IN THE CURRENT RETURN PACKET. ! H IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET § .. PRINTX (EX_BD, .RP_ADDR 000000G 000026 000024 0900006 000003 [BUFF_0], EMS.BD: .RP_ADDR 000010 15 words, Routine Base: invocation: ROUTINE EMS_RP : 6 words [BUFF_11); § I/0 BUFFER DESCRIPTOR: .SBTTL MOV MOV MOV MOV MOV EMS.BD ERROR MESSAGE SUBROUTINES RP .ADDR,RO : 26(R0O),-(SP) 24(RO),-(SP) #EX.BD,-(SP) #3,-(SP) TRAP ADD RTS 15 #10,5P PC MOV Maximum stack depth per 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 : VAX-11 Bliss-16 V4.0-579 e ; Routine Size: 000000 000004 000010 000014 000020 000024 000030 14-Jun-198S 09:36:36 $CODE$ SP.RO XXXXXX(C0) XXXXXXC0)*” 3426 : SP,% H 3416 + 10046 NOVALUE = e ! ! ‘. THIS ROUTINE IS RESPONSIBLE FOR PRINTING (EXTENDED) THE RELEVANT FIELDS OF THE CURRENT RETURN PACKET. BEGIN EMS_CRN EMS_SBC EMS_CMD EMS_LBN (); (); (); (); ! COMMAND REFERENCE NUMBER ! SUB-CODE ! COMMAND (AND MODIFIER) ! LBN OR BAD BLOCK NUMBER EMS_BC (); ! BYTE COUNTS EMS_BD (); ! END; ! ROUTINE EMS_RP 007216° 007302 007342 007706 007770 010046 13 words, depth per EMS.RP: Routine Base: invocation: 1 word .SBTTL JSR JSR JSR JSR JSR JSR RTS $CODE$ I7/0 BUFFER DESCRIPTOR EMS.RP ERROR MESSAGE SUBROUTINES PC,EMS.CRN 3 PC,EMS.SBC : PC,EMS.CMD : PC,EMS.LBN : PC,EMS.BC 3 PC,EMS.BD 3 PC : + 10104 3436 3437 3438 3439 3440 3441 3427 CZRCD2 v02.0 3 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 3444 000000 000004 000006 ; ; 1 004737 104423 000207 .SBTTL EMS.01::JSR TRAP RTS 000000V Routine Base: invocation: 2 words 3 : : 3445 3446 g::; 2 2 g EMS_ET (); PRINTB (EBS_01, MAX_UNITS); : 3449 1 ENDMSG; 000000 004737 007132 000004 000010 000014 000020 000022 000024 012746 012746 012746 010600 104414 062706 000020 0000006 000002 ; ; 3 000207 000000 000004 000006 1 004737 104423 000207 ; Routine Size: ; 3 3 : 3 : 2 2 2 2 1 (36) + 3444 10136 MS$EMS.01 ERROR MESSAGE SUBROUTINES PC,EMS.ET #20,-(SP) #€BS.01,-(SP) #2,-(SP) SP,RO 14 #6,SP RTS $CODE$ PC + 3 3446 : ; 3447 SP,* : 3444 10146 BGNMSG (EMS_10); .SBTTL EMS.10::JSR TRAP RTS 000000V 4 words, Routine Base: invocation: EMS_ET (); PRINTB (EBD_10, 2 words .RC25_ADDR + EMS.10 ERROR MESSAGE SUBROUTINES PC,M$EMS.10 3 23 PC 3450 $CODE$ + 10200 .OF_RC); ! ELAPSED TIME ! “NO RESPONSE AT ADDRESS XXXXXX(0)* ENDMSG; 0000C0 004737 007132 0000C4 013746 0000006 - S$CODES$ EMS.01 ERROR MESSAGE SUBROUTINES PC,M$EMS.01 H 23 PC .SBTTL MS$EMS.O01: JSR MOV MOV MOV MOV TRAP ADD 000006 Maximum stack depth per 3451 3452 3453 3454 3455 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEN 0185 Page 93 ! ELAPSED TIME ! “MORE THAN XX. UNITS SPECIFIED" Routine Size: 13 words, Routine Base: Maximum stack depth per invocation: 5 words 3450 VAX-11 Bliss-16 V4.0-579 BGNMSG (EMS_01); Routine Size: 4 words, Maximum stack depth per 000030 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL M$EMS. 10: JSR MOV MS$EMS.10 ERPROR MESSAGE SUBROUTINES PC,EMS.ET RC25.ADDR, -(SP) : : 3452 3453 CZRCD2 v02.0 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 000010 000014 000020 000024 000026 0000006 000000G 000002 062706 000207 000006 010600 104414 000030 000034 ; ; 063716 012746 012746 3456 000000 000004 000006 1 004737 104423 000207 ; Routine Size: ; Maximum stack 3 : 3 : : 3457 3458 3259 60 3461 2 2 2 2 1 4 words, depth per 013746 012746 012746 010600 104414 062706 000207 000000G 000000G 000002 000000 000004 000006 ; ; 004737 104423 000207 13 werds, ; (36) SP,» s 3450 10210 2 words EMS.12 ERROR MESSAGE SUBROUTINES PC,M$EMS.12 ; 23 PC 3456 $CODE$ + 10246 ! ELAPSED TIME ! "INCORRECT BR LEVEL GIVEN FOR DEVICE XXXXXXCOQ)* .SBTTL MS$SEMS.12: JSR MOV MOV MOV MOV TRAP ADD RTS Routine Base: invocation: S words MS$EMS.12 ERROR MESSAGE SUBROUTINES PC,EMS.ET RC25.ADDR, -(SP) #EBD.12,-(SP) #2,-(SP) SP.RO 14 #6,SP PC : H ; : 3458 3459 SP,* 3456 $CODE$ + 10256 BGNMSG (EMS_13); 000000V Routine Size: 4 words, Maximum stack depth per - + .RC25_ADDR); 000006 Maximum stack depth per 1 #6,SP PC USER$1:([AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0186 Page 94 ENDMSG; 000004 000010 000014 000020 000022 000024 000030 3462 Routine Base: invocation: EMS_ET (); PRINTB (EBD_12, 007132' : SP,RO 14 .SBTTL EMS.12::JSR TRAP RTS 000000V 004737 ; Routine Size: S$CODE$ OF .RC,(SP) #€BD.10,-(SP) #2,-(SP) VAX-11 Bliss-16 V4.0-579 BGNMSG (EMS_12); 000000 ; ADD MOV MOV MOV TRAP ADD RTS Routine Size: 15 words, Routine Base: Maximum stack depth per invocation: S words 3 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL EMS.13::JSR TRAP RTS Routine Base: invocation: 2 words $CODE$ EMS.13 ERROR MESSAGE SUBROUTINES PC,M$EMS.13 : 23 PC + 10310 3462 CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ERROR MESSAGE SUBROUTINES oo 3463 3464 3465 3466 3467 3468 ENDMSG; 000000 004737 007132 000004 000010 000014 000020 000024 000026 000030 000034 000040 013746 013746 012746 012746 010600 104414 004737 062706 000207 000000G 000000G 000000G 000003 EMS_ET (); PRINTB (EBD_13, EMS_SA (); .STEP, ; 3469 000000 000004 000006 s @ @ ®s @ e ; ; 1 004737 104423 000207 3470 3471 3472 3473 3474 3475 95 (36) M$EMS.13 ERROR MESSAGE SUBROUTINES PC,EMS.ET RC25.ADDR, -(SP) STEP,-(SP) #EBD.13,-(SP) SP,RO 14 3464 3465 ; SP,* PC,EMS.SA #10,SP PC 3466 3462 + 10320 .SBTTL 000000V EMS_ET (); EMS.14 ERROR MESSAGE SUBROUTINES PC,M$EMS.14 23 PC EMS.14::JUSR TRAP RTS Routine Base: S$CODES$ invocation: 2 words PRINTB (EBD_14, EMS_SA (); -« 10362 ! ! ! .IRC25_ADDR); 3469 ELAPSED TIME "ERROR CODE RECEIVED IN SA REGISTER OF DEVICE XXXXXX(0)* PRINTX SA REGISTER CONTENTS ENDMSG; 000000 004737 007132’ 000004 000010 000014 000020 000022 000024 000030 000034 013746 012746 012746 010600 104414 004737 062706 000207 000000G 000000G 000002 L Page BGNMSG (EMS_i4); Routine Size: 4 words, Maximum stack depth p2r oo oo Routine Size: 17 words, Routine Base: S$CODES$ 6 words ; Maximum stack depth per invocation: SEQ 0187 ! ELAPSED TIME ! "STEP X READ ERROR ON DEVICE XXXXXX(0)*" ! PRINTX SA CONTENTS .RC25_ADDR); .SBTTL M$EMS. 13: JSR MOV MOV MOV MOV MOV TRAP JSR ADD RTS 007170 000010 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 007170 000006 .SBTTL M$EMS.14: JSR MOV MOV MOV MOV TRAP JSR ADD RTS M$EMS. 14 ERROR MESSAGE SUBROUTINES PC.EMS.ET IRC25.ADDR, -(SP) #EBD.14,-(SP) SP,RO 14 PC,EMS.SA #6,SP PC 3471 3472 H spt‘ 3473 3469 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBRCUTINES v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0188 Page 96 (36) : Routine Size: 15 words » Routine Base: $CODE$ + 10372 5 words ; Maximum stack depth per invocation: i 3476 000000 000004 000006 1 004737 104423 000207 ; Routine Size: BGNMSG (EMS_15); 4 words, oo : Maximum stack depth per 3477 3478 3479 3480 3481 3482 .SBTTL EMS.15: :JSR 000000V EMS.15 ERROR MESSAGE SUBROUTINES PC,M$EMS.15 ; 23 PC TRAP RTS Routine Base: $CODE$ invocation: 2 words EMS_ET (); PRINTB (EBD_15, EM5_CMD (): + 3476 10430 ! ! ! .RC25_ADDR); ELAPSED TIME "FAILED TO RECEIVE END MESSAGE FROM DEVICE XXXXXX(C0)* PRINTX COMMAND ENDMSG; 000000 004737 007132’ 000004 000010 000014 000020 000022 000024 000030 000034 013746 012746 012746 010600 104414 004737 062706 000207 000000G 000000G 000002 M$EMS. 15 SBTTL JSR MOV MOV MOV MOV TRAP JSR ADD RTS 007342 000006 MS$EMS.15 ERROR MESSAGE SUBROUTINES PC,EMS.ET RC25.ADDR, -(SP) #EBD.15,-(SP) #2,-(SP) SP,RO 14 PC,EMS.CMD #6,SP PC : : i 3478 3479 SP,= : : 3480 3476 EMS.16 ERROR MESSAGE SUBROUTINES PC,M$EMS.16 i 23 PC 3483 Routin e Size: Routine Base: 15 words, $CODE$ + 10440 5 words ; Maximum stack depth per invocation: ; 3 3483 000000 000004 000006 1 004737 104423 000207 ; Routin e Size: 3484 3485 3486 3487 .SBTTL EMS.16: :JSR TRAP RTS 000000V 4 words ’ Maximum stack depth per o ; BGNMSG (EMS_16); Routine Base: $CODE$ invocation: 2 words EMS_ET (); PRINTB (EBD_16, EMS_STC (); .CPLAT); + 10476 ! ELAPSED TIME t "ERROR IN RESPONSE TC ONLINE COMMAND FOR PLATTER XXX." ! PRINTX STATUS CODE IF NOT ZERO CZRCD2 v02.0 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 EMS_SBC (); ! 2 2 1 ENDMSG ; 000000 004737 007132’ 000004 000010 000014 000020 000022 000024 000030 000034 000040 013746 012746 012746 010600 104414 004737 004737 062706 000207 000000G 000000G 000002 3488 3489 3490 3 : 3 .SBTTL M$EMS. 16: JSR MOV MOV MOV MOV TRAP JSR JSR ADD 007250 007302 000006 ; 3491 000000 000004 000006 004737 104423 000207 3492 3493 3494 3495 3496 000004 000010 000014 000020 000022 000024 000030 013746 012746 012746 000000G 000000G 000002 Maximum stack H N 3497 1 97 (36) 3485 3486 SP,RO 14 PC,EMS.STC PC,EMS.SBC #6,SP PC -« 3487 3488 3483 10506 $CODE$ EMS.17 ZRROR MESSAGE SUBROUTINES PC,MS$EMS.17 3491 23 PC + 2 words 10550 ! .CPLAT); ! ELAPSED TIME "PLATTER XXX. IS SW WRITE-ENABLED BUT HW WRITE-PROTECTED"” ENDMSG ; 007132’ ; Routine Base: invocation: EMS_ET (); PRINTB (EBD_17, 004737 ; Routin e Size: Pa PRINTX Sue-CODE PC,EMS.ET CPLAT, -(SP) #EBD.16,-(SP) .SBTTL EMS.17::JSR TRAP RTS 000000V 000000 010600 104414 062706 000207 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 BGNMSG (EMS_17); Routin e Size: 4 words, Maximum stack depth per =Moo ; 1 SEQ 0189 M$EMS.16 ERROR MESSAGE SUBROUTINES RTS 17 words, Routine Base: $CODES$ ; Routin e Size: S words ; Maximum stack depth per invocation: VAX-11 Bliss-16 V4.0-579 000006 .SBTTL M$EMS.17: JSR PC,EMS.ET CPLAT, -(SP) #€8D.17,-(SP) #2,-(SP) SP,RO 14 #6,SP PC MOV MOV MOV MOV TRAP ADD RTS 13 words, Routine Base: $CODES$ depth per invocation: 5 words BGNMSG (EMS_18); M$EMS.17 ERROR MESSAGE SUBROUTINES + 10560 3493 3494 H SP:‘ 3491 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES v02.0 000000 000004 000006 004737 104423 000207 ; Routine Size: Maximum stack 3498 3499 3500 3501 3502 3503 3504 o s W% W @0 8 s - ; 4 words, 007132’ 000004 000010 000014 000020 000022 000024 000030 000034 000040 013746 012746 012746 010600 104414 004737 004737 062706 000207 0000006 000000G 000002 3505 1 004737 104423 000207 =Moo e e ws @ @ Page 98 (36) ; 3497 + 10612 ! ELAPSED TIME ! "ACCESS FAILED ON PLATTER XXX." ! PRINTX STATUS CODE IF NOT ZERO ! PRINTX SUB-CODE .SBTTL M$EMS.18: JSR MOV MOV MOV MOV TRAP JSR JSR ADD RTS 007250 007302 000006 $CODE$ M$EMS.18 ERROR MESSAGE SUBROUTINES PC,EMS.ET CPLAT, -(SP) #EBD.18,-(SP) #2,-(SP) SP,RO 14 PC,EMS.STC PC,EMS.SBC #6,SP PC i ; ; 3499 3500 SP,=* i i : 3501 3502 3497 EMS.19 ERROR MESSAGE SUBROUTINES PC,M$EMS.19 : 23 PC 3505 + 10622 BGNMSG (EMS_19); .SBTTL EMS.19: :JSR TRAP RTS 000000V 4 words, ; Routine Size: ; Maximum stack depth per 3506 3507 3508 3509 3510 3511 $CODE$ SEQ 0190 EMS.18 ERROR MESSAGE SUBROUTINES PC,M$EMS.18 23 PC .CPLAT); Routine Size: 17 words, Routine Base: Maximum stack depth per invocation: 5 words 000000 000004 000006 @ 2 words VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 ENDMSG; 004737 i Rout ine Base: invocation: EMS_ET (); PRINTB (EBD_18, EMS_STC (); EMS_SBC (); 000000 ; ; .SBTTL EMS.18: :JSR TRAP RTS 000000V depth per 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 EMS_ET (); PRINTB (EBD_19, EMS_RP (); ENDMSG; Routine Base: invocation: 2 words .CPLAT); $CODE$ + 10664 ! ! ! ELAPSED TIME "PLATTER XXX. WENT OFFLINE” PRINTX RELEVANT RETPKT FIELDS CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 ERROR MESSAGE SUBROUTINES 000000 004737 007132 000004 000010 000014 000020 000022 000024 000030 000034 013746 012746 012746 010600 104414 004737 062706 000207 000000G 000000G 000002 ; Routine Size: ; s 3512 1 004737 104423 000207 ; Routine Size: 15 words, 4 words, oo 002004 000010 000014 000020 000022 000024 000030 013746 012746 012746 010600 104414 062706 000207 000000G 000000G 000002 000000 0000C4 000006 « 004737 104423 000207 99 (36) M$EMS.19 ERROR MESSAGE SUBROUTINES PC.EMS.ET 3507 3508 CPLAT, -(SP) #€EBD.19, -(SP) SP,RO 14 PC,EMS.RP #6,SP PC H SPI‘ 3509 3505 EMS.20 ERROR MESSAGE SUBROUTINES PC,MS$EMS .20 23 PC 3512 + 10732 ! ! .RC25_ADDR); .SBTTL M$EMS.20: JSR MOV MOV MOV MOV 000006 Routine Size: 13 words, Routine Base: Maximum stack depth per invocation: 5 words 1 Page ELAPSED TIME “"DEVICE XXXXXX(0) NOT PROCESSING COMMAND PACKETS" ENDMSG ; 007132’ 3518 SEQ 0191 S$CODES$ + 10674 Routine Base: $CODES$ invocation: 2 words EMS_ET (); PRINTB (EBD_20, 004737 3 5 words .SBTTL EMS.20::JSR TRAP RTS 000000V 000000 ; ; Routine Base: invocation: VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 BGNMSG (EMS_20); Maximum stack depth per 3513 3514 3515 3516 3517 .SBTTL M$EMS. 19: JSR MOV MOV MOV MOV TRAP JSR ADD RTS 010104 000006 Maximum stack depth per 000000 000004 000006 ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 M$EMS.20 ERROR MESSAGE SUBROUTINES PC,EMS.ET RC25.ADD 3514 3515 #EBD. 20, -(SP) #2,-(SP) SP,RO 14 #6,SP TRAP ADD R1S PC S$CODE$ « 10742 H SPO. 3512 BGNMSG (EMS_21); 000000V .SBTTL EMS.21::JSR TRAP RTS EMS.21 ERROR MESSAGE SUBROUTINES PC.M$EMS .21 23 PC 3518 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES v02.0 4 words, Routine Size: Maximum stack depth per 3519 3520 3521 3522 3523 3524 3525 =N ® ®s @ S es @ e : ; .RC25_ADDR); PRINTX (EX_DSC, .ST_CODE); EMS_CMD (); 007132° 000004 000010 000014 000020 000022 000024 000030 000034 000040 000044 000046 000050 000054 013746 012746 012746 010600 104414 004737 013716 012746 012746 010600 104415 062706 000207 000000G 000000G 000002 3526 000000 000004 000006 1 004737 104423 000207 ; Routine Size: Maximum stack 3527 3528 3529 3530 3531 0000CO oo @ e @ we e ; 004737 -« 10774 ELAPSED TIME "MESSAGE REJECTED BY D UP SERVER ON DEVICE XXXXXX(0)*" PRINTX COMMAND » DUP STATUS CODE: x.u .SBTTL M$EMS.21 ERROR MESSAGE SUBROUTINES JSR PC,EMS.ET M$EMS.21: MOV RC25.ADDR, -(SP) #EBD.21,-(SP) #2,-(SP) SP,RO 14 007342’ 000000G 000000G 000002 PC,EMS.CMD 000012 #12,SP PC 3520 3521 H SP.‘ 3522 3523 ST.CODE, (SP) #EX.DSC, -(SP) ; SP,x SP.RO 15 Routine Base: S$CODES$ 7 words 23 words, ; Maximum stack depth per invocation: ;. SEQ 0192 Page 100 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 (36) VAX-11 Bliss-16 V4.0-579 ENDMSG ; 004737 Routine Size: Routine Base: $CODE$ invocation: 2 words EMS_ET (); PRINTB (EBD_21, 000000 ;: 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 3518 -« 11004 BGNMSG (EMS_22); .SBTTL EMS.22::JSR TRAP RTS 000000V 4 words, depth per EMS_ET (); Routine Base: invocation: PRINTB (EBD_22, 2 words S$CODES$ EMS.22 ERROR MESSAGE SUBROUTINES PC,M$EMS.22 23 PC -« 11062 ! ! .RC25_ADDR); 3526 ELAPSED TIME “NO RESPONSE FROM FRONT PANEL TEST EXECUTING IN DEVICE XXXXXX(0)* ENDMSG; 007132’ .SBTTL M$EMS.22 ERROR MESSAGE SUBROUTINES JSR PC,EMS.ET MSEMS.22: 3528 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES v02.0 013746 012746 012746 010600 104414 062706 000207 000004 000010 000014 000020 000022 000024 000030 14-Jun-1985 09:3 6:36 14-Jun-1985 09:32:03 000000G 000000G 000002 MOV MOV MOV MOV TRAP ADD RTS 000006 ; Routine Size: 13 words, Routine Base: $CODES ; Meximum stack depth per invocation: S words s 3532 000000 000004 000006 1 004737 104423 000207 =R WhWwPDDDDD D e e e s @5 Ss S0 S B @ @0 G0 W6 S6 @5 W 011134 011136 011140 011142 011144 011146 011150 011152 011154 011156 011160 000000G 000000G 000000 0000006 000000G 000000G 000000G 000000G 0000006 0000006 0000006 0000C0 004737 RC25.ADDR, -(SP) H SP.RO 14 #6,5P PC H #€BD.22,-(SP) SEQ 0193 Page 101 (36) 3529 sPl. ; 3526 : 3532 « 11072 BGNMSG (EMS_30); .SBTTL EMS.30::JSR TRAP 000000V EMS.30 ERROR MESSAGE SUBROUTINES PC,MSEMS.30 23 RTS 4 words, ; Routin e Size: ; Maximum stack depth per 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 OWN Routine Base: invocation: 2 words S$CODES$ PC -« 11124 EBH_TB : ! EMS_ET (); VECTOR [11] INITIAL (EBH_31, EBH_32, 0, EBH_34, EBH_35, EBH_36, EBH_37, EBH_38, EBH_39, EBH_40, EBH_41); TABLE OF BASIC, HARD ERROR MESSAGE ADDRESSES, INDEXED BY STATUS CODE PRINTB (PLATT, ELAPSED TIME .CPLAT); IF ((.ST_CODE GEQU 1) AND (.ST_CODE LEQU 11)) THEN ELSE PRINTB (.EBH_TB [.ST_CODE PRINTB (EX_SC, EMS_RP (); - 1)) “PLATTER XXX, - * %FESTATUS CODE IS WITHIN RANGE H PRINTB APPROPRIATE MESSAGE ELSE STATUS CODE OUT OF RANGE JUST PRINT STATUS CODE PRINTX OTHER RETPKT FIELDS .ST_ CODE); ENDMSG; EBH.TB: 007132’ .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD EBH. 31 EBH. 32 0 EBH. 34 EBH. 35 EBH. 36 EBH. 37 EBH. 38 EBH. 39 EBH.40 EBH.41 .SBTTL MSEMS.30 ERROR MESSAGE SUBROUTINES MS$SEMS.30: CZRCD30 RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 000004 000010 000014 000020 000022 000024 000030 000032 000036 000040 000042 000046 000052 000054 000056 000060 000062 000066 000072 000074 000076 000100 000104 000110 013746 012746 012746 010600 104414 013700 001413 020027 101010 006300 016016 012746 010600 104414 000410 010016 012746 012746 010600 104414 005726 004737 062706 000207 000000G 0000006 000002 000000G 000013 011132’ 000001 1s: 0000006 000002 010104 000010 2%: 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 JSR MOV MOV MOV MOV TRAP MOV BEQ cMP BHI ASL MOV MOV MOV TRAP BR MOV MOV MOV MOV TRAP ST JSR ADD RTS VAX-11 Bliss-16 vV4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 PC.EMS.ET ; CPLAT, -(SP) 3539 H OPLATT, -(SP) #2,-(SP) SP,RO 14 ?I.COOE.“O SEQ 0194 Page 102 (36) 3540 i SP,s RO, 913 1 RO EBH.TB-2(R0),(SP) SP,RO 14 24 RO,(SP) ; 3541 H 3543 i SP,» ; H 9EX. SC, - (SP) 2 { 3541 3545 SP,RO 14 : PC,EMS.RP €10,5P PC : H 3546 3532 i 3549 SP,» (SP)+ ; Routine Size: 37 words, Routine Base: $CODE$ « 11162 ; Maximum stack depth per invocation: 7 words 3 3549 000000 000004 000006 1 004737 104423 000207 BGNMSG (EMS_42); i =RV @ @ @ et ws ®e ® @ Routine Size: 4 words, ; Maximum stack depth per 3550 3551 3552 3553 3554 3555 3556 3557 .SBTTL EMS.42::JSR TRAP RTS 000000V Routine Base: $CODES$ invocation: 2 words EMS.42 ERROR MESSAGE SUBROUTINES ;g.HOEHS.QZ PC -« 11274 EMS_ET (); ELAPSED TIME “PLATTER XXX. - * "HOST-DETECTED WRITE-COMPARE ERROR” PRINTX LBN PRINTX BYTE COUNTS PRINTB (PLATT, .CPLAT); PRINTB (EBH_42); EMS_LBN (); EMS_BC (); ENDMSG ; 000000 004737 007132’ 000004 000010 013746 012746 000000G 000000G 3 MS$EMS.42: JSR MOV MOV M$EMS.42 ERROR MESSAGE SUBROUTINES PC,EMS .ET CPLAT, -(SP) OPLATT, -(SP) i i 3551 3552 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 012746 010600 104414 012716 012746 010600 104414 004737 004737 062706 000207 000002 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 MOV MOV TRAP MOV MOV MOV TRAP JSR JSR ADD RTS 0000006 000001 007706 007770 000010 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 #2,-(SP) 0 1 SEQ 0195 Page 103 (36) SP,» #EBH.42,(SP) SP,RO 14 PC,EMS.LBN 3553 SP,» 3554 3555 3549 PC,EMS.BC €10,SP PC ; Routine Size: 23 words, Routine Base: S$CODES$ + 11304 ; Maximum stack depth per invocation: 6 words 3558 000000 000004 000006 W G W6 S G S0 S0 B8 S0 S0 W i 3 1 004737 104423 000207 BGNMSG (EMS_43); 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 000000 012746 010600 104414 004737 013701 Routine Base: invocation: 2 words $CODES$ EMS.43 ERROR MESSAGE SUBROUTINES PC,M$EMS.43 23 PC 3558 « 11362 EMS_ET (); ELAPSED TIME "PLATTER XXX. - * "FAILED TO RECEIVE END MESSAGE FOR I/0 COMMANO" PRINTX COMMAND REFERENCE NUMBER STATUS FIELD HOLDS MODIFIER (IF ANY) PRINTX COMMAND (AND MODIFIER) PRINTX LBN PRINTX BYTE COUNT PRINTX I/0 BUFFER DESCRIPTCR PRINTB (PLATT, .CPLAT); PRINTB (EBH_43); EMS_CRN (); RP_ADDR [CMDMOD] = .RP_ADDR [STATUS); EMS_CMD (); PRINTX (EX_LBN, .RP_ADDR [BBLK_LO)); PRINTX (EX_CBC, .RP_ADDR [BCNT_LOJ)); EMS_BD (); ENDMSG; .58 TTL M$EMS.43: 010146 004737 013746 012746 012746 010600 104414 012716 .SBTTL EMS.43::JSR TRAP RTS 000000V Routine Size: 4 words, Meximum stack depth per =D s 007132’ 0000006 0000006 000002 000000G 000001 007216 0000006 M$EMS.43 ERROR MESSAGE SUBROUTINES R1,-(SP) PC,EMS.ET 3558 3560 3561 CPLAT, -(SP) OPLATT, -(SP) SP,.RO 14 ®EBH.43,(SP) SP,s 3562 SP,.RO 14 PC.EMS.TRN RP.ADDR,R1 3563 3564 CZRCD2 CZRCDBO RC2S DISK EXERCISER v02.0 ERROR MESSAGE SUBROUTINES 000052 000054 000062 000066 000072 000076 000102 000106 000110 000116 000122 000126 000132 MOV MOV JSR MOV MOV MOV MOV R1,RO 16(R0O),12(R1) PC,EMS.CMD RP .ADDR,RO 40(RO),(SP) QEX.LBN, -(SP) #2,-(SP) 013700 000000G MOV RP .ADDR,RO : MOV SP,.RO ; SP,* 010600 104415 004737 062706 012601 000207 Routine Size: 3 : 3571 3572 3573 3574 1 1 1 0 MOV TRAP 000020 0000006 000002 53 words, Routine Base: 15 PC,EMS.BD #20,SP (SP)+,R1 PC S$CODES$ + P PSECT Psect Name : ; $CCDE s Attributes 2482 SPLITS R . 487 I RO, D File e R Ve -S A WUSER$1:[AZTEC.CZRCDBICZRCDL.L16:6 Total 276 BLISS/PDP11 CZRCD2.SRC/LIST/EN:NOEIS Size: 2342 code + 627 data words Run Time: C4:34.1 04:35.7 Elapsed Time: Lines/CPU Min: 782 Lexemes/CPU-Min: 8635 ; Memory Used: 441 pages Compilation Complete - $SAVE4, $SAVE3, $SAVE2 + LGk, WEL, LCL, REL, COW CON Library Statistics Symbols Loaded 204 COMMAND QUALIFIERS ; ;s ; ; ; 3568 3558 SUMMARY Words : B ; 3 0TS external references : H 3567 11372 $SAVES, BL$MUL -------- Percent 73 Pages Processing 16 00:00.2 Mapped (36) SP,* END ELUDOM Page 104 3565 3566 11 words .GLOBL .GLOBL ; ; SEQ 0196 RP.ADDR, # : P 20(RO),(SP) #EX.CBC, -(SP) #2,-(SP) TRAP JSR ADD MOV RTS invocation: ; SP,.RO 15 MOV MOV MOV 010046 000020 ; Maximum stack depth per H 3 : USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 000016 000012 007342 0000006 000040 000000G 000002 016016 012746 012746 000134 000136 000142 000146 000150 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 010100 016061 004737 013700 016016 012746 012746 010600 104415 000112 ; 14-Jun-1985 09:36:36 Time 0046 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 MCDULE CZRCD3 ( STITLE IDENT = SEQ 0197 VAX-11 Bliss-16 V4.0-579 1 Page USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (1) 'CZRCDOBO RC25 DISK EXERCISER' 'V02.0', ADDRESSING _MODE (ABSOLUTE) J = BEGIN #SBTTL 'DECLARATIONS' LIBRARY 'CZRCOL'; REQUIRE 'BILSMAC.REQ'; ! RC25 EXERCISER GLOBAL LIBRARY ! DIAGNOSTIC SUPERVISOR LIBRARY EQUALS; FORWARD ROUTINE INIT_TEST : NOVALUE, DRIVER_INIT : NOVALUE, CTLR_INIT : NOVALUE, INI_CTLR_DAT : NOVALUE, ! ROUTINES APPEAR IN THIS ORDER : INDENTATION IMPLIES CALLED SUBROUTINE ! INITIALIZATION SUBTEST REG_EXIST, VEC_BR_TEST, INT_GEN, HARD _INIT, INI_RRING : NOVALUE, SET_CTLR_CHAR : NOVALUE, UNIT_INIT : NOVALUE, ACCESS : NOVALUE, - 0007 0043 0044 0045 et et et et et s s et e e O O O O O 2006 s b ot (s et Pt et ot et b 0001 0002 0003 0004 0005 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 0 18 1 W6 S0 90 S8 S0 G0 GF S0 G0 @0 G @0 S0 G0 G0 9 G0 G0 B0 S0 S0 G0 @ B¢ G0 S 8 e CZRCD3 1561 1562 1563 1564 1565 1566 1567 1568 1569 i570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 A, e e e e e e e e e e e e S S S S S 1558 1559 1560 Ll el e e e e 1552 1553 1554 1555 1556 1557 DM_EXER : NOVALUE, DM_INIT : NOVALUVE, DM_QUIT, DM_RETPKT : NOVALUE, DM_MSG : NOVALUE, DM_ACC, DM_TALLY : NOVALUE, UPD_DMBC : NOVALUE, DM_TIME : NOVALUE, MULTI_DRIVE : NOVALUE, MD_INIT : NOVALUE, INIT_IO_BUFF : NOVALUE, QI0_OK, MD_QUIT, QIO_GEN : NOVALUE, GET_RANDOM : NOVALUE, QIO_UNIT : NOVALUE, QIO_FUNC : NOVALUE, QIO_LBN : NOVALUE, ADV_BST : NOVALUE, QIO_SIZE : NOVALUE, FILL _BUFF : ! DM EXERCISER SUBTEST ! MULTI-DRIVE SUBTEST NOVALUE, PROC_RETPKT : NOVALUE, IO_RETPKT : NOVALUE, "FSET_UPAR : NOVALUE, MD_TALLY : NOVALUE, HOST_WRT_CHK : NOVALUE, CMP_DATA, SWEEP : NOVALUE, RPS_REM, DR_RETPKT : NOVALUE, DRV_TIMCHK RCINTO : L$ISR RCINT1 : LSISR RCINT2 : L$ISR RCINT3 : LSISR : NOVALUE, NOVALUE, NOVALUE, NOVALUE, NOVALUE, ! RC25 INTERRUPT SERVICE ROUTINES SEQ 0198 CZRCD3 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 A, v02.0 = NOVALUE, PSECT OWN = $GGG$ (READ, NOWRITE, EXECUTE, LOCAL, CONCATENATE); S e e e e e e e e e e e e e e e e e e o e e e e e e : POLL_CRING : NOVALUE, POLL_RRING : NOVALUE, ENV_TO_RP : NOVALUE, DATAGM : NOVALUE; ? e e e el e e : NOVALUE, FATAL_ERROR H Ll 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 162¢ 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 SEQ 0199 VAX-11 Bliss-16 V4.0-579 Page 3 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2) INT_PROC : NOVALUE, ISET_CPAR : NOVALUE, OWN 1602 1603 1604 1605 1606 1607 RCINT 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 : ! : : COMM_AREA : BLOCKVECTOR [MAX_CTLR, COMM_LEN, WORD] FIELD (COM_FIELDS), U/7Q PORT COMMUNICATIONS AREA BETWEEN HOST AND RC25 CONTROLLERS BST : BLOCKVECTOR [MAX_UNITS, BST_LEN, WORD] FIELD (B_FIELDS), BLOCK SEQUENCE TABLE FOR SEQUENTIAL LBN (VS. RANDOM SEEK) MODE DPST : VECTOR [MAX_UNITS, BYTE], ! DATA PATTERN SEQUENCE TABLE ICOM_ADDR : REF BLOCK [COMM_LEN, WORD] FIELD (COM_FIELDS), ADDRESS OF INTERRUPTING CONTROLLER'S U/Q PORT COMMUNICATION AREA IENV_ADDR : REF BLOCK [ENV_LEN, WORD) FIELD (E_FIELDS), ADDRESS OF AN MSCP ENVELOPE (INTERRUPT PROCESSING) ICST_ADDR : REF BLOCK [CST_LEN, WORD]) FIELD (C_FIELDS), ADDRESS OF INTERRUPTING CONTROLLER'S CST IDCT_ADDR : REF BLOCK [DCT_LEN, WORD) FIELD (DC_FIELDS), ADDRESS OF INTERRUPTING CONTROLLER'S DCT INT_ADDR : VECTOR [MAX_CTLR] INITIAL (RCINTO, RCINT1, RCINT2, RCINT3), INTERRUPT SERVICE ROUTINE ADDRESS TABLE ICTLR : WORD, ! INTERRUPTING CONTROLLER NUMBER MX1 : SIGNED WORD, ! MSCP ENV INDEX FOR FIRST QIO MX2 : SIGNED WORD, ! MSCP ENV INDEX FOR SECOND QIO MAD1 : REF BLOCK [ENV_LEN, WORD] FIELD (E_FIELDS), ADDRESS OF MSCP ENVELOPE FOR FIRST QIO MAD2 : REF BLOCK [ENV_LEN, WORD] FIELD (E_FIELDS), ADDRESS OF MSCP ENVELOPE FOR SECOND QIO VEC_AD : WORD, CURRENT DEVICE'S VECTOR ADDRESS BRLEVEL : WORD, CURRENT DEVICE'S BR LEVEL USIZE : WORD, UNIT SIZE (NO. OF LBN'S) DM_TIMR : VECTOR [MAX_CTLR], TIMERS FOR ONE PASS OF FRONT PANEL TEST (DM EXER) SWEEP_FLAG : BYTE, CALL 7/ DON'T CALL SWEEP () (MULTI-DRIVE SUBTEST) ROM_CNT : WORD INITIAL (RDM_LEN), NUMBER OF RANDOM NUMBERS \ KEEP RANDOM : VECTOR [RDM_LEN, WORD], RANDOM NUMBER TABLE (PATTERN 1) / TOGETHER PATO2 : VECTOR [2] INITIAL (1, ! PATTERN 2 %0’ 000000), ’ PATO3 : VECTOR [2] INITIAL (1, ! PATTERN 3 %0°'177777'), PATO4 : VECTOR [2] INITIAL (1, ! PATTERN 4 %0’'105613'), PATOS : VECTOR [2] INITIAL (1, ! PATTERN 5 %0'031463'), PATO6 : VECTOR [2] INITIAL (1, ! PATTERN 6 %0'030221' ), PATO7 : VECTOR [17] INITIAL (16, ! PATTERN 7 %0'000001‘, %0'000003‘, %0’'000007', %0'000017', %0'000037', %0'000077', %0'000177', %0'000377', %0'000777', %0'001777', #%0'003777', #0'007777', %0'017777', %0'037777', %0'077777', %0'177777'), PATO8 : VECTOR [17] INITIAL (16, ! PATTERN 8 CZRCD3 v02.0 CZRCDBO RC2S DISK EXERCISER DECLARATIONS ;. 1645 i 1646 : 1647 ;1648 1 1 1 1 i s s i 1 1 1 1 ;. 3 : i s s s 1649 1650 1651 1652 1653 1654 i655 1656 1657 ;. 1 i ;. 1665 le6e i 1667 : s s 1669 1670 1671 i 1668 1 1 1 1 1 1 1 1 1 3} s B 1673 3 1478 1} 1619 1680 1 1 1682 1 ;. 1674 ;. . s 1676 7T 1678 s 1681 s ; s ;1683 ; 1684 s ; 1 1 1 1 1 1§ 1 ; 1698 i e s 1697 %0'125252', #0'125252', %0'052525', #0'125252', #0'052525', #0'125252', %0'052525', #0'125252'), PAT12 : VECTOR [21] INITIAL (20, %0'026455', #0'026455', %0'026455', %0'151322', ! PATTERN 12 %0'151322', %0'151322', %0'026455', %0'026455', %0’'151322', #0’'.51322', %0'026455', %0'026455', %0’'151322', #0'026455', %0'151322', %0'026455', %0'151322', %0'026455', PAT13 : VECTOR [2] INITIAL (1, %0'066666' ), PAT14 : VECTOR [17] INITIAL (16, %0'151322', %0'026455'), %0'000001', %0'C00002‘', %0'000004’', %0'000010', %0'000020', #0‘'000040', %0'000100', %0’'000200°', %0'000400‘, %0'001000’, %0'002000', ! PATTERN 13 ! PATTERN 14 %0'004000‘, %0'010000', %0'020000', %0’'040000‘, %0’'100000'), ! PATTERN 16 - A% 1696 s ! PATTERN 11 PAT16 : VECTOR [17] INITIAL (16, y i 1693 1694 %0'052525', #0'052525', #0'052525', %0'125252', %0'125252', #0'125252', %0'052525', %0'052525', 1 1 1 1 1} 1 s ;. ! PATTERN 10 ! PATTERN 15 > 1688 1609 1690 191 1692 1687 ! PATTERN 9 PAT15S : VECTOR ([17] INITIAL (16, %0'177776', %0'177775', %0'177773', %0'177767', %0'177757', #0'177737', %0'177677', #%0'177577', 1 1 : s i 5 ;. %0'177770', %0'177760', %0'177600', %0'177400', %0'174000', %0'170000', %0'100000', %0'000000'), SEQ 0200 VAX-11 Bliss-16 V4.0-579 4 P USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (2) 1 3 1 1685 1686 ; %0'000000', %0'000000', %0'177777', #0'177777', %0'000000', %0'000000', %0'177777', #0'177777', %0'000000', %0'177777', %0'000000', %0'177777'), PAT10 : VECTOR [2] INITIAL (1, %0’'133331'), PAT11 : VECTOR (17] INITIAL (16, 1 1 lé64 %0' 000000’ , %0'177777', ®%0'177777', %0'000000’, 1 1 1 1 ;1661 ;1662 ;1663 %0'177774', %0'177700', #0'176000', %0'140000’', PATO9 : VECTOR [17] INITIAL (16, 1 1 1660 %0'177776', %0°'177740', %0'177000', %0'160000', 1 1658 1659 i 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 %0'177377', %0'176777', %0'175777', #0'173777', %0'167777', %0'157777', %0'137777', %0'077777'), %0'133331', %0'133331', #0'133331’, #0'155554', %0'133331', #0'155554', #0'133331', %0'133331', #0'155554'), %0'155554', %0’ 000000’, %0’'106466', %0'071311', #0'071311', %0'106466', %0'106466', %0'071311', %0'071311', %0'106466', %0'106466', %0'071311', %0'106466', =0'071311', %0'106466', %0'106466', %0'155554', #%0'155554', %0'133331', %0'133331', %0'155554', #0'155554', 1 PAT17 : VECTOR [22] INITIAL (21, 1 1 %0'106466' ), PAT18 : VECTOR [22] INITIAL (21, 1 1 1699 1 Y,BE 1701 1 %0'106466', %0'106466', %0'071311’', %0'071311', %0'106466', %0'106466‘', %0'000000', %0'071311', %0'106466', %0'106466', %0'106466', ! PATTERN 17 ! PATTERN 18 %0'071311', %0'071311', #0'071311', %0'071311‘, %0'106466', %0'106466', %0'106466', %0'106466', %0'106466', %0'071311', #0'071311', %0'071311', %0'071311', %0'071311', %0'071311'), PAT19 : VECTOR [22] INITIAL (21, ! PATTERN 19 CZRCD3 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 8 P NP A e S S S P : DPA_TBL %0'043146' , %0'134631', %0'043146°, %0'134631°', %0’'134631', ! PATTERN 20 %0'043146', %0'043146'), VECTOR [2] INITIAL (1, %0’ 000000’ ), : VECTOR [DP_CNT] INITIAL (RDM_CNT, PATO2, PATO3, PATO4, PATOS, PAT06, PAT12, PAT18, PATO7, PAT13, PAT19, PATO8, PAT14, PAT20, PAT09, PATLO, PAT1S, PAT16, PAT21), ! ! PATTERN 21 : (LBN) DATA PATTERN ADDRESS TABLE PAT11, PAT17, THE FOLLOWING CODE IS THE CROM PRIMER WHICH WAS DEVELOPED INDEPENDENTLY. ITS BINARY .SAV FILE WAS RUN THROUGH THE PROGRAM “DMCONV”, PRODUCING THIS COMPILABLE VECTOR. CROMP: VECTOR[206,WORD] NN 0NN N0 ) S ) S S e S e S S S St S e e S el S o lan lon lan l ot Lan Lo Lo Do Lo o Do Lo Lo Lan o Lo T |— PRESET ( PO MDD MDD M) MO PO N == = et s et et et ot et 2 OO J NI W) = o O VNPBUWNNFOOVRNOUVIE NN F O e et e e e e e e — 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 SEQ 0201 VAX-11 Blies-16 V4.0-579 Page S USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2) %0'043146' , %0'134631°', %0'134631°', %0'043146', %0'043146', %0'043146', %0'043146', lanlonlanl s lenlanl e lonl el o 1748 %0°'000000', %0'134631', #0'134631°', %0°'043146', %0'043146', %0'134631', %0'134631', %0°'134631', %0'043146', %0'043146', #0'043146', %0'043146', %0'134631', %0'134631', %0'134631', %0'134631'), PAT20 : VECTOR [22] INITIAL (21, %0'134631', %0'000000’', %0'043146', %0'134631', #%0'134631', %0'134631', %0'043146', %0°'043146', %0'043146', %0’'134631', %0'134631', %0'134631', PAT21 e e e e e e e e e e e e e e e e e e e e el el e e e e e e e e e e 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 e 1702 1703 Ll ©5 S5 S5 S5 96 S0 G0 S0 0F W6 00 G0 S5 6 W W0 e S0 S0 W T G T B S0 S8 S8 S0 G B GF WE 6 S8 S8 WP S0 G G G G0 GF G0 G G0 S6 G G0 G 6 8 S8 S6 Se Se e o8 v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 %0'000140', ! THIS IS THE DM PROGRAM BYTE COUNT. %0’'000472', %0’ 000000, %0'051103*, %0' 046517, ! THIS IS THE DM OVERLAY BYTE COUNT. ! ! NEXT 3 WORDS = PROGRAM NAME (ASCII) PROGRAM NAME IS ‘CROMP ' ! ! THIS IS THE PROGRAM VERSION UPPER BYTE=TIME OUT VAL. LOWER = FLAGS ! DM CODE STARTS HERE %0’ 000000, %0' 020120, %0’ 000001, %0’'000013, %0’ 000000’ , %0’ 000000’ , %0’ 000000, %0’ 000000’ , %0’ 000000’ , %0’ 000000’ , %0’ 000000, %0’ 104206', %0'007760' , %0' 002754, %0’ 000000, %0’ 000000, %0’ 000000, %0’ 000000’ , %0’ 000000, %0' 000000’ , %0’ 000235, %0’ 000000’ , %0’ 000000, %0’ 104204" , CZRCD3 CZRCDBO RC25 DISK EXERCISER DECLARATIONS - 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 N, [34) = #%0'104203"', = #0'104647', [(33) = [35) = [37] = [39] [40] [41) = = = [44) = [46] = #0'002751', #%0'007000', #%0'000001°, = = #0'102207', #%0'000037', [45) = #%0'104077', [(47) = #0'032305°', [49] = [50] = #%0’'000000', #%0'000000’', = #0'104207', S S P #%0'104641', o 1780 1781 1782 1783 1784 1785 #0'104140', #0'002752', #0’'104204', e 1779 «0'007774', e e el e e e e e e e e e e e e e e e el e e e e e e e 1776 1777 1778 = = = = = e e e e 1775 [29) (30] (31) [32] (36]) e 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 el 6 S5 S0 B0 S0 S5 B0 S0 S8 G0 G0 S0 S0 S0 S0 W8 S8 S0 S0 @ S @ B0 G5 6 G6 G B S W0 SE G5 S0 B8 S0 G G G G6 S8 S8 S6 S8 G G B¢ B¢ G5 S5 SF S8 S G @ S e o v02.0 [38) [42) [43) [48] [51] [52] [S3] (54) [55] = = = = = [(56] = [58]) = [61) [62] = = [57] [59] [60] [63) #0'000002°', #0'104142', #%0'060020', #0'052754', #%0'007006°', #%0'000000‘', #%0'000000', #0'000000', #%0'000000', +%0'007000', #0'104201°', = #%0'000002', = = #%0'002740°', #0'107027', = #0'104202°', #0'107017’', #0'105012°', #0'060011’, [64] [65) [66] = = = #0'027107', #%0'027203', #%0°'027146°', [68] [69] = = #%0'007005', %0'114000', [67] = #0'114000°', = #%0'007776', [72] [73) [(74) [75] = = = = #0'007776', #0'104077', #%0'104206°', #%0'007760', [77] = #0'007005', [70] [71] [(76) = = #0’'114000', #0‘'104301°', [78] = [80] [81) (82) = = = #0'007767', #%0’'115000', %0'007767', = #%0'027120', [79] (83] [84) [(85] = = = 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 #%0'104610', #0'007234', #0'077076°', #0'104200°', ! DM OVERLAY CODE STARTS HERE SEQ 0202 VAX-11 Bliss-16 V4.0-579 Page 6 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2) 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 AR N e e o e e 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 = #0'007C51°’, [(88] = %0'002740’, (90]) = #0'115000', (87) (89] [91] [(92] = = = = #%0'002750', #%0'027146', #%0'007265', #0'057051', (93] = #0'104200', [95] = #%0'007004°', [96] [(97] (98] [99] = = = = = #0'027130‘, #0'027146°', #%0'115000', %0'007265', = w0'017071', +0'114000', £0'007004', #0'027130', [105] [(106] [(107] [108] [109) = = = = = «0'027162', 0'027203', 0'114000', #0'007264', =0'027216', (110] (111] (112]) (113] [114] [(115] (116] (117] [118]) [119] [120] [121] [(122] [123] (124] [(125] [126]) [127] [128] [(129] [13C] [131] [132) [133]) [(134] [(135] [(136] [137] [138] [139] [140] [141] [142] = = = #0'177777°', (100] (101] [102]) [103] (104] e e 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 [86) (94) e e e e e e e e e e e e e e e e e e e e 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 CZRCDBO RC25 DISK EXERCISER DECLARATIONS Ll 5 ©5 S0 ©0 S0 5 G0 S0 G0 G0 0 W C0 G0 G0 G 0 S8 G0 G0 0 T Go G G G5 GO T G5 Gs G WO GO GO GO G TS G G GH G G G Gs GO GO G5 G G0 G G G0 G5 G O G CZRCD3 v02.0 = = = = = «0'007051', 0'115400', #0'007005', #0'106200', £0'000003’, = = = = = = = = = «0'007005', #0'037031’, +0'114000', #0'007005', #0'007031', £0’'104207', %0'007002', #0'104201', #0'000002', = +0'000037', = = #0'060023', £0'102207', = = = = = = £0'057107', %0'000000°', #0'104307', 0'007005', #0'104201', 0'000005', = = = = = = = = = = +0'104010', 0'007001', «0'000000’, #0'104307', #0'007002', «0'105207', «0'000060', %0'114001', «0'104202', %0'000001', = %0'060031', 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 VAX-11 Bliss-16 V4.0-579 SEQ 0203 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 P age 7 (2) [143) (144) [145) [146]) (147) (148) (149) (150] (151) [152] (153) (154) KHL no—-o—-o—-o—-o—-o—-o—-r-;;o—-no—.—O\OO$OOOOO WbMNHOOONgM '-!HHHH'-!H'-\f-\f"\HF‘!HHH'-!HHHHHHHHHHHHHHHHHHHH"‘HHHHHHH -~ s et (b e b b b h b b b b e et b (b (h (e e e b b b b e b b b b b O OO \O O \O O G0 G0 G0 00 0D G0 G0 G0 00 Q0 ~d ~J ~J ~J ~J ~J ~J ~J ~J ~J uvuoiuwnm w O WO OVDNOVNBWRNFOODAIOUNIBGN = OO ®~ ._4us_n_u_n_n_u.‘..Juc—at-Jt—a\-n-n-n—aut-an—auun—u—u—auuuuuuuuuuuuuuuuuuu S e e e e e e e e e e e e e e e e e e e e e e e ey e Sy S S Sy S S S N P T DECLARATIONS e 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 CZRCDBO RC25 DISK EXERCISER el e e oc...v.-.....ooo.cuuflfl“uu“.-o‘unu“uoc.t...ou-o.o.o....uuuun.ommu“uufl“flu“uuuflmu CZRCD3 v02.0 %0’ 104203°, %0’ 007004" , %0’ 060021’ , %0' 102207, %0’ 000037, %0’ 057130’ , %0’ 000000’ , %0’ 104307, %0’ 007002’ , %0’ 114001, %0' 104202’ , %0' 000032, %0’ 104203, %0’ 007234, %0’ 060020, %0’ 102207, %0’ 000037, %0'057146', %0’ 000000, %0’ 104200, %0’ 000004, %0’ 007000, %0’ 104207’ , %0’ 002743, %0’'104301°, %0'007001', %0’ 104272', %0' 105612’ , %0’ 007240’ , %0’ 100612*, %0' 007240’ , %0’'115401°, %0’'117400', %0‘' 007000, %0'037171', %0’ 000000’ , %0’ 114000’ , %0'002743', %0’ 114000, %0'002744"' , %0’ 114000, %0' 002745, %0’ 114000, %0’ 002746, %0’ 114000, %0'002747', %0’ 000000’ , %0’ 104307', %0’ 007002, %0’ 105207, %0’ 000010, %0’'114001°', %0’ 104202, %0’ 000025, %0’ 104203, %0’ 007240, %0' 060021, 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0204 VAX-11 Bliss-16 V4.0-579 Pa ge USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 (2) CZRCD3 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 3 4 H : H : 5 B : : § H B 3 i 3 i 3 B 5 H 3 H ; B i H i i ; i 4 H i H 4 H H H ; ; i ; 3 H H i b 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 e e e B (203] (204] [205] = = = = = = EXTERNAL PATCH : : ! ! ! : ! : ! : ! : B ; : : e e i H R H (200] (201] [202] : : : R B S S R B H 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 : : : ! S S B PSS H e e e e e el e et et et et b b e et et s b s s s et s e v02.0 : : SEQ 0205 P VAX-11 Bliss-16 V4.0-579 age 9 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 2) %0'102207', %0'000037', %0'057216', %0'000000°‘, %0'143367', #0'000000'); VECTOR [100, WORD], CPT : VECTOR [MAX_UNITS, BYTE], CST 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 CURRENT PASS TESTING (YES / NO) PER UNIT ! PATCH AREA : BLOCKVECTOR [MAX_CTLR, CST_LEN, WORD] FIELD (C_FIELDS), RUN-TIME CONTROLLER STATUS TABLES CST_ADDR : REF BLOCK [CST_LEN, WORD] FIELD (C_FIELDS), CONTROLLER STATUS TABLE ADDRESS OF “CURRENT” CONTROLLER OCT : BLOCKVECTOR [MAX_CTLR, DCT_LEN, WORD] FIELD (DC_FIELDS), DRIVER CONTROLLER TABLES DCT_ADDR : REF BLOCK [DCT_LEN, WORD] FIELD (DC_FIELDS), ADDRESS OF “CURRENT” DRIVER CONTROLLER TABLE RC25_ADDR : REF RC25 FIELD (RC_REG), DEVICE ADDRESS OF “CURRENT” CONTROLLER IRC25_ADDR : REF RC25 FIELD (RC_REG), DEVICE ADDRESS OF INTERRUPTING CONTROLLER DM_COMM : BLOCKVECTOR [MAX_CTLR, DMC_LEN, WORD] FIELD (DMC_FIELDS), DM EXERCISER COMMUNICATION AREA (LINK TO FRONT PANEL TEST) DMC_ADDR : REF BLOCK [DMC_LEN, WORD) FIELD (DMC_FIELDS), ADDRESS OF CURRENT CONTROLLER'S DM EXERCISER COMMUNICATION AREA RP_SAVE : VECTOR [MAX_CTLR # RPS_LEN, BYTE, SIGNED;, RETURN PACKET SAVE AREA RPS_X1 : WORD, ! STARTING INDEX OF CURRENT CONTROLLER'S RP_SAVE AREA RPS_X2 : WORD, ! ENDING INDEX OF CURRENT CONTROLLER'S RP_SAVE AREA OUTC_LIST : VECTOR [MAX_CTLR # OUTC_CNT, BYTE, SIGNED], OUTSTANDING COMMAND LIST (CONTAINS MSCP ENVELOPE INDECES) OUTC_TIMR : VECTOR [MAX_CTLR * OUTC_CNT, WORD], OUTSTANDING COMMAND TIMERS OCL_X1 : WORD, STARTING INDEX OF CURRENT CONTROLLER'S OUTSTANDING COMMAND AREA OCL_X2 : WORD, ENDING INDEX OF CURRENT CONTROLLER'S OUTSTANDING COMMAND AREA TALLY : VECTOR [MAX_UNITS # TALLY_LEN, WORD] FIELD (T_FIELDS), STATISTICS TABLES T_ADDR : REF BLOCK [TALLY_LEN, WORD) FIELD (T_FIELDS), ADDRESS OF STATISTICS TABLE (TALLY) FOR CURRENT UNIT MSCP_ENV : BLOCKVECTOR [ENV_CNT, ENV_LEN, WORD] FIELD (E_FIELDS), MSCP ENVELOPE POOL ENV_USE : VECTOR [ENV_CNT, BYTE, SIGNED], MSCP ENVELOPE POOL ALLOCATION TABLE RETPKT : BLOCKVECTOR [RP_CNT, RP_LEN, WORD] FIELD (RP_FIELDS), RETURN PACKET POOL RP_USE : VECTOR [RP_CNT, BYTE, SIGNED], RETURN PACKET POOL ALLOCATION TABLE RP_INDX : WORD, ! CURRENT RETURN PACKET INDEX RP_ADDR : REF BLOCK [RP_LEN, WORD] FIELD (RP_FIELDS?, CURRENT RETURN PACKET ADDRESS BUFF _DESC : BLOCKVECTOR [MAX_BUF _CNT, DESC_LEN, WORD) FIELD (BD_FIELDS), TABLE OF I/0 BUFFER DESCRIPTORS BUFF _OWN : VECTOR [MAX_BUF _CNT, BYTE, SIGNED], CZRCD3 v02.0 et e (et e et b e et e et e e e e e et e (e 8 e e e e e et e e S e e e e S S S S 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 B 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0206 VAX-11 Bliss-16 V4.0-579 Page 10 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2) I70 BUFFER OWNERSHIP (CONTROLLER NUMBER) I0DQ : VECTOR [IODQ_LEN, BYTE], 170 DONE QUEVE - CIRCULAR QUEUE OF RETPKT INDECES IODQ_IN : WORD, I70 DONE QUEUE IN POINTER I0ODQ_OUT : WORD, I/0 DONE QUEUE OUT POINTER ENTRY_REASON : BYTE, HOW CURRENT PASS WAS INVOKED T_FLAG : BYTE, ONE SECOND TIMING FLAG EOP_FLAG : BYTE, END-OF -PASS FLAG MEM_MGMT : BYTE, MEMORY MANAGEMENT FLAG IIP_FLAG : BYTE, INITIALIZATION-IN-PROGRESS FLAG CCTLR : WORD, NUMBER OF “CURRENT” CONTROLLER CPLAT : WORD, CURRENT PLATTER ADDRESS (MSCP UNIT NUMBER) CUOFF : WORD, CST OFFSET FOR CURRENT UNTT CTLR_CNT : WORD, TOTAL NUMBER OF CONFIGURE. CONTROLLERS DUR : VECTOR [MAX_UNITS, BYTE], DROP UNIT REASON QIO : VECTOR [MAX_CTLR, BYTE], NUMBER OF OUTSTANDING QIOS PER CONTROLLER MEM_SIZE : WORD, FREE_MEM_ADDR, BUFF _SIZE : WORD, NUM_BUFF : WORD, CLK_TYPE : WORD, CLK_HERTZ : WORD, CLK_CSR, CLK_VECTOR, HOURS : WORD, MINUTES : WORD, SECONDS : WORD, TICKS : WORD, ST_CODE : WORD, SB_CODE : WORD, OF _RC : SIGNED WORD, SA_REG : WORD, NEX : WORD, MSG_02, MSG_03, MSG_04, MSG_0S, MSG_06, MSG_08, EGD_10, EGD_11, EGD_12, EGD_13, EGD_14, EGD_15, EGD_16, EGD_17, EGD_18, EGD_19, EGD_20, EGD_21, EGD_22, EGH_30, STC_00, AVAILABLE MEMORY (IN WORDS) UP TO 28K START OF FREE MEMORY BELOW 28K SIZE (BYTES) OF AN I/0 BUFFER NUMBER OF I/0 BUFFERS TYPE OF CLOCK ON SYSTEM (0 = NONE, -1 = L-CLOCK, CLOCK HERTZ RATE CLOCK CSR ADDRESS CLOCK VECTOR ADDRESS ELAPSED TIME - HOURS, MINUTES, 1 = P_CLOCK) SECONDS, TICKS CURRENT STATUS CODE CURRENT SuB-CODE CURRENT STEP IN HARD_INIT OFFSET (0 OR 2) TO READ IP OR SA STORAGE FOR SA REGISTER READS AND WRITES NON-EXISTENT MEMORY TRAP INDICATOR COMMAND REF NUMBER OF LAST COMMAND SENT - b e e b e (e e e e b b pn fh P 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 P e e 2071 2072 b b b b et b el e e (e (e (e e b e 14-Jun-1985 09:41: 21 14-Jun-1985 09:33:42 SEQ 0207 VAX-11 Bliss-16 V4.0-579 Page 11 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2 ) STC_01, STC_02, STC_03, STC_04, STC_05, STC_06, STC_07, STC_08, STC_09, STC_10, STC_11, EX_CRN, EX_SB, EX_EL, EX_PA, EX_FMT, EX_EVC, EX_HMA, EX_03, SWP_STRACK : WORD, SWP_ETRACK : WORD, SWP_FLAGS : BYTE, SWP_DPAT : BYTE, SWP_UCNT : WORD, SWP_UDPAT : VECTOR [MAX_UDP_CNT, WORD], L$HIMEM, LSUNIT, L$LUN; EXTERNAL ROUTINE NEX_TRAP : LS$ISR NOVALUE, COPY_BLK : NOVALUE, SET_CPAR : NOVALUE, SET_UPAR : NOVALUE, GET_ENV, PUT_ENV : NOVALUE, GET_RETPKT, PUT_RETPKT : NOVALUE, GET_IO_BUFF : NOVALUE, PUT_IO0_BUFF : NOVALUE, PUTA_BUFF : NOVALUE, ouT_IO0DQ, IN_IODQ : NOVALUE, DROP_CTLR : NOVALUE, DRV_CTLERR : NOVALUE, HARD _ERR : NOVALUE, UPD_IOC : NOVALUE, OVF_CHK : NOVALUE, XFR_CHK : NOVALUE, SEND, WAIT : NOVALUE, EMS_10 : NOVALUE, EMS_12 : NOVALUE, EMS_13 : NOVALUE, EMS_14 : NOVALUE, EMS_15 : NOVALUE, EMS_16 : NOVALUE, -t te v v b b e e e (e e (e (e (e (e e e et b e e e e (e e e e e e CZRCDBO RC25 DISK EXERCISER DECLARATIONS STARTING TRACK ENDING TRACK FLAGS (SEE DOCUMENTATION) DATA PATTERN NUMBER USER DATA PATTERN COUNT USER DATA PATTERN CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 s s ps s o s Po s P 2101 2102 2103 2104 2105 2106 2107 2108 2109 DECLARATIONS EMS_17 EMS_18 EMS_19 EMS_20 EMS_21 EMS_22 EMS_30 EMS_42 EMS_43 NOVALUE, NOVALUE, NOVALUE, NOVALVE, NOVALUE, NOVALUVE, NOVALUE, NOVALUE, NOVALUVE; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0208 VAX-11 Bliss-16 V4.0-579 Page 12 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2) - 2432 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 000000 000000 0004490 000549 000569 “SBTTL SEQ 0209 VAX-11 Bliss-16 V4.,0-579 13 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3) 'TEST SECTION' * el12 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 3122 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TEST SECTION - e e e e 2110 2111 CZRCDBO RC2S DISK EXERCISER wuuuuuubm@bhu&bbombbubuubboobbuuuuunnnflnnpn .Qtl.l.o.c.l.l..fl.l.l...l.l.o.l.l..00.0.0.0.0.0.'...'““fl““fl”“.!..flfl.l“.t.' CZRCD3 v02.0 THIS SECTION CONTAINS THE TOP-LEVEL TEST CODE FOR THE RC25 DISK EXERCISER. THE EXERCISER CONSISTS OF ONE TEST WHICH IS SUBDIVIDED INTO A NUMBER OF SUBTESTS. ALL SUBTESTS ARE DECLARED WITHIN THIS BLOCK. BGNTST; EOP_FLAG = FALSE; IF _ENTRY_REASON NEQU NEW_PASS THEN BEGIN ! ! BGNSUB; INIT_TEST (); ENDSUB; IF START, RESTART, THEN CONT, OR PWR FAIL INITIALIZATION SUBTEST END; IF BIT_TST (SWP_FLAGS, THEN SWF_DM) ! BEGIN BGNSUB; DM_EXER (); ENDSUB; ELSE IF OPERATOR SELECTED DM EXERCISER THEN ! RUN DM EXERCISER SUBTEST END ! BEGIN OTHERWISE BGNSUB; MULTI_DRIVE (); ! RUN MULTI-DRIVE SUBTEST ENDSUB; END; DORPT; EOP_FLAG = TRUE; ! PRINT STATISTICS ! SET END-OF -PASS FLAG ENDTST; .TITLE .IDENT .ENABL CZRCD3 CZRCDBO RC25 DISK EXERCISER .PSECT $GGG$, COMM.AREA: .BLKW BST: .BLKW DPST: .BLKW ICOM.ADDR: .BLKW ;VOZ.O/ MA 220 40 10 1 RO CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TEST SECTION 000001 000000 000001 177777 000001 105613 000001 031463 000001 030221 000020 000001 000003 000007 000017 000037 000077 000177 000377 000777 001777 003777 007777 017777 037777 077777 177777 000020 177776 177774 177770 177760 .BLKW VEC.AD: .BLKW BRLEVEL : .BLKW USIZE: .BLKW DM.TIMR: .BLKW SWEEP.FLAG: .BLKB .EVEN RDM.CNT: .WORD RANDOM: .BLKW PATO2: .WORD .WORD PATO3: .WORD .WORD PATO4: .WORD .WORD PATOS: .WORD .WORD PATO6: .WORD .WORD PATO7: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD PATO8: .WORD .WORD .WORD .WORD .WORD o0 w 0€0020 .BLKW .BLKW .BLKW — 000632 000634 000674 000676 000700 000702 000704 000706 000710 000712 000714 000716 000720 000722 000724 000726 000730 000732 000734 000736 000740 000742 000744 000746 000750 000752 000754 000756 000760 000762 000764 000766 000779 000772 MX1: MX2: MAD1: MAD2: RCINTO RCINT1 RCINT2 RCINT3 o e 000000V 000000V 000000V eo s 000572 000574 000576 000600 000602 000604 000606 000610 000612 000614 000616 000620 000630 1 = 000000V R ORIN (=X~ 000570 1 n 000566 1 ' 000564 IENV.ADDR: .BLKW ICST.ADDR: .BLKW IDCT.ADDR: .BLKW INT.ADDR: .WORD .WORD .WORD .WORD ICTLR: .BLKW ~J 000562 SEQ 0210 VAX-11 Bliss-16 V4.0-579 P 14 ge USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 (3) CZRCD3 v02.0 000774 000776 001000 001002 001004 001006 001010 001012 001014 001016 001020 001022 001024 001026 001030 001032 001034 001036 001040 001042 001044 001046 001050 001052 001054 001056 001060 001062 001064 001066 001070 001072 001074 001076 001100 001102 001104 001106 001110 001112 001114 001116 001120 001122 001124 001126 001130 001132 001134 001136 001140 001142 001144 001146 001150 001152 001154 R CZRCDBO RC25 DISK EXERCISER TEST SECTION 177740 177700 177600 177400 177000 176000 174000 170000 160000 140000 100000 000000 000020 000000 000000 000000 177777 177777 177777 000000 000000 177777 177777 0C0000 177777 000000 177777 000000 177777 000001 133331 000020 052525 052525 052525 125252 125252 125252 052525 052525 125252 125252 052525 125252 052525 125252 052525 125252 000024 026455 026455 026455 151322 151322 151322 026455 026455 PATO09: PAT10: PAT11: PAT12: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .HORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD -40 -100 -200 -400 -1000 -4000 SEQ 0211 VAX-11 Bliss-16 V4.0-579 P age 15 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3 CZRCD3 CZRCDBO RC25 DISK EXERCISER TEST SECTION v02.0 001156 001160 001162 001164 001166 001170 001172 001174 001176 001200 001202 001204 001206 001210 001212 001214 001216 001220 001222 001224 001226 001230 001232 001234 001236 001240 001242 001244 001246 001250 001252 001254 001256 001260 001262 001264 001266 001270 001272 001274 001276 001300 001302 001304 001306 001310 001312 001314 001316 001320 001322 001324 001326 001330 001332 001334 00132¢ 151322 151322 026455 026455 151322 026455 151322 026455 151322 026455 151322 026455 000001 066666 000020 000001 000002 000004 000010 000020 000040 000100 000200 0C0400 001000 002000 004000 010000 020000 040000 100000 000020 177776 177775 177773 177767 177757 177737 177677 PAT13: PAT14: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD PAT1S: 177577 177377 176777 175777 173777 167777 157777 137777 077777 000020 133331 133331 133331 155554 155554 155554 133331 133331 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 PAT16: .WORD .WORD .WORD .WORD .WORD .WORD .WORD -WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD -26456 -26456 26455 26455 -26456 26455 -26456 26455 -26456 26455 -26456 26455 66666 20 10 20 100 200 400 1000 2000 4000 10000 20000 40000 -100000 -2 -3 -5 -11 -2l -41 -101 -201 -401 -1001 -2001 -4001 -10001 -20001 -40001 77777 -44447 -44447 -44447 -22224 -22224 -22224 -44447 -44447 SEQ 0212 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 16 (3) CZRCD3 CZRCDBO RC25 DISK EXERCISER vo2.0 001340 001342 001344 001346 001350 001352 001354 001356 001360 001362 001364 001366 001370 001372 001374 001376 001400 001402 001404 001406 001410 001412 001414 001416 001420 001422 001424 001426 001430 001432 001434 001436 001440 001442 001444 001446 001450 001452 001454 001456 001460 001462 001464 001466 001470 001472 001474 001476 001500 001502 001504 001506 001510 001512 001514 001516 001520 b 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TEST SECTION 155554 155554 133331 155554 133331 155554 133331 155554 000025 000000 106466 106466 PAT17: 071311 071311 071311 106466 106466 106466 106466 071311 071311 071311 071311 071311 106466 106466 106466 106466 106466 106466 000025 106466 000000 071311 106466 106466 106466 071311 071311 071311 071311 106466 106466 106466 106466 106466 071311 071311 071311 071311 071311 071311 000025 000000 134631 134631 043146 PAT18: PAT19: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD -22224 -22224 -44447 -22224 -44447 -22224 -44447 -22224 -71312 -71312 71311 71311 71311 -71312 -71312 -71312 -71312 71311 71311 71311 71311 71311 -71312 -71312 -71312 -71312 -71312 -71312 -71312 0 71311 -71312 -71312 -71312 71311 71311 71311 71311 -71312 -71312 -71312 -71312 -71312 71311 71311 71311 71311 71311 71311 25 -43147 -43147 43146 SEQ 0213 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 age 17 (3 CZRCD3 v02.0 001522 001524 001526 001530 001532 001534 001536 001540 001542 001544 001546 001550 001552 001554 001556 001560 001562 001564 001566 001570 001572 001574 001576 001600 001602 001604 001606 001610 001612 001614 001616 001620 001622 001624 001626 001630 001632 001634 001636 001640 001642 001644 001646 001650 001652 001654 001656 001660 001662 001664 001666 001670 001672 001674 001676 001700 0017¢2 i CZRCDBO RC25 DISK EXERCISER TEST SECTION 043146 043146 134631 134631 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WCRD .WORD .WORD .WORD .WORD .WORD 43146 43146 -43147 -43147 -43147 -43147 43146 43146 43146 43146 43146 -43147 -43147 -43147 -43147 -43147 -43147 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD -43147 0 43146 -43147 -43147 -43147 43146 43146 43146 43146 -43147 -43147 -43147 -43147 -43147 43146 43146 43146 43146 43146 43146 .WORD DPA.TBL: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD RDM. CNT PATO2 PATO3 PATO4 PATOS PATO06 PATO7 FATO8 PATO09 PAT10 PAT11 PAT12 PAT13 PAT14 PAT1S PAT16 134631 134631 043146 043146 043146 043146 043146 134631 134631 134631 134631 134631 134631 000025 134631 000000 043146 134631 134631 PAT20: 134631 043146 043146 043146 043146 134631 134631 134631 134631 134631 043146 043146 043146 043146 043146 043146 000001 000000 000632* 000674 000700° 000704 000710* 000714 000720 000762 001024 001066 001072* 001134 001206 001212° 001254 001316* 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 PAT21: .WORD .WORD SEQ 0214 VAX-11 Bliss-16 V4.0-579 Page 18 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3) CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 001752 001754 001756 001760 001762 001764 001766 001770 001772 001774 001776 002000 002002 002004 002006 002010 002012 002014 002016 002020 002022 002024 002026 002030 002032 002034 002036 002040 002042 002044 002046 002050 002052 002054 002056 002060 002062 002064 007760 0C2754 000000 000000 000000 000000 000000 000000 000235 000000 000000 104204 007774 104140 002752 104204 002751 104203 007000 104647 000001 104641 000002 104142 060020 102207 000037 052754 104077 007006 032305 000000 000000 000000 000000 CROMP: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD W w 001746 001750 001360 001434 001510 001564 001640 000140 000000 000472 000000 051103 046517 020120 000001 000013 000000 000000 000000 000000 000000 000000 000000 104206 oomnOo 0000 001704 001706 001710 001712 001714 001716 001720 001722 001724 001726 001730 001732 001734 001736 001740 001742 001744 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TEST SECTION SEQ 0215 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 P age 19 (3) CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 002066 002070 002072 002074 002076 002100 002102 002104 002106 002110 002112 002114 002116 002120 002122 002124 002126 002130 002132 002134 002136 002140 002142 002144 002146 002150 002152 002154 002156 002160 002162 002164 002166 002170 002172 002174 002176 002200 002202 002204 002206 002210 002212 002214 002216 002220 002222 002224 002226 002230 002232 002234 002236 002240 002242 002244 002246 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TEST SECTION 000000 000000 104207 007000 104201 000002 104202 002740 107027 107017 105012 060011 027107 027203 027146 114000 007005 114000 007776 114000 007776 104077 104206 0C7760 104301 007005 104610 007234 007767 115000 007767 077076 027120 104200 007051 002750 002740 027146 115000 007265 057051 104200 177777 007004 027130 027146 115000 007265 017071 114000 007004 027130 007051 027162 027203 114000 007264 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD -73571 -73577 -73576 2740 -70751 -70761 -72766 60011 27107 27203 27146 -64000 7005 -64000 7776 -64000 7776 -73701 -73572 7760 -73477 7005 -73170 7234 7767 -63000 7767 77076 27120 -73600 7051 2750 2740 27146 -63000 7265 57051 -13600 7004 27130 27146 -63000 7265 17071 -64000 7004 27130 7051 27162 27203 -64000 7264 SEQ 0216 VAX-11 Bliss-16 V4.0-579 P age 20 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3 CZRCD3 CZRCDBO RC25 DISK EXERCISER TEST SECTION v02.0 002250 002252 002254 002256 002260 002262 002264 002266 002270 002272 002274 002276 002300 002302 002304 002306 002310 002312 002314 002316 002320 002322 002324 002326 002330 002332 002334 002336 002340 002342 002344 002346 002350 002352 002354 002356 002360 002362 002364 002366 002370 002372 002374 002376 002400 002402 002404 002406 002410 002412 002414 002416 002420 002422 002424 002426 002430 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 027216 115400 007005 106200 000003 007005 037031 114000 007005 007031 104207 007002 104201 000002 060023 102207 000037 057107 000000 104307 27215 -WORD -WORD -WORD 7005 37031 -64000 7005 7031 -73571 7002 -73577 2 60023 -75571 57107 0 -73471 7005 007005 104201 000005 060031 104010 007001 000000 104307 007002 105207 000060 114001 104202 000001 104203 007004 060021 102207 000037 057130 000000 104307 007002 114001 104202 000032 104203 007234 060020 102207 000037 057146 000000 104200 000004 007000 104207 -62400 7005 571600 -73577 60031 -73770 7001 WORD -WORD -73471 7002 -72571 -63777 -73576 1 -73575 7004 60021 -75571 57130 0 -73471 7002 -WORD -WORD -63777 -73576 -73575 7234 60020 -75571 57146 0 -73600 7000 -73571 VAX-11 Bliss-16 V4.0-579 SEQ 0217 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 P 21 (3) CZRCD3 CZRCDBO RC25 DISK EXERCISER vo2.0 002432 002434 002436 002440 002442 002444 002446 002450 002452 002454 002456 002460 002462 002464 002466 002470 002472 002474 002476 002500 002502 002504 002506 002510 002512 002514 002516 002520 002522 002524 002526 002530 002532 002534 002536 002540 002542 002544 002546 002550 14-Jun-1985 09:41:21 14-Jun-1985 09: 33:42 TEST SECTION 002743 104301 007001 104272 105612 007240 100612 007240 115401 117400 007000 037171 000000 114000 002743 114000 002744 114000 002745 114000 002746 114000 002747 0C0000 104307 007002 105207 000010 114001 104202 000025 104203 007240 060021 102207 000037 057216 000000 143367 000000 SEQ 0218 VAX-11 Bliss-16 V4.0-579 Page 22 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3) -64000 2747 0 -73471 7002 -725711 10 -63777 -73576 25 -73575 7240 60021 -75571 37 57216 0 -34411 0 PATCH, CPT, CST, CST.ADDR, DCT DCT.ADDR, RC25.ADDR, IRC2S.ADDR DM.COMM, DMC.ADDR, RP.SAVE, RPS.X1 RPS.X2, OUTC.LIST, OUTC.TIMR, OCL.X1 OCL.X2, TALLY, T.ADDR, MSCP.ENV ENV.USE, RETPKT, RP.USE, RP.INDX RP.ADDR, BUFF.DESC, BUFF.OWN, I0DQ I0DQ.IN, IODQ.OUT, ENTRY.REASON T.FLAG, EOP.FL MEM.MGMT,AG, IIP.FLAG CCTLR, CPLAT, CUOFF, CTLR.CNT DUR, QIO, MEM.SIZE, FREE.MEM.ADDR BUFF .SIZE, NUM.BUFF, CLK.TYPE CLK.HERTZ, CLK.CSR, CLK.VECTOR HOURS, MINUTES, SECONDS, TICKS ST.CODE, SB.CODE, STEP, OF .RC CZRCD3 CZRCDBO RC25 DISK EXERCISER TEST SECTION v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 000040 000037 000036 000035 000034 000340 000300 BIT1S== BIT14== BIT13== BIT12== BIT11== BIT10== BIT09== BIT08== BITQ7== BIT06== BITOS== BITO4== BITO3== BITO2== BITO1== BITOO== BIT9== BIT8== BIT7== BIT6== BITS== BIT4== BIT3== BIT2== BITl== BITQ== EF .START == EF .RESTART == EF .CONTINUE== EF .NEW== EF .PWR== PRIO7== PRIO6== SA.REG, NEX, CRN, MSG.02, MSG.03 MSG.04, MSG.0S, MSG.06, MSG.08 EGD.10, EGD.11, EGD.12. EGD.13 €GD.14, EGD.1S. EGD.16. EGD.17 EGD.18, EGD.19, EGD.20. EGD.21 EGD.22, EGH.30, STC.00. STC.O1 STC.02, STC.03, STC.04, STC.0S STC.06, STC.07. STC.08. STC.09 STC.10, STC.11, EX.CRN. EX.SB EX.EL, EX.PA, EX.FMT, EX.EVC, EX.HMA EX.03, SWP.STRACK, SWP.ETRACK SWP.FLAGS, SWP.DPAT, SWP.UCNT SWP.UDPAT, L$HIMEM, LSUNIT, LSLUN NEX.TRAP, COPY.BLK. SET.CPAR, SET.UPAR GET.ENV, PUT.ENV, GET.RETPKT. PUT.RETPKT GET.IO0.BUFF, PUT.I0.BUFF, PUTA.BUFF OUT.IODQ, IN.IODQ, DROP.CTLR, DRV.CTLERR HARD.ERR, UPD.IOC, OVF.CHK, XFR.CHK SEND, WAIT, EMS.10, EMS.12. EMS.13 EMS.14, EMS.15, EMS.16, EMS.17 EMS.18, EMS.19, EMS.20. EMS.21 EMS.22, EMS.30., EMS.42. EMS.43 -100000 40000 20000 10000 4000 2000 1000 400 200 100 300 SEQ 0219 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 23 (3) F -4 CZRCD3 = = CZRCDBO RC25 DISK EXERCISER TEST SECTION V(2.0 SEQ 0220 VAX-11 Bliss-16 v4.0-579 Page 24 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3) 14-Jun-1985 09:41: 21 14-Jun-1985 09: 33:42 PRIOS== PRIOA== PRIO3== PRIO2== PRIO1== PRIOO== EVL== LOT== ADR== IDUY== ISR== UAM== BOE== PNT== PRI== IXE== IBE== IER== LOE== HOE== $T1 TEST SECTION $CODE$, RO 000070 000072 000074 000102 105037 123727 001406 104402 004737 104467 006000 103772 132737 001407 104402 004737 104467 006000 103007 000771 104402 004737 104467 006000 103772 104424 112737 000207 0000006 000000G 000005 $T1: EOP.FLAG ENTRY.REASON #5 , 2 2 1s: 000000V PC,INIT.TEST 67 RO 13 #2,SWP .FLAGS 43 2 PC.DM.EXER 67 RO 5 33 TRAP 000001 000000G Ss: BLO TRAP MOve RTS 2 PC.MULTI.DRIVE 67 RO 2120 2121 : : 2123 pu 2126 : 2131 : 2133 : 2136 3 2141 : 2144 3 24 &1 .EO0P .FLAG PC : Routine Size: 34 words, Rout ine Bese: $CODES i Meximum steck depth per invocetion: 2 words .SBTTL 3 : T1 TEST SECTION : : : 2147 : 2150 2109 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 000000 000000 000004 000006 000010 000012 ;: : 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TEST SECTION 004737 000000° 104466 006000 103773 000207 Routine Size: 6 words, Maximum stack depth per Tz 18: Rout ine Base: invocation: 2 words JSR TRAP ROR BLO RTS $CODES$ PC,$T1 66 RO 13 PC + 0104 SEQ 0221 VAX-11 Blies-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 25 (3) 2150 2153 2154 2155 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 CZRCDBO RC2S DISK EXERCISER INITIALIZATION SUBTEST ROUTINES o-mmmmuuoamwmomommoouubbAuuuuummnnwuwmnnnnunnuo-nnnnn»npn» ..U-.o.onlQi.o.c”..n.i.l.a".o.n.o.-.-.-Qc.l-'.ll..o.o.c.o“.o.o.oolll“.ufl“u.o“.ofl“u.c“un.oflu“u CZRCD3 v02.0 SSBTTL 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0222 VAX-11 Bliss-16 V4.0-579 P 26 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (4) 'INITIALIZATION SUBTEST ROUTINES' ROUTINE INIT_TEST : NOVALUE = THE INITIALIZATION SUBTEST IS DESIGNED TO VERIFY THE EXISTENCE OF THE DEVICES AS CONFIGURED BY THE OPERATOR DURING THE HW DIALOG, AND TO BRING EACH DEVICE ONLINE IN PREPARATION FOR EITHER THE MULTI-DRIVE SUBTEST OR THE DM EXERCISER SUBTEST. BASICALLY, THE DEVICES ARE BROUGHT ONLINE VIA "DRIVER_INIT”, WHICH IS INVOKED IMMEDIATELY. ANY DEVICES WHICH FAIL DURING THIS PHASE WILL BE MARKED OFFLINE IN THEIR DCT AND CST. FOR THOSE DEVICES WHICH SURVIVE THE INITIALIZATION, THIS ROUTINE WILL ATTEMPT 1 OR 2 ACCESS COMMANDS TO EACH PLATTER VIA ROUTINE "ACCESS”. THE INITIALIZATION SUBTEST IS DEEMED A SUCCESS IF A BLOCK ON THE INNER TRACK OF EACH PLATTER CAN BE ACCESSED. BEGIN IF MANUAL THEN PRINTF (MSG_04); IIP_FLAG = TRUE; DRIVER_INIT (); INCR CTLR FROM 0 TO (MAX_CTLR BEGIN IF ATTENDED THEN “INIT SUBTEST START* SET INIT-IN-PROGRESS FLAG INIT DRIVER DATA AND DEVICES FOR EACH CONTROLLER 1) DO SET_CPAR (.CTLR); IF _CST_ADDR [STATE] EQLU ONLINE THEN BEGIN ! SET UP COMMONLY-USED CONTROLLER-RELATED DATA ITEMS ! IF CONTROLLER IS STILL ALIVE ! THEN INCR OFFSET FROM (O « OF UN) TO (3 + OF_UN) DO BEGIN ! FOR EACH PLATTER IF (C.CST_ADDR [.OFFSET, P_PRES]) EQLU PRESENT) AND (.CST_ADDR [.OFFSET, P_STAT] EQLU ONLINE)) THEN BEGIN SET_UPAR (.OFFSET); ACCESS (); ! ! SET UP UNIT-RELATED DATA ITEMS END; ! IF UNIT IS PRESENT AND ONLINE END; END; END; TRY ACCESS TO INNER TRACK ! UNIT LOOP ! IF CONTROLLER IS ONLINE ! CONTROLLER LOOP IIP_FLAG = FALSE; ! END; ! ROUTINE INIT_TEST CLEAR INIT-IN-PROGRESS FLAG CZRCD3 v02.0 CZRCDBO RC2S DISK EXERCISER INITIALIZATION SUBTEST ROUTINES : 000000 004137 000004 000006 000010 000014 000020 000022 000024 000026 000034 000040 000042 000044 000050 000054 000060 000062 000066 000070 000072 000076 000102 000104 000110 000112 000114 000120 000124 000126 000132 000134 000136 000140 000144 000146 000152 104450 103007 012746 012746 010600 104417 022626 112737 004737 005002 010246 004737 013700 005760 100025 012701 010100 006300 0€3700 032710 001410 032710 001405 010116 004737 004737 005201 020127 003755 005726 005202 020227 003736 105037 000207 0000006 0000006 000001 000001 000000G 000000V 000000G 000000G 000002 000003 000000G 040000 020000 000000G 000000V 000006 000003 0000006 .SBTTL INIT.TEST: JSR TRAP BHIS MOV MOV MOV TRAP CMP 1$: MOVB JSR CLR 28: MOV JSR MOV ST BPL MOV 3s: MOV ASL ADD BIT BEQ BIT BEQ MOV JSR JSR 4%: INC CcMP BLE S$: ST INC CMP BLE CLRB RTS Routine Size: 54 words, Routine Base: $CODE$ Maximum stack depth per invocation: 7 words { S— SEQ 0223 VAX-11 Bliss-16 v4.0-579 Page 27 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (4) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 INIT.TEST INITIALIZATION SUBTEST R1,$SAVE2 S50 1 #MSG.04,-(SP) #1,-(SP) SP,RO 17 (SP)+,(SP)+ #1,IIP.FLAG PC,DRIVER. INIT R2 R2,-(SP) PC,SET.CPAR CST.ADDR,RO 2(RO) S$ #3,R1 R1,RO RO CS7.ADDR,RO #40000,(RO) 4 #20000,(RO) 43 R1,(SP) PC,SET.UPAR PC,ACCESS R1 R1,%6 3s (SP)« R2 R2,#3 2% IIP.FLAG PC + 0120 ROUTINES P ; 2155 2174 ; 2176 ; SP,» F s ; CTLR ; CTLR,* 2177 2178 2179 2182 : 2183 ; ; #,0FFSET OFFSET,=s - H 2191 ; OFFSET,» P ; ; OFFSET OFFSET,* : ; ; CTLR CTLR,* 3 ; 2187 2190 2195 2196 2187 2180 2179 2206 2155 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES : B b H H : i H b B H 5 H H H i H : B H H H H H : H H B H 5 b 4 H H H H b H H ; H H B B 3 s b H H H i i B H H {S— 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 ROUTINE DRIVER_INIT SEQ 0224 P age 28 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3) VAX-11 Bliss-16 V4.0-579 : NOVALUE = * B H &&UNJIOO'N\l\Js‘NOU\OOU'UIUlOb&&b&ObNU‘O‘NNNNuuu“umuu“NNNNNNNFF‘PPHhMM v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS EQUIVALENT IN FUNCTION TO THE INITIALIZATION ENTRY POINT OF A STANDARD DEVICE DRIVER. ITS RESPONSIBILITY IS TO INITIALIZE DRIVER DATA, AND TO BRING EACH RC25 CONTROLLER AND UNIT ONLINE. BEGIN LOCAL ENV_ADDR; ENV_ADDR = MSCP_ENV + 8; INCRBEgng FROM 0 TO CENV_CNT ! ADDR (TEXT + 0) OF FIRST MSCP ENVELOPE ! FOR EACH MSCP ENVELOPE - 1) DO ENV_USE [.COUNT] = -1; MSCP_ENV [.COUNT, ENV_LO] = .ENV_ADDR; MSCP_ENV [.COUNT, ENV_HI] = 0; MSCP_ENV [.COUNT, ENV_F] = 1; MSCP_ENV [.COUNT, ENV_O0] = 1; ENV_ADDR = .ENV_ADDR + (ENV_LEN % 2); ! ! MARK ENVELOPE FREE LOAD ENVELOPE ADDR INTO ENV DESCRIPTOR ! SET FLAG BIT ! SET OWNERSHIP BIT ! ADVANCE ADDR TO NEXT ENVELOPE END; INCR CTLR FROM O TO (MAX_CTLR - 1) DO BEGIN IF .CET [.CTLR, IP_ADDR] NEQA 0 THEN BEGIN ! FOR EACH CONTROLLER ! SET_CPAR (.CTLR); VEC_AD = .CST_ADDR [VEC_ADDR]; BRLEVEL = .CST_ADDR [BR_LEV] t 5; CTLR_INIT (); IF .DCT_ADDR [STAT] EQLU ONLINE THEN IF CONTROLLER IS PRESENT THEN SET UP CURRENT CONTROLLER PARAMETERS SET CURRENT CONTROLLER'S VECTOR ADDRESS SET CURRENT CONTROLLER'S BR LEVEL INIT DEVICE AND CTLR DATA IF CONTROLLER IS STILL ALIVE THEN BEGIN INCR OFFSET FROM (O + OF _UN) TO (3 + OF_UN) DO BEGIN IF .CST_ADDR [.OFFSET, P_PRES] EQLU PRESENT THEN BEGIN FOR EACH UNIT (PLATTER) ! IF UNIT EXISTS ! THEN SET_UPAR (.OFFSET); UNIT_INIT (); ! ! SET UP UNIT-RELATED DATA ITEMS BRING UNIT ONLINE END; ! IF UNIT EXISTS END; END; ! ! ! UNIT LOOP IF CONTROLLER IS STILL ALIVE CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2266 2267 2268 2269 2270 =N W o o @ o o v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 END; ! END; 004137 000000G 000004 000010 000012 000020 000022 000026 000032 000036 000042 000044 000050 000054 000056 000060 000064 000066 000070 000072 000076 000102 000104 000110 000112 000114 000120 000124 000132 000140 000142 000146 000152 000156 000162 000166 000172 000174 000200 000202 000204 000210 000214 000216 000220 000224 000230 000232 000236 012702 005001 112761 010146 012746 004737 010260 062700 005010 052710 062702 022626 005201 020127 003752 005002 010246 012746 004737 022626 005760 001454 010246 004737 013700 016037 042737 005016 116016 012746 004737 010037 004737 005777 100022 012701 010100 006300 063700 032710 001405 010116 004737 004737 005201 020127 003760 000010G 000377 ! ROUTINE DRIVER_INIT 000000G .SBTTL DRIVER.INIT: JSR MOV CLR 1s: MOV MOV MOV JSR MOV ADD 000104 0000006 000000G 000002G CLR 140000 000104 BIS ADD 000137 000016 000000G 2%: cMP INC CMP BLE CLR MOV MOV JSR CcMP TST BEQ 000000G MOV JSR MOV MOV 000000G 000000G 000002 000612’ 000612' 177000 BIC CLR MOVB 000004 000005 0000006 000614 000000V 000000G MOV JSR 3s: MOV JSR TST BPL MOV MOV ASL ADD BIT BEQ MOV 4: JSR JSR INC CMP BLE 000003 000000G 040000 0000006 000000V 000006 IF CONTROLLER IS PRESENT ! CONTROLLER LOOP END; 000000 SEQ 0225 VAX-11 Bliss-16 V4.0-579 Page 29 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (5) DRIVER.INIT INITIALIZATION SUBTEST ROUTINES R1,$SAVE2 ;TSCP.ENVOIO.RZ @377 ,ENV.USE(R1) €104, -(SP) PC,BL$MUL R2 ,MSCP.ENV(RO) #MSCP.ENV+2,R0 +,ENV.ADDR COUNT *,*(COUNT) COUNT, * ENV.ADDR, 2228 (RO) #140000, (RO) #104 ,R2 (SP)+,(SP)+ R1 R1,%137 1s R2 #16,-(SP) PC,BL$MUL (SP)+,(SP)+ CST(RO) 64 R2,-(SP) PC,SET.CPAR CST.ADDR,RO 2(R0O),VEC.AD #177000,VEC.AD (SP) 4(RO),(SP) PC,BL$SHF RO,BRLEVEL PC,CTLR.INIT aDCT.ADDR 5 #3,R1 R1,RO RO CST.ADDR,RO #40000,(RO) 4% R1,(SP) PC,SET.UPAR PC,UNIT.INIT R1 R1,#6 3 2209 2222 2223 2226 2227 *,ENV.ADDR COUNT COUNT, * 2230 2231 2224 2223 CTLR CTLR,* 2235 2238 CTLR,» 2242 2243 2244 2245 2246 OFFSET,+ *,0FFSET 2250 2253 OFFSET,» 2257 OFFSET OFFSET, + 2258 2250 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 000240 000242 000244 000250 000252 INITIALIZATION SUBTEST ROUTINES 022626 005202 020227 003707 000207 ; Routine Size: CcMP INC CMP BLE RTS 86 words, : Maximum stack depth per (S— 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 Rout ine Base: invocation: $CODE$ (SP)+,(SP)+ R2 R2,#3 2% PC + 0274 SEQ 0226 VAX-11 Bliss-16 V4.0-579 Page 30 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (S) H ; CTLR ; H CTLR,* 2240 2235 2209 b 14-Jun-1985 09:41:21 INITIALIZATION SUBTEST ROUTINES ROUTINE CTLR_INIT 14-Jun-1985 09:33:42 SEQ 0227 P age 31 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 6) VAX-11 Bliss-16 V4.0-579 : NOVALUE = - 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 CZRCDBO RC25 DISK EXERCISER NN“U‘WU‘O‘NNNN“umuuNNNNNNNNNNNN.-.FHPHMHHHFFD‘PHHH.-"‘PFF.‘O‘MHO-'.-.F.F uuuu“-fiuw.’-c...-.afl.-00.0.nm.-.l.o.o.c..“uunuu““uuuu“.fl““uflflfln““u.l.o.‘.-.o...c.. CZRCD3 v02.0 THIS “DRIVER” ROUTINE IS CALLED FROM DRIVER_INIT FOR EACH CONTROLLER CONFIGURED FOR TESTING. ITS GENERAL PURPOSE IS TO BRING THE RC25 ONLINE TO THE HOST. SPECIFICALLY, IT IS WRITTEN TO: 1. 2. INITIALIZE DRIVER CONTROLLER DATA, INCLUDING THE DCT, SET UP THE DEVICE'S INTERRUPT VECTOR ADDRESS, (NOTE THAT RC25 INTERRUPT PROCESSING RUNS AT LEVEL S FOR ALL RC25'S. THIS IS BASED ON THE ASSUMPTION THAT ALL RC25'S WILL HAVE A FIXED BR LEVEL OF 5 OR LESS. INTERRUPT PROCESSING CANNOT BE BROKEN WITH A HIGHER PRIORITY INTERRUPT FROM ANOTHER RC2S.) 3. PERFORM A REGISTER EXISTENCE TEST TO VERIFY THE DEVICE'S PRESENCE, 4. PERFORM A VECTOR AND BR LEVEL TEST TO VERIFY THE DEVICE'S VECTOR ADDRESS AND INTERRUPT REQUEST LEVEL, 5. DO A HARD INITIALIZATION (FOUR STEPS) ON THE DEVICE. IF ANY OF THESE INITIAL TESTS FAIL, DEVICE ARE DROPPED. THEN ALL UNITS ASSOCIATED WITH THE IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER VEC_AD - ASSUMED VECTOR ADDRESS OF THE CURRENT CONTROLLER DCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST RC25_ADDR - ADDRESS OF CURRENT CONTROLLER'S IP REGISTER BEGIN LOCAL RESULT : WORD; INI_CTLR_DAT (); SETVEC (.VEC_AD, .INT_ADDR [.CCTLR], PRIOS); DCT_ADDR [IG_INT] = YES; L$LUN = .CST_ADDR [OF_UN, P_UNIT]; INITIALIZE CONTROLLER DATA SET DEVICE'S ASSUMED VECTOR ADDRESS SET "IGNORE INTERRUPT” BIT GET FIRST UNIT NUMBER OF CONTROLLER IF REG_EXIST () EQLU FAILURE THEN BEGIN REGISTER EXISTENCE TEST. THEN DROP_CTLR (.CCTLR, RETURN; DU_INIT); (USED BY DRS FOR ERROR REPORTING) IF FAILURE ! DROP ALL CONTROLLER'S UNITS ! ! VECTOR ADDR AND BR LEVEL TEST. THEN END; IF VEC_BR_TEST () EQLVU FAILURE THEN BEGIN DROP_CTLR (.CCTLR, DU_INIT); RETURN; END; ! DROP ALL CONTROLLER'S UNITS IF FAILURE CZRCD3 v02.0 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 RO WWWWWWWHWWWND NN CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 000000 010146 000002 000006 000012 000016 000020 000024 000030 000034 000036 000044 000050 000054 000056 000062 000066 000072 000074 000076 000102 000104 000106 000112 000116 000122 000126 000130 000134 000142 000146 000150 000156 000162 000170 000174 0C4737 012746 013700 006300 016046 013746 012746 104437 052777 013700 016001 000301 042701 010137 004737 005700 001404 004737 005700 001011 013716 012746 004737 062706 000444 004737 042777 020027 001023 052777 013700 052760 004737 012701 SEQ 0228 VAX-11 Bliss-16 V4.0-579 Page 32 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (6) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 RESULT = HARD_INIT (); DCT_ADDR [IG_INT] = NO; IF _RESULT EQLY SUCCESS THEN BEGIN ATTEMPT HARD DEVICE INIT CLEAR "IGNORE INTERRUPT” BIT %;Enlflo INIT WAS SUCCESSFUL DCT_ADDR [STAT] = ONLINE; CST_ADDR [STATE] = ONLINE; INI_RRING (); WRT_RC25 (RCSA, RC_ALL, SA_GO); SET_CTLR_CHAR (); MARK CONTROLLER ONLINE IN “DRIVER” MARK CONTROLLER ONLINE IN “PROGRAM” INITIALIZE RESPONSE RING SET "GO” BIT (START CTLR POLLING) SET CONTROLLER CHARACTERISTICS END ELSE ! DROP_CTLR (.CCTLR, DU_INIT); END; 000000V 000240 0000006 000570 000612 000003 040000 000000G 0000006 000006 177740 000000G 000000V 000000V 0000006 000002 0000006 000012 000000V 040000 000000G 000001 100000 000000G 000000G 100000 000002 000000V 000001 HARD INIT FAILED ! DROP ALL CONTROLLER'S UNITS ! ROUTINE CTLR_INIT .SBTTL CTLR.INIT: MOV JSR MOV MOV ASL MOV MOV MOV TRAP BIS MOV MOV SWAB BIC MOV JSR TST BEQ JSR TST BNE 1$: MOV MOV JSR ADD BR 2%: JSR BIC CMP BNE BIS MOV BIS JSR MOV CTLR.INIT INITIALIZATION SUBTEST ROUTINES R1,-(SP) PC,INI.CTLR.DAT #240,-(SP) : : : 2271 2305 2306 RO INT.ADDR(RO),-(SP) VEC.AD,-(SP) @3,-(SP) 37 #40000,80CT.ADDR CST.ADDR,RO i : 2307 2308 :g.REG.EXIST : 2310 1s PC,VEC.BR.TEST RO 2% CCTLR, (SP) H : 2314 2319 H 2323 CCTLR,RO 6(RO),R1 R1 #177740,R1 R1,LSLUN PC,DROP.CTLR #12,SP 5 PC,HARD. INIT #40000,890CT.ADDR RO,#1 3 #10080CT 000, .ADDR CST.ADDR,RO #100000,2(RO) PC,INI.RRING #1,R1 RESULT,* 2334 2335 i : : 2324 2321 2328 2329 2330 *,RC.REG 2336 2337 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 INITIALIZATION SUBTEST ROUTINES 000232 000234 000240 000242 013700 010160 004737 000407 013716 012746 004737 005726 062706 012601 000207 0000006 000002 000000V 0000006 000002 0000006 34: 000010 4 : S$: MOV MOV JSR BR MOV RC25.ADDR,RO R1,2(RO) Pr,SET.CTLR.CHAR as CCTLR, (SP) JSR TST ADD MOV RTS PC,DROP.CTLR (SP)+ #10,5P (SP)+,R1 PC ; Routine Size: 82 words, Rout ine Base: $CODE$ + 0550 ; Maximum stack depth per invocation: 7 words SEQ 0229 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 33 (6) ; RC.REG,#* 3 H 3 3 3 2338 2330 2343 2300 2271 CZRCD3 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 INITIALIZATION SUBTEST ROUTINES : ROUTINE INI_CTLR_DAT : NOVALUE = 2346 2347 2348 ;. : 2349 2350 B 2353 2351 : ;2352 2354 3 2355 3 2356 H 23N s 2358 3 ;2359 2360 H 2361 3 2362 H 2363 3 2364 3 2365 H : 3 3 H 3 ) 3 H ; H : H 3 2366 2367 2368 2369 2370 23N 2372 2373 2374 2375 2376 2377 2378 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 P 34 o N THIS ROUTINE IS RESPONSIBLE FOR INITIALIZING ALL CONTROLLER-RELATED DATA IN THE “DRIVER” PORTION OF THE EXERCISER. THIS INCLUDES THE CONTROLLER'S DCT AND OUTSTANDING COMMAND LIST. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER DCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT OCL_X1, OCL_X2 - STARTING AND ENDING INDECES OF CURRENT CONTROLLER’S OUTSTANDING COMMAND AREA BEGIN INCR INDEX FROM .OCL_X1 TO BEGIN .OCL_X2 DO OUTC_LIST [.INDEX] = -1; OUTC_TIMR [.INDEX] ! INIT OUTSTANDING CMD LIST = 0; ! ZERO OUT OUTSTANDING CMD TIMERS END; DCT_ADDR DCT_ADDR DCT_ADDR DCT_ADDR DCT_ADDR DCT_ADDR DCT_ADDR [WORDO] = 0; [RR_BEG] = COMM_AREA + 8 + (.CCTLR * COMM_LEN # 2); [RR_END] = .DCT_ADDR [RR_BEG) + C(CRRING_LEN - 1) * 4); [CR_BEG) = .DCT_ADDR [RR_END] + 4; [CR_END] = .DCT_ADDR [CR_BEG) + CCCRING_LEN - 1) & 4); [RR_POLL]) = .DCT_ADDR [RR_BEG]; [CR_POLL] = DCT_ADDR [CR_NEXT] = .DCT_ADDR [CR_BEG]; 1 ! ! ! ! ! ! CLEAR FIRST DCT WORD START OF RESPONSE RING LAST SLOT IN RESPONSE RING START OF COMMAND RING LAST SLOT IN COMMAND RING FIRST RRING SLOT TO POLL CRING POLL AND NEXT COMMAND POINTERS END; 000000 004137 0000006 000004 000010 000012 000014 000022 000024 000026 000032 000034 000040 000042 000046 000050 000054 000056 000062 000066 000072 000076 013701 005301 000407 112761 010100 006300 005060 005201 020137 003765 013701 005011 012702 060102 013746 012746 004737 062700 010012 0000006 hoe 14-Jun-1985 09:33:42 SEQ 0230 + s 3 20 1O O D PO RO IO O N T G G G G GO 1O T 10 = (s et e ot et s ot s (ot et e e v02.0 VAX-11 Bliss-16 V4.0-579 000377 .SBTTL INI.CTLR.DAT: JSR MOV ggc 000000G 1¢: 0000006 000000G 0000006 000004 000000G 000110 000000G 000010 24: MOVB INI.CTLR.DAT INITIALIZATION SUBTEST ROUTINES R1,$SAVE2 OCL.X1,R1 5% #377,0UTC.LISTC(R1) 3 ; *,INDEX : INDEX 2346 2362 : *,4(INDEX) ASL CLR INC gr: R1,.RO : INDEX,* 2365 2366 zl.OCL.XZ : INDEX ; INDEX,» 2362 MOV CLR MOV ADD MOV MOV JSR ADD MOV DCT.ADDR,R1 (R1) #4 ,R2 R1,.R2 CCTLR, -(SP) #110,-(SP) PC,BL$MUL #COMM. AREA+10,R0O RO,(R2) : 2370 : 2371 MOV RO OUTC.TIMRCRO) R1 $ CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES v02.0 000100 000104 000112 000116 000120 000124 000130 000134 000142 000146 000152 000156 000160 010061 052761 012700 060100 016110 062710 011061 062761 011261 011061 011061 022626 000207 000006 000034 000010 000006 000004 000012 000034 000014 000020 000016 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 RO,6(R1) #34,6(R1) 000006 ; #10,R0 R1,RO 6(R1),(RO) @4,(RO) (RO),12(R1) #34,12(R1) 000012 (R2),14(R1) (R0),20(R1) (RO),16(R1) RTS ggP)O.(SP)o ; Routine Size: S7 words, Routine Base: $CODE$ + 1014 : Maximum stack depth per invocation: 6 words SEQ 0231 VAX-11 Bliss-16 V4.0-579 Page 35 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 7N 2372 2373 2374 2375 2376 2360 2346 =l CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 3 3 'l H 3 2379 2380 2381 2382 2383 3 3 : 2385 2386 2387 H 3 3 3 H 3 $ 3 ; 3 H 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 [l : 2388 2400 2401 H ;2402 2403 H F 3 : H 3 : ; 3 H H ' 3 3 : ; H : : H 3 : 3 i : 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 sso’ozsz VAX-11 Bliss-16 V4.0-579 age USER$1:([AZTEC.CZRCDB JCZRCD3.SRC;17 (8) ROUTINE REG_EXIST = E 3 O‘NNNNM(‘“““&..bO&uuuu““mu““NNNNNNNNFF‘O‘&‘Fi‘h‘flhhhhfl.‘.— v02.0 16-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS IS THE REGISTER EXISTENCE (OR “PROBE”) TEST DESIGNED TO VERIFY THE PRESENCE OF AN RC25 DEVICE. THIS OBJECTIVE IS ACCOMPLISHED BY SETTING UP THE NON-EXISTENT MEMORY (NEX) TRAP VECTOR CLOCATION 4) AND ATTEMPTING TO READ WHAT IS ASSUMED TO BE THE DEVICE'S SA AND IP REGISTERS. IF THE NEX TRAP HANDLER IS INVOKED DUE TO AN ABSENT DEVICE, THEN THE GLOBAL DATUM “NEX” WILL BE SET TO "TRUE”. THIS DATUM DETERMINES THE SUCCESS / FAILURE VALUE OF THIS ROUTINE. IMPLICIT INPUTS: RC25_ADDR - ADDRESS OF CURRENT CONTROLLER'S IP REGISTER BEGIN LOCAL TEMP : WORD, DUMMY : ! TEMP FOR READING SA AND IP ! AS THE NAME IMPLIES WORD; OF _RC = 2; 4] BEGIN ! SET UP TO READ SA FIRST NEX = FALSE; SETVEC (4, NEX_TRAP, PRIO7); TEMP = _(.RC25_ADDR + .OF_RC); DUMMY = 0; SET TO “TRAP NOT RECEIVED"” SET LOCATION 4 TRAP VECTOR ADDRESS READ REGISTER (THEN TRAP OR CONTINUE) DUMMY INSTRUCTION TO COVER TRAP RETURN BUG (TRAP RETURNS TO NEXT INSTRUCTION) CLEAR LOCATION 4 TRAP VECTOR ADDRESS %:E:EX TRAP OCCURRED CLRVEC (4); IF .NEX EQLUV TRUE ERRDF (10, EGD_10, EMS_10); RETURN FAILURE; ELSE ! "REGISTER EXISTENCE TEST FAILED” END OF _RC = .OF_RC - 2; ! SET UP FOR IP REG OR QUIT END UNTIL .OF_RC LSS 0; RETURN SUCCESS; END; 000000 004137 0000006 000004 000012 000016 012737 005037 012746 000002 000000G 000000G 000340 .SBT REG.EXISI;R 1¢: MOV CLR MOV REG.EXIST INITIALIZATION SUBTEST ROUTINES R1,$SAVE2 @2,0F .RC NEX #340,-(SP) 2379 2400 2404 2405 ————— CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 000070 000072 000074 000076 000100 000102 000106 000110 000116 000122 000126 000130 000134 000136 000140 W 012746 0000006 012746 000004 012746 000003 104437 013700 0000006 063700 0000006 011001 005002 012700 000004 104436 023727 000000G 000001 001007 104455 000012 0000006 0000006 062706 000010 000413 162737 000002 000000G 062706 000010 005737 0000006 002331 012700 000001 0C0207 005000 000207 14-Jun-198S5 09:41:21 14-Jun-1985 09:33:42 MOV MOV MOV TRAP MOV ADD MOV CLR MOV TRAP CMP BNE TRAP .WORD .WORD .WORD 320 28: 34: suB ADD TST BGE MOV RTS CLR RTS SEQ 0233 VAX-11 Bliss-16 V4.0-579 Page 37 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (8) ONEX.TRAP, -(SP) 37 RC25.ADDR,RO OF .RC,RO (RO),R1 R2 #4,RO 36 NEX,#1 24 35 12 EGD. 10 EMS.10 €10,5P 34 2,0F.RC #10,SP OF .RC 13 #1,R0 PC RO PC ; Routine Size: 49 words, Routine Base: $CODE$ + 1176 ;3 Maximum stack depth per invocation: 9 words 2406 ; &, TEMP ; DUMMY 2407 2409 2410 2414 2415 2412 2419 2402 2423 2394 2379 — e = CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 - 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 'SEQ 0234 VAX-11 Bliss-16 V4.0-579 Page 38 USER$1:[AZTEC.CZRCDB )JCZRCD3.SRC;17 (9 ROUTINE VEC_BR_TEST = I6 10 18 18 10 18 10 19 10 16 10 10 'O 10 1@ 10 1@ 10 '@ 1@ '@ @ '@ LU T 2428 2429 bbbbhbuu‘wuo‘boluNuuo‘utotuNNNmummflnwfiwv‘wo—n—ow»o—nflo—o-&-o-o-npo-o-o-»v—o—nn .l...l..-0.0.......'.‘.....!“.....0.‘.'...'“.'.!.'...l.l.l...fl.l.'...'.l.'...'.‘“.‘..fl“.“‘.'.fl~.'“fi-- v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE ATTEMPTS TO VERIFY (A) THAT THE RC25 VECTOR ADDRESS GIVEN BY THE USER DURING THE HW DIALOG IS VALID, AND (B) THAT THE USER-SPECIFIED BUS REQUEST LEVEL FOR THE DEVICE IS CORRECT. THE FIRST OBJECTIVE IS ACCOMPLISHED BY SETTING THE CPU PRIORITY TO O AND FORCING AN RC25 INTERRUPT. IF THE USER SPECIFIED AN INCORRECT VECTOR ADDRESS, THEN THE RESULT MAY BE UNPREDICTABLE. FOR THIS REASON, THE MESSAGE "ABOUT TO VERIFY VECTOR XXX(0) FOR DEVICE XXXXXX(0) .. ." IS PRINTED BEFORE THE TEST, AND “COMPLETED” IS PRINTED AT ITS SUCCESSFUL CONCLUSION. IF THE WORD "COMPLETED” DOES NOT APPEAR, AND AN ERROR IS NOT REPORTED, THEN PROGRAM CONTROL IS ASSUMED LOST AND A FATAL TRAP HAS LIKELY OCCURRED. AT THIS POINT, THE EXERCISER MUST BE STARTED AGAIN. IF THIS TEST SUCCEEDS, THEN THE BR LEVEL TEST IS RUN BY SETTING THE PROCESSOR PRIORITY TO THE ASSUMED INTERRUPT PRIORITY GIVEN BY THE USER. A FORCED INTERRUPT SHOULD NOT OCCUR. THEN, BY LOWERING THE PRIORITY BY ONE, THE DELAYED INTERRUPT SHOULD OCCUR. RC25_ADDR - ADDRESS OF CURRENT CONTROLLER'S IP REGISTER IMPLICIT INPUTS: DCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT RC25_ADDR - ADDRESS OF CURRENT CONTROLLER’'S IP REGISTER VEC_AD - ASSUMED VECTOR ADDRESS OF THE CURRENT CONTROLLER BRLEVEL - ASSUHEgogggoREggEST INTERRUPT LEVEL OF THE CURRENT LL BEGIN IF MANUAL THEN PRINTF (MSG_02, .VEC_AD, IF INT_GEN () EQLU FALSE THEN .RC25_ADDR) BEGIN ERRDF (11, EGD_11, 0); RETURN FAILURE; ELSE IF ATTENDED THEN ! "ABOUT TO VERIFY VECTOR..." FORCE AN INTERRUPT IF INTERRUPT DID NOT OCCUR “VECTOR TEST FAILED" END BEGIN IF MANUAL THEN PRINTF (MSG_03); SETPRI (.BRLEVEL); IF INT_GEN () EQLV FALSE THEN BEGIN SETPRI (.BRLEVEL - #0‘'40'); DELAY (1); IF .DCT_ADDR [SA_SAVE] NEQU 0 THEN INTERRUPT DID OCCUR IF ATTENDED THEN “COMPLETED. " SET PRIORITY TO ASSUMED BR LEVEL FORCE AN INTERRUPT (SHOULD NOT OCCUR) IF INTERRUPT DID NOT OCCUR L2¥$R PRIORITY BY 1 b %FEINTERRUPT DID OCCUR (SA_SAVE WOULD BE NON-ZERO) HEN 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 WWSEBVILILILIWL CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES RN 0 @0 @0 @0 @0 @0 @0 @ 9 G0 @ @ 00 ee we @ CZRCD3 v02.0 BEGIN SETPRI (PRIOO); ! RESTORE PROCESSOR PRIORITY TO 0 RETURN SUCCESS; ! 000002 000004 000006 000010 000014 000020 000024 000030 000032 000034 000040 000044 000046 000050 000052 000054 000056 000060 000062 000064 000066 000072 000076 000100 000102 000104 000110 000112 000116 000120 000122 000126 000122 005746 104450 103014 013746 013746 012746 012746 010600 104417 062706 004737 005700 001005 104455 000013 000000G 000000 000460 104450 103007 012746 012746 010600 104417 022626 013700 104441 004737 005700 001032 013700 162700 104441 f 010146 ONLY SUCCESSFUL EXIT POINT END; END; END; SETPRI (PRIOO); ERRDF (12, EGD_12, EMS_12); ! COME HERE ONLY FOR BR TEST FAILURE ! RETURN FAILURE; "BR LEVEL TEST FAILED” END; .GLOBL 000000 SEQ 0235 VAX-11 Bliss-16 V4,0-579 Page 39 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (9) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .SBTTL VEC.BR.TEST: Ls$OLY VEC.BR.TEST INITIALIZATION SUBTEST ROUTINES MOV TST TRAP BHIS MOV MOV MOV MOV 0000006 000612 000000G 000003 MOV 000010 000000V 18: 2%: 0000006 000001 000614 000000V 000614 000040 3s: TRAP ADD JSR TST BNE TRAP .WORD .WORD .WORD BR TRAP BHIS MOV MOV MOV TRAP cMP MOV TRAP JSR TST BNE MOV suB TRAP -(SP) 50 1$ RC25.ADDR, -(SP) VEC.AD,-(SP) 2428 ; 2459 H 2461 #MSG.02, -(SP) #3,-(SP) SP,RO 17 ; SP,* #10,5P PC,INT.GEN RO 2% 55 H 2462 ; 2466 9s : : 2464 2473 #MSG.03,-(SP) #1,-(SP) H 2475 13 EGD.11 0 50 3 SP,.RO ; SP,# BRLEVEL,RO 41 PC,INT.GEN RO 8¢ BRLEVEL ,RC #40,R0 41 H 2476 H 2477 i 2431 17 (SP)+,(SP)+ CZRCD3 v02.0 000134 000140 000142 000146 000150 000152 000154 000156 000160 000162 000166 000172 000174 000176 000200 000204 000206 000210 000212 000214 000216 000220 000222 000224 000226 000230 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 INITIALIZATION SUBTEST ROUTINES 012701 001410 013700 001403 005016 005300 001375 005301 000767 013700 005760 001405 005000 104441 012700 000407 005000 104441 104455 000014 000000G 0000006 005000 0CS5726 012601 000207 000001 000000G 4% ; Ss$: 6$: 0000006 000002 7%: MOV BEQ MOV BEQ CLR DEC BNE DEC BR MOV TST BEQ CLR 000001 8s$: 9s: 10s: Routine Size: Rout ine Base: 77 words, Maximum stack depth per invocation: 8 words ¢1,R1 7% L$DLY,RO 6 (SP) RO -1 R1 43 DCT.ADDR,RO 2(RO) 8s RO TRAP MOV BR 41 #1,R0 10¢ TRAP TRAP 41 55 CLR .WORD .WORD .WORD CLR TST MOV RTS $CODES RO 14 EGD.12 EMS.12 RO (SP)+ (SP)+,R1 PC + 1340 SEQ 0236 VAX-11 Blies-16 V4.0-579 Page 40 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (9) i #,88TMP2 i *,88TMPL ; 2482 $STMP : $$TMPL ; $8TMP2 ; 2483 ; 2487 : 2485 : 2496 : 2497 H 2428 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 {— P-'NNNNNNNNuuuhuuuuNNNNNNNNNNNNNNNFFHHF‘O—‘.‘O‘MHD‘MMO‘M INITIALIZATION SUBTEST ROUTINES 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 000000 000004 000010 000014 000020 000024 000026 14-Jun-1985 09:41:21 004137 162706 013704 005064 013700 006200 006200 14-Jun-1985 09:33:42 SEQ 0237 Page 41 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (10) VAX-11 Bliss-16 V4.0-579 ROUTINE INT_GEN = ‘e ! ! ! ! THIS ROUTINE BEGINS AN RC25 INITIALIZATION SEQUENCE, BUT ONLY COMPLETES THROUGH THE STEP 1 WRITE. ITS PURPOSE IS TO CREATE AN RC2S INTERRUPT (AT THE COMPLETION OF STEP 1) IN ORDER TO HELP VERIFY THE THE USER-SPECIFIED VECTOR ADDRESS AND BUS REQUEST INTERRUPT LEVEL. ! ' AND "FALSE” OTHERWISE. THE INTERRUPT IS VERIFIED BY A NON-ZERO VALUE IN THE “SA SAVE” WORD IN THE DEVICE'S DCT. ! A VALUE OF ' ! ! “TRUE” IS RETURNED TO THE CALLER IF AN INTERRUPT OCCURS, IMPLICIT INPUTS: DCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT ' RC25_ADDR | . - ADDRESS OF CURRENT CONTROLLER'S IP REGISTER BEGIN LOCAL IE_VEC : WORD, SA : WORD; ! IE-BIT-AND-VECTOR-ADDRESS/4 BYTE ! STORAGE FOR STEP 1 READ AND WRITE DCT_ADDR [SA_SAVE] = 0; IE_VEC = (.VEC_AD t -2) OR SA_INT; ! ZERO OUT SA SAVE WORD IN DCT ! VEC ADDR / 4 WITH IE = 1 DELAY (625); SA = _RC25_ADDR [RCSA, RC_ALL]; SA = (WR_RING t 8) OR .IE_VEC; ! WAIT Changed from S00 to 625 for 84 cache ! STEP 1 READ ! STEP 1 WRITE VALUE INCR COUNT FROM 1 TO 10 DO BEGIN ! WRT_RC25 (RCIP, WRT_RC25 (RCSA, RC_ALL, RC_ALL, ALL_ONES); .SA); DELAY (400); SA = _RC25_ADDR [RCSA, RC_ALL]; IF BIT_TST (SA, SA_S2) THEN EXITLOOP; ! ! WRITE IP TO START INIT SEQUENCE STEP 1 WRITE TEN SECOND LIMIT ! ABOUT 1 SECOND Changed 333 to 400 for 84 ! READ SA REGISTER ! IF STEP 2 HAS BEGUN ! THEN ! BREAK 0OUT END; IF .DCT_ADDR [SA_SAVE] EQLUV O THEN RETURN FALSE ELSE RETURN TRUE; ! ! ! IF SA SAVE WORD WAS NOT TOUCHED THEN INTERRUPT DID NOT OCCUR ! INTERRUPT DID OCCUR ! OTHERWISE END; 0000006 000006 000000G 000002 000612’ .SBTTL INT.GEN: JSR SUB MOV CLR MOV ASR ASR INT.GEN INITIALIZATION SUBTEST ROUTINES R1,$SAVES 3 #6,SP DCT.ADDR,R4 ; 2(R4) VEC.AD,RO 3 RO RO 2501 2523 2524 CZRCD3 v02.0 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 INITIALIZATION SUBTEST ROUTINES 010003 052703 012700 010077 012701 001411 013700 001404 005066 005300 001374 005301 000766 013700 012705 060005 011516 010302 052702 010200 010015 012703 012701 0C1411 013700 001404 005066 005300 001374 005301 000766 011566 011502 032702 001002 005303 001354 005764 001002 005000 000402 012700 062706 000207 MOV BIS MOV 000200 177777 000000G 001161 0000006 000004 1$: 2$: 3s: 0000006 000002 4%: MOV MOV BEQ MOV BEQ CLR DEC BNE DEC BR MOV MOV ADD MOV MOV 115400 000012 000620 000000G 000004 BIS 5§%: 6$: 78: 8$: 000002 9s: 010000 000002 000001 000006 10¢: 11$: 12s: MOV MOV MOV MOV BEQ MOV BEQ CLR DEC BNE DEC BR MOV MOV BIT BNE DEC BNE TST BNE CLR BR MOV ADD RTS 74 words, Routine Size: Routine Base: $CODE$ Maximum stack depth per invocation: 10 words SEQ 0238 VAX-11 Bliss-16 V4.0-579 Page 42 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (10) RO,R3 #200,R3 ; ; ; ; : #,IE.VEC =, IE.VEC *,RC.REG RC.REG,=* %,88TMP2 ; *,88TMPL : ; $STMP $STMPL ; $$TMP2 RO,8RC25.ADDR #1161,R1 43 L$DLY,RO 3 4(SP) RO 2$ R1 1$ RC25.ADDR,RO &2 ,R5 RO,R5 (R5),(SP) R3,R2 #115400,R2 R2,RO RO, (RS) #12,R3 #620,R1 9 L$DLY,RO 8¢ 4(SP) RO 74 R1 6% (R5),2(SP) (R5),R2 #10000,R2 10¢ R3 54 2(R4) 114 RO 124 ; ; ; H ; ; ; ; 2525 2526 2527 *,RC.REG IE.VEC,SA ‘ISA SA,RC.REG RC.REG,* *,COUNT *,88TMP2 F t,"T"Pl ; ; $STMP $$TMPL ; $$TMP2 2528 2529 2530 2533 ; *,RC.REG ; RC.REG,SA ; *,S5A 2535 ; COUNT 2530 ; 2541 H 2545 H 2501 2534 #1,RO #6,5P rC + 1572 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2548 2549 2550 2551 2552 2553 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 aoo«muwunaa&hauuuuuuuuuubb&uuuaAbuuuuwmml\)mmmwo—-nv—nv—o—-v-o-o-.-v-o-r-n v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0239 VAX-11 Bliss-16 V4.0-579 Page 43 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 (11) ROUTINE HARD_INIT = e ' ' ' ' ' THIS ROUTINE PERFORMS THE FOUR READ / WRITE STEPS REQUIRED TO INITIALIZE AN RC25 DEVICE. IF NO READ ERRORS ARE DETECTED IN ANY OF THE FOUR STEPS, THEN A SUCCESS VALUE IS RETURNED TO THE CALLER. OTHERWISE, ADDITIONAL ATTEMPTS MAY BE MADE TO INITIALIZE THE DEVICE. IF ALL ATTEMPTS FAIL, A FAILURE INDICATION IS RETURNED. I ' IMPLICIT INPUTS: . ' ' RC25_ADDR - ADDRESS OF CURRENT CONTROLLER'S IP REGISTER VEC_AD - ASSUMED VECTOR ADDRESS OF THE CURRENT CONTROLLER DCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT e BEGIN LOCAL IE_VEC : WORD; IE_VEC = .VEC_AD t ! IE-BIT-AND-VECTOR-ADDRESS/4 BYTE ! (USED IN STEP 1 WRITE AND STEP 3 READ) -2; ! GET VECTOR ADDR/4 (IE = 0) ! WRITE IP TO START INIT SEQUENCE ! IF ONE SECOND HAS ELAPSED THEN CONTINUE ! IF ONE SECOND HAS ELAPSED THEN CONTINUE ! ' ! READ SA IF STEP 1 READ IS 0.K. THEN ! ! ! STEP 1 WRITE VALUE STEP 1 WRITE TEN SECOND LIMIT ! ABOUT 1 SECOND INCR ATTEMPTS FROM 1 TO INI_ATT DO BEGIN ggr_aczs (RCIP, RC_ALL, ALL_ONES); BEGIN gfibnv (100); UNTIL .T_FLAG EQLU TRUE; T_FLAG = FALSE; D0 BEGIN gSBAY (100); UNTIL .T_FLAG EQLU TRUE; T_FLAG = FALSE; ' ' STEP 1 ] STEP = 1; SA_REG = .RC25_ADDR [RCSA, RC_ALL]; IF (.SA_REG AND S1_MASK) EQLU SA_S1i THEN BEGIN SA_REG = (WR_RING + 8) OR .IE_VEC; WRT_RC25 (RCSA, RC_ALL, .SA_REG); INCR COUNT FROM 1 T0 10 DO BEGIN ' . BEGIN DELAY (400); DELAY (100); END 333 old 400 new . CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 26438 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 QNONQQQOOONQQQQOOOMOMMMMMOOOflOOO\J\J\DOOOOMMU’M&U&OOO&UIUNJOUIUIUI vo2.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 UNTIL .T_FLAG EQLU TRUE; T_FLAG = FALSE; SA_REG = .RC25_ADDR [RCSA, RC_ALLJ; IF BIT_TST (SA_REG, SA_S2) THEN EXITLOOP; SEQ 0240 VAX-11 Bliss-16 V4.,0-579 Page 44 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (11) ! IF ONE SECOND HAS ELAPSED THEN CONTINUE ! ! ! ! READ SA REGISTER IF STEP 2 HAS BEGUN THEN BREAK OUT END; STEP 2 STEP = _STEP + 1; IF (.SA_REG AND S2_MASK) EQLU (SA_S2 OR WR_RING) ! %F STEP 2 READ IS 0.K. ' HEN WRT_RC25 (RCSA, RC_ALL, .DCT_ADDR [ RR_BEG]); INCR COUNT FROM 1 TO 10 DO BEGIN ! RINGBASE-LO, PI = 0 DELAY (400); DO BEGIN ! TEN SECOND LIMIT ! ABOUT 1 SECOND changed 333 to 400 for 11/84 cache DELAY (100); END UNTIL .T_FLAG EQLU TRUE; ! IF ONE SECOND HAS ELAPSED THEN CONTINUE T_FLAG = FALSE; SA_REG = .RC25_ADDR [RCSA, RC_ALL); READ SA REGISTER IF BIT_TST (SA_REG, SA_S3) IF STEP 3 HAS BEGUN THEN THEN EXITLOOP; BREAK 0UT END; STEP 3 STEP = _STEP + 1; IF (.SA_REG AND S3_MASK) EQLU (SA_S3 OR THEN WRT_RC25 (RCSA, RC_ALL, .IE_VEC) 0); DELAY (400); DO BEGIN DELAY (100); END UNTIL .T_FLAG EQLU TRUE; T_FLAG = FALSE; IF STEP 3 READ IS 0.K. THEN ! PP, RINGBASE-HI = 0 INCR COUNT FROM 1 TO 10 DO BEGIN : ! ! ! ! TEN SECOND LIMIT ! ABOUT 1 SECOND changed 333 to 400 for 11/84 cache IF ONE SECOND HAS ELAPSED THEN CONTINE SA_REG = .RC25_ADDR [RCSA, RC_ALL]; IF BIT_TST (SA_REG, SA_S4) THEN EXITLOOP; ! ! ! ! READ SA REGISTER IF STEP 4 HAS BEGUN THEN BREAK OUT CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 PRV WENBSBVIVNOONNNNYONONNONN WS G5 B0 W0 S0 W0 W0 W0 @0 S0 @0 G0 @ @0 @0 @ W0 S0 S0 G0 S0 G @ @ e e o CZRCD3 v02.0 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 45 (11) END; STEP 4 STEP = _STEP + 1; IF (.SA_REG AND S4_MASK) EQLU SA_S4 THEN BEGIN WRT_RC25 (RCSA, RC_ALL, 0); RETURN SUCCESS; IF STEP 4 READ IS 0.K. THEN ! BURST, LF, GO = 0 ! SUCCESS EXIT POINT END; END; END; END; END; ! TRY AGAIN OR GIVE UP ERRDF (13, EGD_13, EMS_13); RETURN FAILURE; ! END; ! ROUTINE HARD_INIT 000000 004137 000000G 000004 000010 000014 000016 000020 000024 000030 000034 000036 000042 000046 000052 000056 000060 000062 000064 000070 000072 000074 000076 000100 000106 000110 000114 000120 162706 013746 006216 006216 013704 013700 012702 060002 012705 012700 010077 012701 001410 010400 001404 005066 005300 001374 005301 000767 123727 001361 105037 000012 000612° 012701 001410 SEQ 0241 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000002 177777 000000G 000144 000012 1¢: 2%: 3s: 4%: 5%: 000000G 000001 000000G 000144 .SBTTL HARD.INIT INITIALIZATION SUBTEST ROUTINES JSR SUB MOV ASR ASR MOV MOV R1,$SAVES #12,SP VEC.AD,-(SP) (sP) (SP) L$DLY,R4 RC25.ADDR,RO HARD.INIT: 0000006 0000006 000002 6%: 78: 8s: "INIT SEQUENCE FAILED" MOV ADD MOV MOV MOV MOV BEQ MOV BEQ CLR DEC BNE DEC BR CMPB BNE CLRB MOV BEQ #2,R2 RO,R2 #2,R5 #-1,R0 RO,8RC25.ADDR #144 ,R1 6% R4 ,RO 5% 12(SP) RO 4% R1 3s T.FLAG,#1 2 T.FLAG #144 ,R1 11¢ 2548 : : + : 5 *,IE.VEC IE.VEC IE.VEC 2575 2590 i *,ATTEMPTS i *,RC.REG i RC.REG,#* i %, $8TMP2 i i 2569 2572 2575 *,88THPL $STMP : $$TMPL i $8TMP2 : : i 2568 2577 %, 88TMP2 2578 2581 CZRCD3 CZRCDBO RC25 DISK EXERCISER vo2.0 000122 000124 000126 000132 000134 000136 000140 000142 000150 000152 000156 000164 000170 000174 000176 000202 000206 000210 000214 000222 000226 000230 000234 000240 000242 000244 000246 000252 000254 000256 000260 000262 000270 000272 000276 000302 000306 000312 000314 000316 000320 000324 000330 000334 000340 000342 000346 000352 000354 000360 000364 000366 000370 000372 000376 0004C0O 0004C2 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 INITIALIZATION SUBTEST ROUTINES 010400 001404 005300 001374 005301 000767 123727 001361 105037 012737 011266 011237 011200 042700 020027 001177 011637 052737 013700 010012 012703 012701 0C1410 010400 001404 005066 005300 001374 005301 000767 123727 001361 105037 011266 011237 032712 001002 005303 001346 005237 013700 042700 020027 001127 013700 016000 010012 012703 012701 001410 010400 001404 005066 005300 001374 005301 000012 9s: 10¢: 000000G 000001 11%: 000000G 000001 000000G 000002 000000G : ; 000000G 000004 000000G 010000 0000006 0000006 003400 010233 (R2),4(SP) (R2),SA.REG 17%: SA.REG,RO #3400,R0 RO, #10233 31$ DCT.ADDR,RO 4(RO),RO RO, (R2) 0000006 000004 000012 000144 000012 #10000,(R2) 17% R3 124 STEP 18%: 19s: 208: 2ls: ®12,R3 €144 R1 224 R4 ,RO 21$ 12(SP) RO 204 R1 i $8TMP2 2584 2589 2590 RC.REG,* SA.REG, * 2591 : IE.VEC,» 2595 ; *,RC.REG ; RC.REG,=» ; *,COUNT 2596 3 3 14 16¢4: $STMPL ; *#,RC.REG 15¢: 000000G 000001 $STMP ; : RO,(R2) #12,R3 #144 ,R1 13$ T.FLAG,#1 12% T.FLAG 46 (11) *,88TMPL : 30¢ (SP),SA.REG #115400, SA.REG SA.REG,RO 12%: P age 2583 ®1777,R0 RO, #4000 13s: 000012 R4 ,RO 10$ 12(SP) RO 9 R1 8s T.FLAG,#1 7% T.FLAG (R2),2(SP) (R2),SA.REG (R2),RO 000000G 115400 000000G 000000G SEQ 0242 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 #1,STEP 001777 004000 000012 000144 VAX-11 Bliss-16 V4.0-579 ; %, 88TMP2 ; *,88TMPL ; i $STHP $STMPL i $$TMP2 2597 2603 2605 : 2606 2607 ; *,RC.REG ; RC.REG,=* ; =,SA.REG 2608 ; COUNT 2597 2616 2617 H ; ; *,RC.REG #,COUNT ; %,88TMP2 ; *,38TMPL : : $STMP $STMPL i $$TMP2 2621 2622 2628 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 000640 000642 000646 R 000767 123727 001361 105037 011266 011237 032712 001002 005303 001346 005237 013701 042701 011600 052700 020100 001053 005000 005012 012703 012701 001410 010400 0C1404 005066 005300 001374 005301 000767 123727 001361 105037 011266 011237 032712 001002 005303 001346 005237 013700 042700 020027 001004 005012 012700 000411 005305 001402 000137 104455 000015 000000G 000000G 005000 062706 000207 000000G 000001 22%: SEQ 0243 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 194 T.FLAG,#1 18% T.FLAG H ; *,RC.REG ;s RC.REG,=* #20000,(R2) 000000G 000000G 23%: 003400 020000 000012 000144 000012 000000G 000001 24%: 25%: 2633 ; COUNT 2622 : 2641 : 2642 ; 314 RO (R2) ; RC.REG 2646 ; *,COUNT ; &,88TMP2 2647 2653 @12,R3 ©144 ,R1 IE.VEC,» *,88TMPL 26%: ; ;: $STMP $3TMPL 27%: ; $8TMP2 T.FLAG,#1 24 T.FLAG (R2),10(SP) (R2),SA.REG 29%: 30s: 000001 31s: 002060 32%: 000014 ; *,SA.REG ; 28%: 33s: 2631 2632 (SP),RO #20000,R0 R1,RO 0000006 000010 0000006 040000 000000G 000000G 003777 040000 23$ R3 18% STEP SA.REG,R1 #3400,R1 47 (11) 2630 H (R2),6(SP) (R2),SA.REG Page #40000,(R2) 294 R3 244 STEP SA.REG,RO #3777.R0 RO, #40000 31¢ (R2) #1,R0 334 R5 324 1s 55 15 EGD.13 EMS.13 RO #14,5P PC ; 2655 H 2656 ; *,RC.REG ; ; RC.REG,* *,SA.REG ; COUNT 2658 2659 2647 H 2667 : 2668 : 2672 H 2670 ; ATTEMPTS 2569 : 2685 : 2562 H 2548 - CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 INITIALIZATION SUBTEST ROUTINES ; Routine Size: 212 words, ; Meximum stack depth per ;i H 3 3 ; 3 ;. 3 ;. 3 ; 2689 2690 2691 2692 2693 2694 2695 269 2697 2698 2699 2700 g;gé ; 3 3 3 i 3 3 H 3 3 3 3 3 3 3 3 : 3 3 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2723 : 3 H 14-Jun-1985 09:41:21 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 2 1 Routine Base: invocation: 14 words VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 SEQ 0244 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 Page 43 (11) $CODE$ + 2016 ROUTINE INI_RRING : NOVALUE = 1s ! ! ! ! ! ! ! ! ! ! THIS ROUTINE IS RESPONSIBLE FOR ALLOCATING ENOUGH MSCP ENVELOPES TO FILL AN RC25 RESPONSE RING. THE ENVELOPE DESCRIPTOR OF EACH ENVELOPE (LOCATED IN FRONT OF THE ENVELOPE ITSELF) IS LOADED INTO SUCCESSIVE RRING SLOTS. NOTE THAT THE ENVELOPE DESCRIPTORS HAVE BEEN INITIALIZED WITH THE FLAG AND OWNERSHIP BITS SET TO “1”, MAKING EACH SLOT CONTROLLER-OWNED. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER DCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT !- BEGIN LOCAL INDEX : WORD, RRING_ADDR; RRING_ADDR = .DCT_ADDR [RR_BEG]; INCR COUNT FROM 1 TO RRING_LEN DO BEGIN ! FIRST RESPONSE RING SLOT INDEX = GET_ENV (.CCTLR); MSCP_ENV [.INDEX, MSGLEN] = MSG_LEN # 2; .RRING_ADDR = .MSCP_ENV [.INDEX, ENV_LO]; RRING_ADDR = .RRING_ADDR + 2; .RRING_ADDR = .MSCP_ENV [.INDEX, ENV_HI); RRING_ADDR = .RRING_ADDR + 2; END; ! ! ! ! ! ! GET AN MSCP ENVELOPE SET MESSAGE LENGTH FIELD LOAD LO-ORDER ENV DESC INTO SLOT ADVANCE TO SECOND WORD LOAD HI-ORDER ENV DESC INTO SLOT ADVANCE TO NEXT SLOT END; 000000 004137 000000G 000004 000010 000014 000020 000024 000030 000032 000034 000040 000044 000052 000056 000062 000064 000066 000070 013700 016001 012702 013746 004737 010003 010316 012746 004737 012760 016021 016021 022626 005302 001354 000207 000000G 000004 000010 000000G 000000G 000104 000000G 000074 000004G 000000G 000002G .SBTTL INI.RRING: JSR MOV MOV MOV 1%: MOV JSR MOV MOV MOV JSR MOV MOV MOV CMP DEC BNE RTS INI.RRING INITIALIZATION SUBTEST ROUTINES R1,$SAVE3 DCT.ADDR,RO 4(RO),R1 #10,R2 CCTLR, -(SP) PC,GET.ENV RO,R3 R3,(SP) #104,-(SP) PC,BLS$MUL #74 ,MSCP.ENV+4(RO) MSCP.ENV(RO),.(R1)MSCP.ENV+2(RO),(R1)+ (SP)+,(SP)+ R2 1s PC : : : *,RRING.ADDR ; #,COUNT 3 2711 2714 : *,INDEX ; INDEX, s 2715 ; #,RRING.ADDR ; #,RRING.ADDR : : COUNT 2716 2718 2712 2711 : 2689 2689 2710 =smees CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES v02.0 SEQ 0245 VAX-11 Bliss-16 v4.0-579 Page SO USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (12) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ; Routine Size: 29 words, Routine Base: $CODES$ + 2666 ; Meximum steck depth per invocetion: 7 words ;. ;s ;s ;. : H 2724 2725 2726 2727 2728 g;g 1 1 1 1 1 i ROUTINE SET_CTLR_CHAR : NOVALUE = ;s ;. s ;. i s ;. 2731 2732 2138 8 2736 2737 2738 1 1 1 2 2 2 2 ! ! !BEGIN H 3 H g;z: g 2741 2742 2743 2744 ;. ;. ; ;. ; : ;. ; ;. H H ;. : ; i 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2 2 2 2 2 2 2 3 3 3 3 3 3 3 4 ; 2757 4 : : : i ; ; ; i i : : 2756 2758 2759 2760 2761 2762 3363 64 2765 2766 g;gz 1o ! ! ! THIS ROUTINE IS CALLED BY CTLR_INIT AFTER THE RC25 HAS BEEN HARDINITIALIZED. ITS PURPOSE IS TO FORMAT AND SEND THE “SET CONTROLLER CHARACTERISTICS” COMMAND, AND TO VERIFY THAT THE MESSAGE WAS ACCEPTED. H LOCAL REASON : WORD, 3 : ; ! DROP UNIT REASON M_INDEX : WORD; ! MSCP ENVELOPE INDEX M_INDEX = GET_ENV (.CCTLR); MSCP_ENV [.M_INDEX, OPCODE) = OP_SCC; MSCP_ENV [.M_INDEX, C_FLAGS) = CF_MSC + CF_THS; IF SEND (.M_INDEX) EQLV FAILURE THEN PUT_ENV (.M_INDEX) ELSE BEGIN WAIT (); RP_INDX = QUT_IODQ (); RP_ADDR = RETPKT + (.RP_INDX & RP_LEN # 2); IF ._RP_ADDR [CONID) EQLV CID_DRIVER THEN BEGIN 4 REASON = DU_FATAL; 4 IF .RP_ADDR [MESTYP] EQLU MT_TIMEOUT 4 S S S g THEN BEGIN REASON = DU_INIT; ERRDF (15, EGD_15, EMS_15); 4 4 : | ! ! ! ! ! ! ! GET AN MSCP ENVELOPE OPCODE = SET CTLR CHAR CONTROLLER FLAGS ATTEMPT SEND; IF CTLR IS OFFLINE THEN RETURN ENVELOPE TO POOL IF SEND WAS SUCCESSFUL ! ! ! ! ! WAIT FOR RETPKT RESPONSE GET INDEX OF RETPKT CALCULATE RETPKT ADDRESS IF RETPKT IS FROM "DRIVER” THEN ! ASSUME FATAL SA ERROR ! IF COMMAND TIMED OUT ! THEN ! SET REASON TO INIT ERROR ! "MESSAGE RESPONSE TIMEOUT* END; DROP_CTLR (.CCTLR, ' i : H IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER .REASON); ! DROP CONTROLLER'S UNITS | . 2769 2770 2771 2772 2773 2775 000000 3 3 3 END; PUT_RETPKT (.RP_INDX); 3 2 1 010146 ! IF RETPKT IS FROM “DRIVER” END; END; ! IF SEND WAS SUCCESSFUL ! ROUTINE SET_CTLR_CHAR .SBTTL SET.CTLR.CHAR: MOV J SET.CTLR.CHAR INITIALIZATION SUBTEST ROUTINES R1,-(SP) H 2724 | - — e - CZRCD3 | INITIALIZATION SUBTEST ROUTINES MOV 000014 MOV 000016 000022 000026 000034 000044 004737 010001 010116 012746 004737 112760 012760 010116 004737 0000006 005700 001004 010116 004737 000000G 000064 000070 000074 004737 004737 010037 000000G 000000G 0000006 012746 004737 062700 010037 126027 001025 000060 000000G 000000G 000000G 000003 000003 000100 000102 000106 000112 000116 000122 000130 000132 000136 000142 000146 000152 000154 000160 000162 000164 000166 000170 000174 000176 000202 000204 000210 000214 000216 000220 000222 010016 012701 116000 042700 020027 001006 012701 MOV JSR MOVE MOV MOV 000000G 000050 000052 000054 000056 000062 000455 JSR MOV 000104 000000G 000004 000020G 000120 000026G JSR ST BNE MOV JSR 18: 000002 74 words, 26: 38: 48: Routine Bese: 6 words CCTLR,-CSP) : ; &,M. INDEX R1.(SP) : M.INDEX, s R1.(SP) : M.INDEX, s 104,-(SP) PC,BLSMUL 4 .MSCP.ENV+20(RO) 120 ,MSCP.ENV+26(R0) . PC.SEND RO 18 R1.(SP) PC.PUT.ENV RO.CSP) MOVE BIC CMP BNE 2CR9),RO 177417,R0 RO.#100 29 04.R1 #2.R1 S5 17 EGD.1S EMS.15 CCTLR,(SP) R1,-(SP) PC.DROP.CTLR (SP)e RP.INDX.(SP) PC.PUT.RETPKT (SP)e (SP)s.(SP)e (SP)e.R1 PC $CODES$ « 2760 Page 52 (13) 2781 2782 2743 2744 | as PC,WAIT PC.OUT.IODQ RO.RP.INDX SEQ 0246 USER$1:([AZTEC. ICZRCDS. CZRCO SRC; 17 B PC,GET.ENV RO.R1 960, -(SP) PC,BLSMUL ORETPKT,RO RO,RP.ADDR 3CRO). 43 38 TRAP MORD 'WORD 'WORD MOV MOV JSR TST MOV JSR TST CHP MOV RTS VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 MOV JSR ADD MOV CMPB BNE MOV : Meximum steck depth per invocetion: | L JSR JSR MOV MOV 000002 177417 000100 104455 000017 0000006 0000006 013716 0000006 010146 004737 000000G 005726 013716 000000G 004737 000000G 005726 022626 012601 000207 3 Routine Size: B8R MOV 000004 — 14-Jun-1985 09:41:21 000002 013746 0000006 000006 000012 000042 | — CZRCDBO RC25 DISK EXERCISER v02.0 | = : M.INDEX, s 2746 . 2744 : 2751 : RP.INDX,s 2752 570 ' . ; &,REASON : s #,REASON - : : REASON,s ‘ . : - 2753 2757 | 2762 | 2758 2763 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2330 2831 €332 ROUTINE UNIT_INIT SEG 0247 VAX-11 Bliss-16 V4.0-579 Page 53 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 714) : NOVALUE = * 2776 2777 2778 2779 bbhbu‘bbbbbmummmbbbbbuuuwuo‘uNNNNNNNNNNNNNNrono-o-v-no-v-o-v-t-o-t—»-» ...c.c.-.‘.tu.uonuM.o.o.llo.tti.0.0.0.-...'.0".0.-.o.t.ofl.nfln.a.a.tflfl‘ln.‘.‘“flflfl“““““fl“...‘- v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED FROM DRIVER_INIT FOR EACH CONFIGURED UNIT (PLATTER) WHICH IS ATTACHED TO A CONTROLLER THAT SURVIVED INITIALIZATION. ITS PURPOSE IS TO FORMAT AND SEND AN “ONLINE* MESSAGE, AND TO VERIFY THE RESPONSE. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER CPLAT - CURRENT PLATTER ADDRESS (MSCP UNIT NUMBER) LSLUN - CURRENT (DRS) UNIT NUMBER CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST CUOFF - CURRENT UNIT CST OFFSET BEGIN LOCAL REASON : M_INDEX : WORD, DROP UNIT REASON MSCP ENVELOPE INDEX WORD; M_INDEX = GET_ENV (.CCTLR); MSCP_ENV [.M_INDEX, PL_ADDR] MSCP_ENV [.M_INDEX, OPCODE) = .CPLAT; = OP_ONL; MSCP_ENV [.M_INDEX, DDPAR] = BITO0O; IF SEND (.M_INDEX) EQLU FAILURE THEN PUT_ENV (.M_INDEX) ELSE BEGIN WAIT (); RP_INDX = OUT_IODQ (); RP_ADDR = RETPKT + (.RP_INDX # RP_LEN # 2); %FEQRP'ADDR [CONID) EQLU CID_DRIVER H REASON = DU_FATAL; IF _RP_ADDR [MESTYP) EQLU MT_TIMEOUT THEN BEGIN REASON = DU_INIT; ERRDF (15, EGD_15, EMS_15); GET AN MSCP ENVELOPE SET PLATTER ADDRESS (MSCP UNIT NUMBER) OPCODE FOR “ONLINE*” SHOW ALL ECC ERRORS IN ERROR LOG MESSAGES ?TESHPT TO SEND; IF CTLR IS OFFLINE H RETURN ENVELOPE TO POOL OTHERWISE (SEND WAS SUCCESSFUL) WAIT FOR RETPKT RESPONSE GET INDEX OF RETPKT CALCULATE RETPKT ADDRESS %FE:ETPKT H IS FROM "DRIVER" ASSUME FATAL SA ERROR IF COMMAND TIMED OUT THEN SET REASON TO INIT ERROR “MESSAGE RESPONSE TIMEOUT” END; DROP_CTLR (CCTLR, ELSE .REASON); DROP ALL CONTROLLER'S UNITS END OTHERWISE, BEGIN ST_CODE = SB_CODE = .RP_ADDR [STSCOD); .RP_ADDR [SuBCOD]; IF RETPKT IS FROM DISK MSCP GET STATUS CODE GET SuB-CODE CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES ...‘.C.‘.l'.ln...t‘t.l“.'-'...0...'.0.'..u.l.’.om“flflfl"“““““fl.‘““fl v02.0 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 [ IF _ST_CODE NEQU ST_SuC THEN BEGIN 4 S S S S S S ERRDF (16, EGD_16, 5 ELSE S 5 6 6 IF STATUS CODE IS NOT SUCCESSFUL THEN ! "ONLINE FAILED"” ! STATUS CODE IS 0.K. EMS_16); ! SET UP REASON FOR DROPPING UNIT ! DROP UNIT END BEGIN IF ((BIT_TST (RP_ADDR [U_FLGS], UF_WPH)) AND (.CST_ADDR [.CUOFF, P_PROT) EQLU UNPROTECTED)) THEN BEGIN 5 6 6 6 6 6 6 6 5 6 6 6 6 6 6 6 5 5 ERRDF (17, EGD_17, EMS_17); DUR [.LSLUN] = DU_INIT; DODU (.LSLUN); ELSE ! IF UNIT IS WRITE-PROTECTED AND ! USER ALLOWED WRITES ! THEN ! "WRITE-PROTECT CONFLICT” ! SET REASON TO DROP UNIT ! DROP UNIT END BEGIN USIZE = .RP_ADDR [USIZ_LO]; CST_ADDR [.CUOFF, P_STAT] = ONLINE; CPT [.LSLUN] = YES; CST_ADDR [U_CNT] = .CST_ADDR [U_CNT] + 1; ! WRITE PROTECT SWITCH IS 0.K. ! ! ! ! UNIT MARK 0.K. INCR SIZE (NO. OF LBN'S) UNIT ONLINE TO TEST NO. OF TESTABLE UNITS END; 4 END; 4 3 3 3 3 2 2 1 ! ! DUR [.LSLUN] = DU_INIT; DODU (.LSLUN); 4 SEQ 0248 VAX-11 Bliss-16 V4.0-579 Page 54 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (14) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 END; ! IF STATUS CODE = SUCCESS ! IF RETPKT ORIGINATED AT CONTROLLER ! IF SEND WAS SUCCESSFUL ! ROUTINE UNIT_INIT PUT_RETPKT (.RP_INDX); END; END; 000000 004137 000000G 000004 000010 000014 000016 000020 000024 000030 000036 000044 000052 000054 013746 004737 010001 010116 012746 004737 013760 112760 012760 010116 004737 000000G 000000G 000104 000000G 000000G 000014G 000011 000020G 000001 000044G 000000G .SBTTL UNIT.INIT: JSR MOV JSR MOV MOV MOV JSR MOV MOVB MOV MOV JSR UNIT.INIT INITIALIZATION SUBTEST ROUTINES R1,$SAVE2 CCTLR, -(SP) PC,GET.ENV RO,R1 R1,(SP) #104,-(SP) PC,BLSMUL CPLAT,MSCP.ENV+14(R0O) #11,MSCP.ENV+20CRO) #1 ,MSCP.ENV+44(RO) R1,(SP) PC,SEND : : ; : 2776 2798 #,M.INDEX M.INDEX,=* 2799 : 3 : M.INDEX,=* 2800 2801 2802 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES vo2.0 035700 001004 010116 004737 0000006 000565 004737 000000G 004737 000000G 010037 0000006 010016 012746 000060 004737 0000006 062700 0000006 010037 000000G 010001 126127 000003 000003 001026 012700 000004 116102 000002 042702 177417 020227 000100 01006 012700 000002 104455 0C0017 0C0000G 0000006 012716 000000G 010046 004737 0000006 005726 000506 000016 116137 000000G 042737 177740 000000G 016100 000016 006200 006200 006200 006200 006200 042700 174000 0000006 010037 013702 0000006 005737 000000G 001412 104455 000020 000000G 0000006 000002 112762 000000G 010200 104451 000446 032761 020000 000022 001421 013700 000000G 006300 063700 000000G 1$: TST BNE MOV JSR RO 13 R1,(SP) JSR JSR MOV MOV MOV JSR PC,WAIT PC.0UT.I00Q RO,RP. INDX RO,(SP) #60, -(SP) PC,BL$MUL ORETPKT,RO RO,RP.ADDR RO,R1 3(R1),43 3 4 ,RO ADD MOV MOV CMPB BNE MOV MOvB 2%: 3s: BIC cMP BNE MOV TRAP .WORD .WORD .WORD MOV MOV JSR TST MOvVB BIC MOV ASR ASR ASR ASR ASR BIC MOV MOV TST BEQ TRAP .WORD .WORD .WORD MOvVB MOV 4s: SEQ 0249 VAX-11 Bliss-16 V4.0-579 Page 55 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (14) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TRAP BR BIT BEQ MOV ASL ADD :+ ;C.PUT.ENV $ M.INDEX, : 2802 H 2808 3 2809 ; RP.INDX,* 2810 ; RP.ADDR, # 2811 ; *,REASON 2(R1),R2 : #177417,R2 R2,#100 2804 2815 2816 23 #2,R0 55 17 EGD. 15 EMS. 15 #CCTLR,(SP) RO, -(SP) PC,DROP.CTLR (SP)+ 63 16(R1),ST.CODE #177740,ST.CODE 16(R1),RO RO RO RO RO RO #174000,R0 RO, SB.CODE LSLUN,R2 ST.CODE 43 55 20 EGD. 16 EMS. 16 #2 ,DUR(R2) R2,RO 51 6% g%OOOO.ZZ(Rl) CUOFF,RO RO CST.ADDR,RO ; *,REASON : : ; REASON,* 2820 2821 2825 : 2813 : 2811 : 2831 H 2832 H 2838 : 2833 3 2837 H 2838 : 2839 3 : 2833 2845 ; 2846 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 000342 000344 000346 000350 000352 000334 000356 000364 000366 000370 000372 000400 000404 000406 000412 000416 000424 000430 000434 000440 000444 000446 000450 ; ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 INITIALIZATION SUBTEST ROUTINES 005710 100012 104455 000021 000000G 0000006 112762 010200 TST BPL TRAP .WORD .WORD .WORD 000002 000000G MOvB MOV TRAP 104451 000421 016137 013700 006300 063700 052710 112762 013700 105260 013716 004737 005726 022626 000207 000050 000616° 0000006 000000G 020000 000001 000000G 000000G 000005 000000G 000000G 5%: BR MOV MOV ASL ADD BIS 6$: 78: Routine Size: 149 words, Routine Base: Maximum stack depth per invocation: 8 words MOVB MOV INCB MOV JSR ST CMP (RO) S 55 21 EGD.17 EMS.17 @2 ,0UR(R2) R2,RO 51 6$ S0(R1),USIZE CUOFF ,RO RO SEQ 0250 VAX-11 Blise-16 V4.0-579 Page 56 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (14) 2850 2851 2852 2845 2858 2859 CST.ADDR,RO #20000,(RO) #1,CPT(R2) CST.ADDR,RO S(RO) RP.INDX, (SP) PC,PUT.RETPKT (SP)+ (SP)+,(SP)+ RTS PC $CODES$ + 3204 2860 2861 2869 2806 2792 2776 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 SEQ 0251 VAX-11 Bliss-16 V4.0-579 Page 57 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (15) ROUTINE ACCESS : NOVALUE = * 2874 2875 2876 2877 2878 2879 2880 2881 ;nununununa-a-a-a-a»a-a-auhcuana-a-ananbcncncucncucncncucunan:n:u»nan:n:n:n:n:nanan:r-u-r-r-r-r-r-u-r--p-u-p-p- ..“.l.l....".l.‘.I.‘“.’..MMII...l.l......I0.0.C.‘M.‘...t..“...o.t...’“.....l.l'......'...‘.'.l.‘...‘“““ v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY INIT_TEST TO VERIFY THAT THE CURRENT PLATTER CAN BE ACCESSED. THIS OBJECTIVE IS ACCOMPLISHED BY FORMATTING AND SENDING ONE OR TWO MSCP ACCESS COMMANDS TO THE PLATTER, AND CHECKING THE STATUS FIELD OF THE RESPONSE MESSAGE(S). IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER CPLAT - CURRENT PLATTER ADDRESS (MSCP UNIT NUMBER) LSLUN - CURRENT (DRS) UNIT NUMBER BEGIN LOCAL M_INDEX : WORD, RESULT : WORD, LBN : WORD, PASS : WORD; RESULT = FAILURE; ST_CODE = SB_CODE = 0; LBN = ((.USIZE t -1) AND %0'77777') - 1; PASS = 1; D0 BEGIN GUILTY UNTIL PROVEN INNOCENT STATUS CODE AND SUB-CODE START WITH LAST LBN ON TOP SURFACE LOOP PASS COUNT LOOP STARTS HERE M_INDEX = GET_ENV (.CCTLR); MSCP_ENV [.M_INDEX, PL_ADDR] = .CPLAT; MSCP_ENV [.M_INDEX, OPCODE) = OP_ACC; MSCP_ENV [.M_INDEX, BC_LO] = BLK_SIZE; MSCP_ENV [.M_INDEX, LBN_L] = .LBN; IF SEND (.M_INDEX) EQLU FAILURE THEN BEGIN PUT_ENV (.M_INDEX); PASS = 2; ELSE GET AN MSCP ENVELOPE SET PLATTER ADDR (MSCP UNIT NUMBER) ACCESS OPCODE BYTE COUNT (1 BLOCK) LOGICAL BLOCK NUMBER ?LEEHPT TO SEND; IF CTLR NOT ONLINE ! ! RETURN ENVELOPE TO POOL NO MORE TRIES ! IF SEND WAS SUCCESSFUL END BEGIN WAIT (); RP_INDX = OUT_IODQ (); RP_ADDR = RETPKT + (.RP_INDX & RP_LEN # 2); %FE.RP_ADDR HEN (CONID] EQLU CID_DRIVER WAIT FOR RESPONSE GET RETPKT (RESPONSE) INDEX CALCULATE RETPKT ADDRESS IF RETPKT CAME FROM “DRIVER" THEN NO MORE TRIES OTHERWISE - CHECK OUT RESPONSE ST_CODE = .RP_ADDR [STSCOD]; SB_CODE = .RP_ADDR [SUBCOD]; IF .ST_CODE EQLU ST_SuC ! GET STATUS CODE FROM PACKET ! GET SUB-CODE FROM PACKET ! IF STATUS CODE INDICATES SUCCESS CZRCOD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 000000 000004 000006 000012 000016 000022 000024 000026 000032 000034 000040 000044 000050 000052 000054 000060 000072 0001CO 0001C6 PNNMUMMMNWU‘NNNN“““M““U...OU!U'OOOOOUI .luu...ou:o.o..u.om @8 S5 S0 W% @0 @0 90 W0 @0 90 @8 @0 90 G0 @0 98 S0 90 96 96 e e v02.0 004137 005003 005037 005037 013700 006200 010004 THEN SEQ 0252 VAX-11 Bliss-16 V4.0-579 Page S8 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (1 5) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ! BEGIN RESULT = SUCCESS; PASS = 2; THEN ! NO NEED TO TRY AGAIN END; END; ! IF RETPKT ORIGINATED AT CONTROLLER PUT_RETPKT (.RP_INDX); END; LBN = .LBN + 1; PASS = _PASS + 1; ! ! END ! END OF PASS LOOP UNTIL IF ! IF SEND WAS SUCCESSFUL ADVANCE TO FIRST LBN OF BOTTOM SURFACE SECOND PASS .PASS GEQU 3; _RESULT EQLU FAILURE THEN BEGIN SETPRI (PRIOS); ERRDF (18, EGD_18, SETPRI (PRI00); DELAY POSSIBLE ERROR LOG MESSAGE "ACCESS FAILED” RESTORE PROCESSOR PRIORITY SET REASON TO DROP UNIT DROP UNIT EMS_18); DUR [.LSLUN] = DU_INIT; DODU (.LSLUN); END; ! IF ACCESS FAILED END; 000000G ! ROUTINE ACCESS .SBTTL ACCESS: 332 000000G 000000G 000616 042704 100000 005304 . 012701 000001 013746 000000G 004737 000000G 010002 010216 012746 000104 004737 000000G 013760 000000G 000014G 112760 000020 000020G 012760 001000 000024G 010460 000044G CLR CLR MOV ASR MOV BIC DEC 1$: MOV MOV JSR MOV MOV MOV JSR MOV MOVB MOV MOV ACCESS INITIALIZATION SUBTEST ROUTINES R1,$SAVES H R3 : RESULT SB.CODE H ST.CODE USIZE,RO H RO RO,R4 : *,LBN #100000,R4 ; *,LBN R4 : LBN #1,R1 : *,PASS CCTLR, -(SP) i PC,GET.ENV RO,R2 ; *,M.INDEX R2,(SP) i M.INDEX,* PC,BL$MUL CPLAT,MSCP.ENV+14(RO) #20,MSCP.ENV+20(RO) #1000,MSCP .ENV+24(R0O) R4 ,MSCP.ENV+44(RO) 2898 2899 2903 2904 . H 2905 H i 2874 2896 2897 LBN,#* 2906 2907 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES v02.0 000112 000114 000120 000122 000124 000126 000132 000136 000140 000144 000150 000154 000156 000162 000166 000172 000176 000204 000206 000214 000222 000226 000230 000232 000234 000236 000240 000244 000250 000254 000256 000262 000266 000272 000276 000300 000302 000304 000306 000312 000314 000316 000320 000324 000326 000330 000332 000334 000336 000340 000342 000346 000354 000356 010216 004737 005700 001006 010216 004737 012701 000460 004737 004737 10037 010016 012746 004737 062700 010037 126027 001426 116037 042737 016005 006205 006205 0C6205 006205 006205 042705 010537 005737 001004 012703 012701 013716 004737 005726 005204 005201 022626 020127 103652 005703 001017 012700 104441 104455 000022 000000G 0000006 005000 104441 013700 112760 104451 000207 ; Routine Size: ; -— 0000006 000000G 000002 000000G 0000006 000000G 24: 000060 0000006 000000G 0000006 000003 000003 000016 177740 000016 CMPB 174000 000000G 000000G 000001 000002 000000G 000000G MOV JSR TST BNE MOV JSR MOV BR JSR JSR MOV MOV MOV JSR ADD MOV 0000006 000000G 3s: 4s: S5§¢: 000003 BEQ MOvB BIC MOV ASR ASR ASR ASR ASR BIC MOV TST BNE MOV MOV MOV JSR TST INC INC CMP CcMP BLO 000240 000000G 000002 000000G 6$: TST BNE MOV TRAP TRAP .WORD .WORD .WORD CLR TRAP MOV MOvB TRAP RTS 120 words, Routine Base: $CODE$ invocation: 10 words Maximum stack depth per SEQ 0253 VAX-11 Bliss-16 V4.0-579 Page 59 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (15) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 R2,(SP) PC,SEND RO 24 R2,(SP) PC,PUT.ENV #2,R1 -1 PC,WAIT PC,0UT.IO0DQ RO,RP. INDX RO,(SP) H 2920 ; RP.INDX,* 2921 PC,BL $MUL #RETPKT,RO RO,RP.ADDR 3(RO),#3 3 H 2924 H 2928 H 2929 H 2930 : M.INDEX,#* 2908 ; 2912 M.INDEX,* : *,PASS 3 2908 H 2919 ; 16(R0),ST.CODE #177740,ST.CODE 16(RO),RS RS RS RS RS RS 2913 2922 #174000,RS5 R5,58.CODE ST.CODE 44 #1,R3 #2,R1 RP.INDX, (SP) PC,PUT.RETPKT (SP)+ ; : *,RESULT *,PASS H H 2934 2935 2941 2917 R4 R1 ; LBN ; PASS R1,43 ; PASS,* 2950 ; RESULT 2952 H 2956 H 2957 H 2958 H 2959 (SP)+,(SP)+ LSLUN,RO #2,DUR(RO) 51 PC + 3656 H 2945 2946 2901 : 2960 H 2874 CZRCD3 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 b %SBTTL SEQ 0254 VAX-11 Bliss-16 V4.0-579 Page 61 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (16) ‘DM EXERCISER ROUTINES' ROUTINE DM_EXER : NOVALUE = * 2965 2966 2967 2968 2969 2970 U‘\"O‘O‘O‘OOOMOOMU‘U‘&’.u““u“um””m”NNNF‘F‘HHPFF"‘H.“PPHPPF‘P‘PPFF‘P”.‘NF v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE CONTROLS THE OVERALL OPERATION OF THE DM EXERCISER. THE DM EXERCISER IS A SUBTEST OF THE HOST EXERCISER. ITS BASIC PURPOSE IS TO SUPERVISE THE OPERATION OF THE FRONT PANEL TEST WHICH EXECUTES IN THE DM (DIAGNOSTIC MACHINE). THE HOST INITIATES THE FRONT PANEL TEST BY DOWN-LINE LOADING THE CROM PRIMER PROGRAM FROM DM_INIT. THIS PROGRAM HAS THE JOB OF LOADING THE FRONT PANEL TEST INTO CONTROLLER MEMORY AND PASSING EXECUTION CONTROL TO IT. WHEN AND IF THIS SUCCEEDS, THE HOST SENDS DOWN THE ADDRESS OF THE DM EXERCSER / FRONT PANEL TEST COMMUNICATION AREA (DM_COMM). THIS BLOCK OF MEMORY HOLDS THE UNIT NUMBERS OF DISKS WHICH ARE TO BE DM-EXERCISED, AS WELL AS UNIT STATISTICS (LOADED BY THE FRONT PANEL TEST AND READ BY THE HOST). THIS ROUTINE DISPATCHES PROCESSING TO OTHER ROUTINES ON A REGULAR BASIS UNTIL ALL UNITS HAVE COMPLETED THE REQUIRED NUMBER OF BYTES TRANSFERRED. THESE OTHER ROUTINES INCLUDE THE PROCESSING OF DUP END MESSAGES (DM_RETPKT), UPDATING HOST STATISTICS FROM DM_COMM (DM_TALL Y), AND MAINTAINING COMMAND TIMERS (DRV_TIMCHK). BEGIN IF MANUAL THEN PRINTF (MSG_06); DM_INIT (); ! IF ATTENDED ! THEN ! "DM EXERCISER SUBTEST START” ! INIT DM_EXER DATA, SEND CROM PRIMER DO ! BEGIN BREAK; DM_RETPKT (); IF .T_FLAG EQLU TRUE THEN BEGIN "EXECUTIVE” PROCESSING LOOP BREAK IN CASE USER TYPED <CTRL-C> PROCESS ANY DUP END MESSAGES OR “DRIVER” ERRORS %;ESNE SECOND HAS ELAPSED INCR CTLR FROM O TO (.CTLR_CNT - 1) DO BEGIN FOR EACH CONFIGURED CONTROLLER SET_CPAR (.CTLR); IF (C.CST_ADDR [STATE] EQLU ONLINE) AND (.CST_ADDR [U_CNT] NEQU 0)) THEN BEGIN IF DM_ACC () THEN DM_TALLY (); DM_TIME (); END; SET UP CONTROLLER-RELATED DATA ITEMS IF CONTROLLER IS ONLINE AND THERE IS AT LEAST 1 UNIT UNDER TEST THEN ! IF ACCESS GAINED TO DM_COMM AREA ! THEN ! ADD DM_COMM STATS TO HOST TOTALS ! CHECK FPT SANITY TIMER FOR CONTROLLER ! IF CTLR IS ONLINE AND AT LEAST ONE UNIT CZRCDBO RC25 DISK EXERCISER 14-Jur-1985 09:41:21 14-Jun-1985 09:33:42 3032 000000 000004 000006 000010 000014 000020 000022 000024 000026 000032 000034 000040 000046 000050 000054 000056 000060 000062 000066 000072 000076 000100 000104 000106 000112 000114 000116 000122 000126 000130 000132 000134 000136 000142 000146 000150 000152 FRRDWWWwaEBL_BLWL W S0 @0 @0 @ ~ N @0 B0 90 W @0 o DM EXERCISER ROUTINES 004137 104450 103007 012746 012746 010600 104417 022626 004737 1C4422 004737 123727 001035 013702 005001 000425 010146 004737 013700 005760 100013 105760 001410 004737 006000 103002 004737 004737 005726 005201 020102 002751 004737 004737 006000 103330 000207 ; Routine Size: END; VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 ! CHECK FOR COMMAND TIMEOUTS END; ! IF ONE SECOND HAS ELAPSED END UNTIL DM_QUIT (); ! END OF "EXECUTIVE” LOOP ! UNTIL ALL UNITS DONE END; ! ROUTINE DM_EXER .SBTTL DM.EXER: JSR TRAP BHIS MOV MOV MOV TRAP cMP 1¢: JSR 28: TRAP JSR CMPB BNE MOV CLR 000000G 000001 000000V 000000V 000000G 000001 000000G 38: 000000G 000000G 000002 000005 000000V 000000V 000000V 4 S5¢: 6%: 000000V 000000V 74: 54 words, Routine Base: 7 words DM.EXER DM EXERCISER ROUTINES R1,$SAVE2 S0 1 #MSG.06,-(SP) #1,-(SP) SP,RO 17 (SP)+,(SP)+ PC,DM.INIT 22 PC,DM.RETPKT T.FLAG,#1 74 CTLR.CNT,R2 R1 BR MOV JSR MOV TST BPL TSTB BEQ JSR ROR BCC JSR JSR 6$ R1,-(SP) PC,SET.CPAR CST.ADDR,RO 2(RO) 5$ SCRO) S$ PC,DM.ACC RO 43 PC,DM. TALLY PC,DM.TIME INC CMP BLT JSR JSR ROR BCC R1 R1,R2 3s PC,DRV.TIMCHK PC,DM.QUIT RO 24 TST RTS ; Maximum stack depth per invocation: Page 62 (16) ! CONTROLLER LOOP DRV_TIMCHK (); 000000G SEQ 0255 (SP)+« PC $CODES$ + 4236 H : 2967 2993 H 2995 ; SP,x H F : H 2996 2999 3002 3003 H ; CTLR 3007 ; CTLR,» 3010 : 3011 3 3012 : 3016 : : H 3018 3019 3008 3007 3 H 3025 3030 : 2967 ; CTLR ; CTLR,* 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0256 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ROUTINE DM_INIT : NOVALUE = + MUIMMMMMMMM‘&OOUIMUIMUIUIMUIOOO.OMMMMGNNNNNNHFPUAPFHPP”F‘O‘HMPU-D”O-M CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES THIS ROUTINE IS CALLED BY DM_EXER WHEN THE DM EXERCISER IS FIRST STARTED. ITS PURPOSE IS (A) TO INITIALIZE DM EXERCISER DATA, AND (B) TO START THE FRONT PANEL TEST EXECUTING IN THE DM. THE MOST SIGNIFICANT DATA INITIALIZATION OCCURS IN THE COMMUNICATION AREA (DM_COMM) BETWEEN THE HOST AND THE FRONT PANEL TEST. PLATTER ADDRESSES TO BE EXERCISED UNDER THE FPT ARE LOADED INTO THIS AREA, AND ALL STATISTICS AND ACCESS WORDS ARE CLEARED TO ZERO. TO START THE FPT EXECUTING, THIS PROGRAM CAUSES THE CROM PRIMER TO BE DOWN-LINE LOADED INTO THE DM VIA DUP‘S “EXECUTE SUPPLIED PROGRAM* MESSAGE. THE CROM PRIMER THEN LOADS THE FRONT PANEL TEST INTO RAM AND STARTS ITS EXECUTION. THE SUCCESS / FAILURE OF THIS OPERATION IS COMMUNICATED BACK TO THE HOST THROUGH AN END MESSAGE. BEGIN LOCAL MX : WORD; ! MSCP ENVELOPE INDEX INCR CTLR FROM O TO C.CTLR_CNT - 1) DO BEGIN ! FOR EACH CONFIGURED CONTROLLER SET_CPAR (.CTLR); IF .CST_ADDR [STATE) EQLU ONLINE ! SET UP CONTROLLER-RELATED PARAMETERS ! IF CONTROLLER IS ONLINE ! THEN BEGIN INCR COUNT FROM 8 TO ((DMC_LEN #+ 2) - 2) BY 2 DO (.DMC_ADDR + .COUNT) = 0; INCR OFFSET FROM O TO 3 DO . BEGIN IF .CST_ADDR [.OFFSET + OF _UN, THEN ! FOR EACH UNIT UNDER CTLR P_STAT] EQLU ONLINE SEDHC_ADDR [.OFFSET, ALLBIT] = DMC_ADDR [.OFFSET, ! CLEAR CTLR'S DM_COMM STATS ! OTHERWISE ! DO NOT EXERCISE END; DM_TIMR [.CTLR] = 0; IF UNIT IS ONLINE THEN LOAD PLATTER ADDRESS .CST_ADDR [.OFFSET + OF _UN, P_ADDR) ALLBIT) = -1; IF _ENTRY_REASON NEQU NEW_PASS THEN BEGIN ! ! ! END UNIT LOOP ! ! IF START, RESTART, CONT, THEN OR PWR FAIL INIT FPT SANITY TIMER GET AN MSCP ENVELOPE = CID_DUP; CONNECTION ID (DUP) = OP_ESP; OPCODE = EXECUTE SUPPLIED PROGRAM = .CROMP [0]); BYTE COUNT = CROMP; ! BUFF DESC OF CROM PRIMER = CROMP + .CROMP [0); ! OVERLAY BUFF DESC IF SEND (.MX) EQLU FAILURE ! ATTEMPT TO SEND. IF FAILURE MX = GET_ENV (.CTLR); MSCP_ENV [.MX, CONNID) MSCP_ENV [.MX, OPCODE) MSCP_ENV [.MX, DBC_LO) MSCP_ENV [.MX, DBUF_0] MSCP_ENV [.MX, OBUF_O0] Page 63 (17) HFRRRLVDWEWNNDWWSEBVUVIWV W S G5 ©F G0 G G5 S5 G0 SE G G0 S5 @8 S0 s @8 e CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 004137 013705 0C5003 000531 010346 004737 013700 005760 100117 012700 010001 063701 005011 062700 020027 003767 005002 010201 006301 063701 010200 006300 063700 032760 001405 116011 105061 000402 012711 005202 020227 003751 123727 001450 010300 006300 THEN 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ! THEN ! RETURN ENVELOPE TO POOL PUT_ENV (.MX); END; ! IF START, RESTART, CONT, OR PWR FAIL END; ! END - IF CTLR IS ONLINE END; ! END CONTROLLER LOOP IF CC.ENTRY_REASON NEQU CONT) AND THEN ! IF START, RESTART, OR NEW PASS (.ENTRY_REASON NEQU PWR_FAIL)) INCR COUNT FROM O TO ((MAX_UNITS = TALLY_LEN) - 1) DO TALLY [.COUNT]) = 0; ! THEN ! CLEAR ALL STATS T_FLAG = FALSE; ! END; ! ROUTINE DM_INIT 0000006 0000006 000000G 0000006 000002 .SBTTL DM.INIT:JSR MOV 18: CLR BR MOV JSR MOV TST DM.INIT DM EXERCISER ROUTINES R1,$SAVES CTLR.CNT,RS R3 8s R3,-(SP) PC,SET.CPAR CST.ADDR,RO 2(RO) 000000G ASL ADD 0000006 020000 000006 ASL ADD BIT RO CST.ADDR,RO #20000,6(R0O) 000006 MOVB 0000006 2%: ADD CMP 3s: 000001 000003 000000G 000005 ADD CLR 000002 000062 177777 BPL MOV MOV CLEAR ONE SECOND TIMING FLAG 74 #10,R0 RO,R1 DMC.ADDR,R1 (R1) #2,R0 RO, #62 2% R2 R2,R1 R1 DMC.ADDR,R1 000010 SEQ 0257 Page 64 an VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 4s: 5$: BLE CLR MOV BEQ 4 CLRB BR 1(R1) S 6(RO),(R1) MOV INC cMP BLE gg:s #-1,(R1) R2 R2,43 3 $?TRY.REASON.05 MOV ASL R3,RO RO : H : CTLR 3033 3057 ; CTLR,» H ; #,COUNT ; COUNT,=» 3065 3066 ; ; *,COUNT COUNT, s+ 3065 ; OFFSET ; OFFSET,» 3067 3072 3070 H 3072 ; H ; ;+ 3070 3074 OFFSET OFFSET,» 3078 H ; 3067 CTLR,* 3082 - ——— CZRCD3 v02.0 000156 000162 000164 000170 000172 000174 000200 000204 000212 000220 000226 000234 000242 000250 000252 000256 000260 000262 000264 000270 000272 000274 000276 000300 000302 000310 000312 000320 000322 000324 000330 000334 000340 000342 000346 CZRCDBO RC2S DISK EXERCISER DM EXERCISER ROUTINES 005060 000620 010316 004737 000000G 010004 010416 012746 000104 004737 000000G 112760 000002 000007G 112760 000002 000020G 013760 001716’ 000024G 012760 001716’ 000030G 016060 000024G 000044G 062760 001716’ 000044G 010416 004737 000000G 005700 001003 010416 004737 000000G 005726 005726 005203 020305 0C264S 123727 000000G 000003 00:414 123727 000000G 000004 001410 005000 005060 000000G 062700 000002 020027 001376 003771 105037 000000G 000207 ; Routine Size: 116 words, ;i Maximum stack cepth per 64: 78: 8%: 9s: 10$: Routine Base: invocation: 9 words 14-Jun-1985 09:41:21 14-Jun-198S5 09:33:42 CLR MOV JSR MOV MOV MOV JSR MOVB MOVB MOV MOV MOV ADD MOV JSR TST BNE MOV JSR TST TST INC CHP BLT CMPB BEQ CMPB BEQ CLR CLR ADD CMP BLE CLRB RTS DM.TIMRCRO) R3,(SP) PC,GET.ENV RO,R4 R4,(SP) #104,-(SP) PC,.BLSMUL 92 ,MSCP.ENV+7(RO) #2 ,MSCP.ENV+20(RO) CROMP ,MSCP .ENV+24(CRO) SCROMP ,MSCP.ENV+30(RO) MSCP.ENV+24(RO) ,MSCP.ENV+44(RO) SCROMP ,MSCP.ENV+44(RO) R4,(SP) PC,SEND RO 64 R4,(SP) PC,PUT.ENV (SP)« (SP)+ R3 R3,RS 1 ENTRY.REASON, @3 10$ ENTRY.REASON, #4 10 RO TALLYCRO) #2.R0 RO,#1376 93 T.FLAG PC $CODES + 4412 SEQ 0258 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 65 (17) ; CTLR,» 3083 ; #,MX ; MX,» 3084 3 3 : ; 3085 3086 3087 3088 ; MX,» 3089 : MX,» 3091 : : ; CTLR ; CTLR,» 3080 3058 3057 F 3099 : 3100 : : ; ; : : COUNT #(COUNT) #,COUNT COUNT,» 3102 3103 3102 3105 3033 CZRCD3 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 000000 000002 000004 000012 000014 000016 000022 000024 000030 000032 000034 3 5210 TO O PO PO RO N0 D 1 et s o et s o ot ot s (o s et ot e -----------fl--------- vo2.0 005000 000405 126027 001407 005200 020037 002770 012700 000207 005000 000207 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0259 VAX-11 Blies-16 V4.0-579 Page USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (18) ROUTINE DM_QUIT = * THIS ROUTINE IS CALLED BY THE DM_EXERCISER "EXECUTIVE” (DM_EXER) TO DETERMINE WHETHER OR NOT THE DM EXERCISER SUBTEST SHOULD BE TERMINATED. ITS PURPOSE IS TO EXAMINE THE STATUS OF THE CURRENT PASS TESTING VECTOR (CPT). IF EACH UNIT'S VALUE IN THIS TABLE IS “NO” CINDICATING THAT CURRENT PASS TESTING ON THE UNIT IS COMPLETE), THEN THIS ROUTINE RETURNS A VALUE OF “TRUE” TO ITS CALLER. IF ANY ONE UNIT MAS A VALUE OF "YES”, THEN “FALSE” IS RETURNED. IMPLICIT INPUTS: LSUNIT - NUMBER OF UNITS CONFIGURED FOR TEST BEGIN INCR UNIT FROM O TO (.LSUNIT - 1) DO IF .CPT [.UNIT) EQLV YES THEN FOR EACH CONFIGURED UNIT IF UNIT STILL UNDER TEST THEN RETURN FALSE; RETURN TRUE; TEST NOT FINISHED ALL UNITS DONE END; 000000G 000001 000000G ! ROUTINE DM_QUIT .SBTTL DH.OUIT:SI';R CM.QUIT DM EXERCISER ROUTINES gc.) 18: CPT(RO), 01 24: 000001 3s: CMPB BEQ INC CcMP BLT MOV RTS CLR RTS 34 RO RO,LSUNIT 1 #1.RO PC RO PC Routine Size: 15 words, Routine Base: $CODES + 4762 3+ Maximum stack depth per invocation: 0 words : UNIT 3125 : 3126 3128 3125 #(UNIT),s ' i UNIT i UNIT,» : 3123 . 3108 CZRCD3 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES "y 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 2173 3174 3175 3176 3177 3178 3179 3180 3181 000000 010146 0000C2 023737 000010 - 001506 RCUTINE DM_RETPKT SEQ 0260 VAX-11 Blies-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 67 (19) : NOVALUE = L4 3T 3135 HFRNNNWWNWWNEELPLLBUBDLEDLDDDD D GGG IN N R 5 e s 18 s s s s ot et o (o s Pt s S8 S5 S5 S5 S5 S5 S0 S5 S5 S0 90 90 G0 S0 G0 GF G0 G0 G0 90 90 S8 S0 B0 G0 B0 G0 6 G0 GF 5 G0 GF G0 G0 G0 G5 G0 OF O @6 G0 B0 OF @8 @0 @0 48 e 8 v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY DM_EXER TO CHECK FOR AND PROCESS ANY RETURN PACKETS THAT HAVE BEEN “SENT” BY THE “DRIVER” PORTION OF THE PROGRAM. IHE I/0 DONE QUEUE (IODQ) ACTS AS THE LINK BETWEEN THE TWO PROGRAM PARTS; IT HOLDS INDECES OF RETURN PACKETS WHICH REQUIRE PROCESSING. Uggg:E;HE DM EXERCISER SUBTEST, : S 1. 2. RETURN PACKETS ORIGINATE FROM TWO DUP - DESCRIBING AN END MESSAGE RECEIVED FROM THE RC25 IN RESPONSE TO A HOST COMMAND THE PROGRAM "DRIVER” - DESCRIBING A CONTROLLER ERROR OR COMMAND TIMEOUT. BEGIN WHILE .IODQ_IN NEQU BEGIN .IODQ_OUT DO DO UNTIL I/0 DONE QUEUE IS EMPTY RP_INDX = QUT_IO0DQ (); RP_ADDR = RETPKT + (.RP_INDX & RP_LEN = 2); GET INDEX OF NEXT RETPKT AND ADVANCE OUT POINTER CALCULATE RETPKT ADDRESS SET UP CURRENT CONTROLLER PARAMETERS GET UNIT NUMBER OF FIRST UNIT IF RETPKT IS FROM PROGRAM “DRIVER" THEN SET_CPAR (.RP_ADDR [CTLR]); LSLUN = _CST_ADDR [OF_UN, P_UNIT]; IF _RP_ADDR [CONID] €EQLU CID_DRIVER THEN BEGIN IF .RP_ADDR [MESTYP) EQLU MT_TIMEOUT THEN ERRDF (15, EGD_15, EMS_15); DROP_CTLR (.CCTLR, DU_FATAL); CST_ADDR [STATE] = OFFLINE; ELSE END BEGIN IF .RP_ADDR [CONID] EQLV CID_DuUP THEN ! IF COMMAND TIMEOUT ! THEN ! "MESSAGE RESPONSE TIMEOUT” ! DROP CONTROLLER'S UNITS ! MARK CONTROLLER OFFLINE ! OTHERWISE (RETPKT NOT FROM “DRIVER") ! IF RETPKT IS FROM DuP ! RETURN PACKET TO POOL ! END ! THEN ! PROCESS THE END MESSAGE DM_MSG (); END; PUT_RETPKT (.RP_INDX); END; END; 000000G 000000G - UNTIL I/0 DONE QUEVE IS EMPTY ! ROUTINE DM_RETPKT .SBTTL DM.RETPKT: MOV 1¢8: cMP BEQ DM.RETPKT DM EXERCISER ROUTINES R1,-(SP) I0DQ.IN,IODQ.OUT Ss ; : 3132 3150 CZRCD3 v02.0 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 000012 0000006 004737 000016 010037 000000G 000022 010046 000024 012746 000060 000030 004737 0000006 000034 062700 0000006 000040 010037 0000006 000044 116016 000002 000050 042716 177760 000054 004737 0000006 000060 013700 0000006 000064 016001 000006 000070 000301 000072 042701 177740 000076 010137 0000006 000102 013700 0000006 000106 126027 000003 000003 000114 001030 000116 116000 000002 000122 042700 177417 000126 020027 000100 000132 001004 000134 104455 000136 0C0017 000140 0C0000G 000142 0000006 000144 013716 000000G 000150 012746 000004 000154 004737 0000006 000160 013700 000000G 000164 042760 100000 000002 000172 005726 000174 000406 000176 126027 000003 000002 000204 0C1002 000206 004737 000000V 000212 013716 0000006 000216 004737 000000G 000222 022626 000224 000666 000226 012601 000230 000207 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 JSR MoV MOV MOV JSR ADD MOV MOvB BIC JSR MOV MOV SWAB BIC MOV MOV CMPB BNE MOvB 2%: BIC CMP BNE TRAP .WORD .WORD .WORD MOV MOV JSR MOV 3s: 43 : Ss: Routine Size: 77 words, Routine Base: Maximum stack depth per invocation: S words BIC 187 BR CMPB BNE JSR MOV JSR CMP BR SEQ 0261 VAX-11 Bliss-16 V4.0-579 Page 68 USER$1:[AZTEC.CZRCDB JCZRCD3.5RC;17 (19) ' PC,0UT.IODQ RO,RP, INDX ; RP.INDX,* 260, -(SP) PC,BLSMUL #RETPKT,RO RO,RP.ADOR 2(RO?,(SP) : @177760,(SP) PC,SET.CPAR CST.ADDR,RO 6(RO),R1 R1 #177740,R1 R1,LSLUN RP.ADDR,RO 3(RO), #3 3 2(RO),RO €177417,R0 RO, #100 23 55 3153 3154 _ 3155 F 3156 ; 3157 H 3161 17 EGD. 15 EMS.15 CCTLR, (SP) H 3163 H 3164 CST.ADDR,RO H 3165 (SP)+ ’ #4,-(SP) PC,DROP.CTLR #100000,2(R0O) 43 3(RO), %2 4% PC,DM.MSG RP.INDX, (SP) PC,PUT.RETPKT (SP)+,(SP)+ 13 MOV RTS PC $CODE$ + 5020 (5P)+,R1 H : 3159 3157 3171 H 3173 H 3177 H 3151 : : 3150 3132 CZRCD3 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 ROUTINE DM_MSG : NOVALUE = SEQ 0262 VAX-11 Bliss-16 V4.0-579 Face 69 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 2 e - L4 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 uuaabaabbJ-baouuuuuumuuuuuummmwrumvw\mn-nflnnnnnnnnnnpn-—.—nnn»p .-u.-u.c.n..mu.-.-nl.o.n.o.n-o.o.-.n...flfluilu.-noooa-otsuoocc“Qo.ou.v.-«.anuoootflocflnoo.-“.‘.an.o.a v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY DM_RETPKT FOR ALL DUP END MESSAGES RECEIVED BY THE DM EXERCISER. THIS ROUTINE FIRST CHECKS THE STATUS CODE OF THE END MESSAGE; IF IT INDICATES ANYTHING OTHER THAN SUCCESSFUL COMPLETION OF THE COMMAND, THEN A DEVICE-FATAL ERROR IS DECLARED FOR THE CONTROLLER, AND ALL ITS UNITS ARE DROPPED. IF THE STATUS CODE INDICATES SUCCESS, THEN PROCESSING IS DEPENDENT ON THE ENDCODE (OPCODE OF THE ASSOCIATED COMMAND). FOR THE “EXECUTE SUPPLIED PROGRAM” END MESSAGE, THIS ROUTINE FORMATS AND SENDS A “SEND DATA" MESSAGE, PROVIDING THE FRONT PANEL WITH THE HOST ADDRESS OF THE CURRENT CONTROLLER'S DM EXERCISER COMMUNICATION BLOCK (DM_COMM). TEST IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET CCTLR - CURRENT CONTROLLER NUMBER DMC_ADDR - ADDRESS OF CURRENT CONTROLLER'S DM_COMM AREA BEGI N LOCA L MX : WORD, DUP_OP : WORD, UNIT : WORD; IF ( ST_CODE = THEN BEGIN ! MSCP ENVELOPE INDEX ! DUP OPCODE ! UNIT NUMBER .RP_ADDR [STATUS]) NEQU ST_SUuC ERRDF (21, EGD_21, DROP_CTLR (.CCTLR, ELSE EMS_21); DU_FATAL); ! ! %FEaTATUS CODE NOT SUCCESS TM ! ! "DUP COMMAND FAILED” DROP CONTROLLER'S UNITS ! OTHERWISE - SUCCESS END BEGIN OUP_OP = _RP_ADDR [ENDCOD] AND CP_MSK; SELECTONEU .DUP_OP OF SET [OP_ESP] ! GET OPCODE : BEGIN MX IF = GET_ENV (.CCTLR); GET AN MSCP ENVELOPE CONNECTION ID (DUP) OPCODE = SEND DATA MSCP_ENV [.MX, CONNID] = CID_DUP; MSCP_ENV [.MX, OPCODE] = OP_SND; MSCP_ENV [.MX, DBC_LO] = 2; MSCP_ENV [.MX, DBUF 0] = DMC_ADDR; IF SEND (.MX) EQLU FAILURE THEN PUT_ENV (.MX); END; “EXECUTE SUPPLIED PROGRAM* BYTE COUNT ADDR OF ADDR OF CTLR'S DM_COMM AREA ATTEMPT TO SEND. IF FAILURE THEN RETURN ENVELOPE TO POOL ! END - IF "EXECUTE SUPPLIED PROGRAM” CZRCD3 v02.0 CZRCDBO RC25 DISK EXERCISER ; PO 3244 3245 WWWW DM EXERCISER ROUTINES 3239 3240 3241 3242 3243 000000 000002 000006 000014 000016 000020 000022 000024 000026 000032 000036 000042 000044 000050 000054 000060 000064 000066 000072 000076 000100 000102 000106 000112 000120 000126 000134 000142 000144 000150 000152 000154 000156 000162 000164 000166 000172 000174 000200 000202 000210 000212 14-Jun-1985 09:41:21 Routine Size: 14-Jun-1985 09:33:42 [OP_SND] : DM_TIMR [.CCTLR] = TO_DM; ! IF SEQ 0263 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 "SEND DATA”, Page 70 (20) START FPT SANITY TIMER TES: END; END - IF STATUS CODE = SUCCESS END; ROUTINE DM_MSG 10146 013700 0000006 016037 000016 000000G 001413 104455 000025 000000G 0000006 013746 0000006 012746 000004 004737 000000G 000447 013700 000000G 116000 000014 042700 177600 020027 0000C2 001040 013746 000000G 004737 000000G 010001 010116 012746 000104 004737 000000G 112760 000002 0000076 112760 000004 0000206 012760 000002 000024G 012760 000000G 0000306 010116 004737 0000006 005700 001003 010116 004737 000000G 022626 000411 020027 001006 013700 006300 012760 012601 000207 VAX-11 Blies-16 V4.0-579 000004 .SBTTL DM.MSG: MOV MOV MOV BEQ TRAP .WORD .WORD .WORD MOV MOV JSR 1s: MOV MOVB BIC CMP BNE MOV JSR MOV MOV MOV JSR MOvB MOve MOV MOV MOV 2%: 3$: 000000G 000550 BR 000620’ 44: JSR TST BNE MOV JSR CMP BR CMP BNE MOV ASL MOV MOV RTS 70 words, ; Maximum stack depth per Rout ine Base: invocation: 4 words $CODE$ DM.MSG DM EXERCISER ROUTINES R1,-(SP) RP.ADDR, RO : ; 3182 3211 55 K EGD.21 ; 3215 CCTLR, -(SP) H 3216 PC,DROP.CTLR 2% RP.ADDR,RO 14(RO),RO #177600,R0 H : ; ; 3213 3222 ig(RO).ST.CODE EMS.21 *,DUP.0OP *,DUP.OP 52.02 : DUP.OP,# 3226 CCTLR, -(SP) : 3228 PC,GET.ENV RO,R1 R1,(SP) ; i PC,BL$MUL #2 ,MSCP.ENV+7(R0O) #4 ,MSCP.ENV+20(RC) : #2 ,MSCP.ENV+24(R0O) #DMC . ADDR,MSCP .ENV+30(R0) R1,(SP) PC,SEND RO 24 R1,(SP) PC,PUT.ENV (SP)+,(SP)+ 4% RO,#4 4% %, MX MX, % 3230 ; : i MX, % i MX,% i H : 3229 3231 3232 3233 3235 3226 DUP.OP,# 3223 3239 CCTLR,RO RO #550,DM. TIMRCRO) ggP)O.Rl + 5252 H 3182 CZRCD3 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 000000 000004 000010 000014 000022 000024 000030 000032 000036 000040 000042 ; H 004137 012702 013700 012760 010001 005761 001403 005060 005002 010200 000207 SEQ 0264 VAX-11 Bliss-16 V4.0-579 Page 71 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2 1) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ROUTINE DM_ACC = * 3246 3247 wNNNNuuwuuNNNNNNNNNwb-r-o—o-o-v-o-r-n-o-o-»o—o-o-o- v02.0 THIS ROUTINE IS CALLED BY DM_EXER IN ORDER TO ATTEMPT TO GAIN ACCESS TO THE CURRENT CONTROLLER’'S DM_COMM AREA. IF ACCESS IS PERMITTED (I.E., IF THE FRONT PANEL TEST (FPT) IS NOT CURRENTLY UPDATING DM_COMM STATISTICS), THEN THIS ROUTINE RETURNS A VALUE OF "SUCCESS”. OTHERWIS E, ACCESS IS DENIED AT THIS TIME, AND “FAILURE” IS RETURNED. IMPLICIT INPUTS: DMC_ADDR - ADDRESS OF CURRENT CONTROLLER'S DM_COMM AREA OUTPUTS: "SUCCESS” - ACCESS TO DM_COMM IS PERMITTED “FAILURE” - ACCESS TO DM_COMM IS DENIED BEGIN LOCAL RESULT : WORD; ! RESULT = SUCCESS; PMC_ADDR [HOST_ACC] = ALL_ONES; IF _DMC_ADDR [FPT_ACC] NEQU O THEN BEGIN RESULT OF ACCESS REQUEST ASSUME ACCESS WILL BE GAINED SET HOST ACCESS WORD IF FPT HAS ACCESS NOW THEN DMC_ADDR [HOST_ACC] = 0; ! WITHDRAW ACCESS REQUEST RESULT = FAILURE; ! CHANGE RESULT TO FAILURE END; RETURN .RESULT; END; 000000G 000001 000000G 177777 000062 ! ROUTINE DM_ACC .SBTTL DM.ACC: JSR 000060 000062 14: Routin e Size: 18 words, Routine Base: Maximum stack depth per invocation: 4 words DM.ACC DM EXERCISER ROUTINES R1,$SAVE2 MOV MOV MOV MOV TST BEQ CLR CLR #1,R2 DMC.ADDR,RO #-1,62(R0O) RO,R1 60(R1) 1¢ 62(RO) R2 RTS PC $CODE$ + 5466 MOV R2,R0O ‘ a H ; : *,RESULT 3246 3268 3269 ; DMC.ADDR,* 3270 : ; RESULT ; RESULT,* : 3274 3275 3263 3246 CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.0 3 : : 3284 3285 3286 3287 3288 gggg 3 3 3 3 3 : 3 : 3 3291 3292 3293 3294 3295 3296 3297 3298 §§99 H H 3 3 3 3 : : DM EXERCISER ROUTINES 3282 3283 : 3 s 3 : ROUTINE DM_TALLY : NOVALUE = 1 1 1 1 1 ! ! ! ! ! THIS ROUTINE IS CALLED FROM DM_EXER AFTER ACCESS HAS BEEN GAINED TO THE CURRENT CONTROLLER'S DM_COMM AREA. 1TS PURPOSE IS TO EXTRACT THE STATISTICAL VALUES STORED THERE BY THE FRONT PANEL TEST (EXECUTING IN THE DM), AND TO ADD THESE VALUES TO THE HOST-KEPT STATS. THE STATS IN DM_COMM ARE THEN RESET TO 0. ! ! ! ! ! ! ! ' ! AFTER UPDATING THE HOST STATS, THE NUMBER OF HARD ERRORS AND THE NUMBER OF MBYTES TRANSFERRED THUS FAR FOR EACH UNIT IS5 CHECKED AGAINST THE LIMITS SPECIFIED IN THE SW P-TABLE. IF THE HARD ERROR LIMIT HAS BEEN REACHED, THEN THE UNIT IS DROPPED FROM ALL TESTING. IF THE TRANSFER LIMIT HAS BEEN REACHED, THEN THE UNIT IS SIMPLY REMOVED FROM THE CURRENT PASS. 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 g 3 3 : 3 3 : : 3 : H 3 3 3 H 3 3 : 3 3 H 3 H 3 3 : 3 3 3 ; 3308 3309 3310 3511 3312 3313 3314 3315 gglg 1 3318 3319 3320 3321 3322 3323 3324 3325 3326 327 3328 3329 3330 3331 3332 333 3334 3335 gggg 2 2 3 3 3 3 4 4 : 3 3338 ; he 14-Jun-1985 09:33:42 SEQ 0265 Page 72 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2 2) VAX-11 Bliss-16 V4.0-579 1 1 00 3301 3302 3303 3304 3305 gggg : 14-Jun-1985 09:41:21 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 34 4 4 4 4 fe ! IMPLICIT INPUTS: DMC_ADDR - ADDRESS OF THE CURRENT CONTROLLER'S DM_COMM AREA !- BEGIN LOCAL ST_PTR, NBXFR: WORD; ! STATISTICS POINTER IN DM_COMM ! NUMBER OF BLOCKS TRANSFERRED ST_PTR = .DMC_ADDR + 8; INCR OFFSET FROM 0 TO 3 DO BEGIN IF .DMC_ADDR [.OFFSET, O, 16, THEN BEGIN ! POINTS TO STATS FOR FIRST UNIT ! FOR EACH UNIT 1] GEQ O SET_UPAR (.OFFSET + OF _UN); UPD_IOC (T_ADDR [SEEK_LO], .ST_PTR = 0; ST_PTR = .ST_PTR + 2; ! IF UNIT IS BEING DM-EXERCISED ! THEN ! SET UP UNIT-RELATED PARAMETERS ..ST_PTR); ! UPDATE NO. OF SEEKS ! RESET STAT TO O ! ADVANCE DM_COMM POINTER NBXFR = ,.ST_PTR; UPD_IOC (T_ADDR [READ_LO], ..ST_PTR); UPD_DMBC (T_ADDR [BR_LO], ..ST_PTR); .ST_PTR = 0; ST_PTR = .ST_PTR + 2; ! ! ! ! ! NUMBER OF BLOCKS READ (1 BLOCK PER READ) UPDATE NO. OF READS UPDATE NO. OF BYTES READ, CHECK FOR OVERFLOW RESET STAT T0 O ADVANCE DM_COMM POINTER NBXFR = ._NBXFR + ..ST_PTR; UPD_IOC (T_ADDR [WRIT_LO], ..ST_PTR); UPD_DMBC (T_ADDR [BW_LO], ..ST_PTR); .ST_PTR = 0; ST_PTR = .ST_PTR + 2; ! ! ! ! ! ADD NUMBER OF BLOCKS WRITTEN (1 BLOCK PER WRITE) UPDATE NO. OF WRITES UPDATE NO. OF BYTES WRITTEN, CHECK FOR OVERFLOW RESET STAT T0 O ADVANCE DM_COMM POINTER T_ADDR [ER_SFT] = .T_ADDR [ER_SFT) + .ST_PTR = 0; ST_PTR = .ST_PTR + 2; HARD_ERR (..ST_PTR); ..ST_PTR; ! UPDATE NO. OF DM SOFT ERRORS ! RESET STAT T0 O ! ADVANCE DM_COMM POINTER ! UPDATE HRD ERR CNT + CHK FOR LIMIT CZRCD3 v02.0 : 3 : 3341 3342 3343 3344 3345 3346 3 : 3347 3348 H 3 H 3 : 3 3 3 : 3349 3350 3351 3352 3353 3354 3355 3356 3357 : H : H 3 : 3358 3359 3360 3361 3362 3363 LTVIOVIVAELLLS : 3 3 3339 3340 FRNVNNEWWWNSBEBRBEAVII 3 : CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES .ST_PTR = 0; ! RESET STAT T0 0 ! ADVANCE DM_COMM POINTER IF .NBXFR NEQU O THEN BEGIN ! IF A COMPLETE PASS HAS BEEN MADE ! THEN .NBXFR, LSLUN, .CPLAT); DM_TIMR [.CCTLR] = TO_DM; Page (2 ! IF ATTENDED ! THEN ! "XXXXX. BLOCKS TRANSFERRED ON UNIT XX. (PLATTER XX ! RESET FPT SANITY TIMER END; ELSE XFR_CHK (); ! CHECK IF TRANSFER LIMIT REACHED END ! END - IF UNIT IS BEING DM-EXERCISED ! OTHERWISE ! ADVANCE DM_COMM POINTER TO NEXT BLOCK ST_PTR = .ST_PTR + 10; END; ! UNIT LOOP DMC_ADDR [HOST_ACC] = 0; ! END; ! ROUTINE DM_TALLY 004137 000000G 000004 000010 000014 000016 000020 000022 000026 000030 000032 000034 000040 000044 000050 000054 000056 000062 000064 000066 000072 000074 000100 000104 000110 000112 000116 000120 000122 013701 062701 005002 010200 006300 063700 005710 002520 010246 062716 000000G 000010 e VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ST_P = .ST_PTR TR + 2; IF MANUAL THEN PRINTF (MSG_08, 000000 004737 013716 062716 011146 004737 005021 011103 013716 010346 004737 013716 062716 011146 004737 005021 061103 013716 SEQ 0266 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 DM.TALLY JSR MOV ADD 1$: 0000006 .SBTTL CLR MOV ASL ADD TST BLT 000003 000000G 000000G 000010 000000G 000000G 000000G 0000006 000014 MOV ADD JSR MOV ADD MOV JSR TELL FPT THAT WE ARE LEAVING DM.TALLY DM EXERCISER ROUTINES R1,$SAVE3 H DMC.ADDR,R1 : R2 ; OFFSET #10,R1 SS.RO : *,ST.PTR *,ST.PTR 3282 3308 3309 i OFFSET , % 3312 : 3316 DMC.ADDR,RO (RO) 44 R2,-(SP) #3,(SP) PC,SET.UPAR T.ADDR,(SP) #10,(SP) OFFSET,# H 3318 (R1),-(SP) : ST.PTR,» CLR (R1)+ (R1),R3 T.ADDR,(SP) : ST.PTR i ST.PTR,NBXFR H 3319 3322 3323 JSR PC,UPD.IOC T.ADDR,(SP) #14,(SP) 3 3324 MOV MOV MOV 000000V MOV ADD MOV JSR 000000G ADD MOV CLR PC,UPD.IOC (R1),-(SP) i ST.PTR,* (R1)+ (R1),R3 : ST.PTR i ST.PTR,NBXFR PC,UPD.DMBC T.ADDR,(SP) H 3325 3328 3329 CZRCD3 v02.0 00012¢ 000132 000134 000140 000144 000150 000152 000156 000160 000164 000170 000172 000174 000200 000202 000204 000206 000210 000212 000216 000222 000224 000230 000234 000236 000240 000244 000250 000252 000260 000264 000270 000272 000276 000300 000304 000306 000312 000316 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 062716 011146 004737 013716 062716 011146 004737 005021 013700 061160 005021 000004 #4,(5P) 0000006 0000006 000022 PC,UPD.IOC 000000V PC,UPD.DMBC 0000006 000034 T.ADDR,RO 004737 005021 005703 001425 104450 103015 013716 013746 010346 012746 012746 010600 104417 062706 013700 006300 012760 004737 062706 000402 062701 005202 020227 003644 013700 005060 000207 i ST.PTR,# T.ADDR,(SP) 3330 #22,(SP) (R1),-(SP) ; (R1)+ ; ST.PTR (R1),34(RO) (R1)+ (R1),(SP) 000000G PC,HARD.ERR (R1)+ 000000G 0000006 000000G 000004 000010 0000006 28: 000550 000620 000000G 000014 38: 000012 4 : S5$: 000003 0000006 000062 MOV JSR ADD BR ADD INC CMP BLE MOV CLR RTS 104 words, Maximum stack depth per SEQ 0267 Page 74 (22) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (R1),-(SP) 011116 ; Routine Size: ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 Rout ine Base: $CODE$ 16 words invocation: R3 34 S0 24 CPLAT,(SP) L$LUN, -(SP) R3,-(SP) #MSG.08, -(SP) #4,-(SP) SP,.RO 17 #10,SP CCTLR,RO RO #550,0M. TIMRCRO) PC,XFR.CHK #14,5P S$ #12,R1 R2 R2,43 1s DMC.ADDR,RO 62(R0O) PC + 5532 ST.PTR,* ’ : ST.PTR,* ; ST.PTR ; ST.PTR,» ; ST.PTR ; NBXFR 3331 3334 3335 3338 3339 3342 3346 3348 : NBXFR,* 3349 : : ; *,ST.PTR ; OFFSET ; OFFSET,* 3353 3314 3312 3357 3309 3361 3282 CZRCD3 v02.0 VAX-11 Bliss-16 V4.0-579 SEQ 0268 P 75 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 14-Jun-1985 09:33:42 .'.(23) ROUTINE UPD_DMBC (ADDR, COUNT) : NOVALUE = THIS ROUTINE IS CALLED FROM DM_TALLY TO UPDATE THE TOTAL NUMBER OF BYTES READ OR WRITTEN BY THE FRONT PANEL TEST (FPT) FOR THE CURRENT UNIT. IT IS ASSUMED THAT EACH READ OR WRITE OPERATION PERFORMED BY THE FPT IS EXACTLY ONE BLOCK (512 BYTES) LONG. (A SIMPLE MULTIPLICATION (.COUNT & BLK_SIZE) IS NOT FEASIBLE BECAUSE A 16-BIT OVERFLOW WOULD OCCUR). INPUTS: ADDR - TALLY ADDRESS OF THE LOW-ORDER FIELD OF THE NUMBER OF BYTES READ OR WRITTEN FOR THE CURRENT UNIT COUNT - THE NUMBER OF READ OR WRITE OPERATIONS PERFORMED BY THE FPT BEGIN INCR I FROM 1 TO .COUNT DO BEGIN FOR EACH FPT I/0 OPERATION .ADDR = ..ADDR + BLK_SIZE; IF ..ADDR GEQU 50000 THEN OVF _CHK (.ADDR); UPDATE TOTAL NO. OF BYTES (LOW ORDER) IF LOW ORDER VALUE IS APPROACHING OVERFLOW THEN REDUCE LOW ORDER WORD, UPDATE HIGH ORDER WORDS END; ! END - I/0 OPERATION COUNT LOOP OVF _CHK (.ADDR); ! ONE MORE TIME END; ! ROUTINE UPD_DMBC 000000 004137 000000G 000004 000010 000012 000014 000020 000024 000026 000030 000034 000036 000040 000044 000046 000050 000054 000056 016601 005002 000411 062711 021127 103404 010146 004737 005726 005202 020266 003763 010146 004737 005726 000207 000012 ; Routine Size: 14-Jun-1985 09:41:21 - 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 t-lummmuuuuuuummmnwo—pwnhnnnpo—»no-r-.- CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES ; 001000 141520 000000G 000010 CMP BLE MOV JSR ST RTS 000000G 24 words, Maximum stack depth per .SBTTL UPD.DMBC: JSR MOV CLR BR 1$: ADD CcMP BLO MOV JSR TST 2%: INC Routine Base: invocation: 5 words UPD.DMBC DM EXERCISER ROUTINES R1,$SAVE2 12(SP),R1 R2 24 #1000, (R1) (R1),#141520 24 R1,-(SP) PC,OVF.CHK (SP)+ R2 R2,10(SP) 1 R1,-(SP) PC,OVF.CHK (SP)+ PC $CODE$ + 6052 H ; ADDR,* 3 1 3364 3386 3383 H H 3386 3387 H 3389 s 1 ; I,COUNT 3383 H 3393 H H 3381 3364 000000 000002 000006 000010 000014 000016 000020 000022 000024 000030 000034 000036 000042 Hmmuu&&bbbb&oluounuNNNNhflfiMHHthflwnwhnnnwhn = ~ CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 010146 013700 006300 062700 005710 001433 005310 001031 013700 016001 000301 042701 010137 SEQ 0269 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 7 (24) ROUTINE DM_TIME : NOVALUE = * THIS ROUTINE IS CALLED ONCE PER SECOND FOR EACH CONFIGURED CONTROLLER BY THE DM EXERCISER "EXECUTIVE” (DM_EXER). ITS PURPOSE IS TO MAINTAIN THE SANITY TIMER ON THE FRONT PANEL TEST (FPT) WHICH IS EXECUTING IN THE DIAGNOSTIC MACHINE (DM). THE FPT IS EXPECTED TO PROVIDE THE HOST WITH A NEW SET OF OPERATING STATISTICS IN DM_COMM AT REGULAR INTERVALS. EACH CONTROLLER HAS AN ENTRY IN DM_TIMR WHICH CONTAINS THE REMAINING TIME (IN SECONDS) TO RECEIVE A NEW SET OF STATS. IF THE TIMER FOR THE CURRENT CONTROLLER IS ACTIVE, THEN THIS ROUTINE DECREMENTS THE TIMER, AND DECLARES AN ERROR IF THE TIMER REACHES ZERO. INPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST BEGIN IF .DM_TIMR [.CCTLR] NEQU O THEN BEGIN ! ! DM_TIMR [.CCTLR] = .DM_TIMR [.CCTLR] IF .DM_TIMR [.CCTLR] EQLUV © THEN BEGIN LSUNIT = _CST_ADDR ERRDF (22, EGD_22, DROP_CTLR (.CCTLR, CST_ADDR [STATE] = - 1; [OF _UN, P_UNIT]; EMS_22); DU_FATAL); OFFLINE; IF TIMER IS ACTIVE THEN ! DECREMENT ! IF TIME HAS EXPIRED ! THEN GET DS UNIT NUMBER OF FIRST PLATTER UNDER CONTROLLER "DM EXERCISER TIMEOUT" DROP ALL CONTROLLER'S UNITS MARK CONTROLLER OFFLINE END; END; END; 000000G 000620 000000G 000006 177740 0000006 ! ROUTINE DM_TIME .SBTTL DM.TIME: MOV MOV ASL ADD TST BEQ DEC BNE MOV MOV SWAB BIC MOV DM.TIME DM EXERCISER ROUTINES R1,-(SP) CCTLR,RO RO #DM.TIMR,RO (RO) 1$ (RO) 1$ CST.ADDR,RO 6(RO),R1 R1 #177740,R1 R1,LSUNIT 3 H 3396 3418 H H : 3422 3423 3427 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TRAP .WORD .WORD .WORD MOV MOV 000072 000076 000104 000106 000110 JSR MOV BIC 012601 ;i Routine Size: 1%: 37 words, ; Maximum stack depth per hoe Rout ine Base: invocation: 4 words CMP MOV 55 VAX-11 Bliss-16 v4.0-579 SEQ 0270 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 78 (24) P 3428 CCTLR, -(SP) ®4,-(SP) 3 3429 CST.ADDR,RO 3 3430 (SP)+,(SP)+ (SP)+,R1 H 26 EGD.22 EMS.22 PC,DROP.CTLR #100000,2(R0) RTS PC $CODE$ + 6132 H 3425 3396 —=emcees CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 : 3 ;. ’ : MULTI-DRIVE SUBTEST ROUTINES .;gz i #SBTTL 3439 3440 1 1 ROUTINE MULTI_DRIVE : NOVALUE = 3441 14-Jun-1985 09:41:21 1 1e 14-Jun-1985 09:33:42 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 'MULTI-DRIVE SUBTEST ROUTINES' 3442 3443 3444 33::2 1 1 3 i ! ! ! ! THIS SUBTEST IS THE MOST SIGNIFICANT PART OF THE ENTIRE PROGRAM. THE MULTI-DRIVE SUBTEST IS A HOST-CONTROLLED EXERCISER DESIGNED TO GIVE THE USER AN INDICATION OF HOW ONE OR SEVERAL RC2S DRIVES WOULD PERFORM IN AN OPERATING SYSTEM ENVIRONMENT. ;. ; ;. s ;] ;. ; s 3 : 3447 3448 3449 3450 AL 3452 3453 3454 3455 3456 1 1 1 1 1 1 1 1 1 2 ! ! ! ! ! ! ! - THIS ROUTINE ACTS AS AN "EXECUTIVE” TO THE WHOLE PROCESS. AFTER INVOKING MD_INIT TO INITIALIZE MULTI-DRIVE SUBTEST DATA, THIS ROUTINE ENTERS A LOOP WHICH ISSUES QIOS TO ALL ACTIVE CONTROLLERS AND PROCESSES ANY RESPONSES. IN ADDITION, ALL OUTSTANDING COMMANDS ARE TIMED IN DRV_TIMCHK WHICH IS INVOKED EVERY SECOND. NORMAL TERMINATION OF THIS LOOP OCCURS WHEN QIOS ARE NO LONGER BEING ISSUED, AND ALL OUTSTANDING QIOS HAVE COMPLETED. - H ; i 3 3 ; 3457 2 ! BEGIN 3458 3459 3460 -;:gé 3 2 2 g IF MANUAL THEN PRINTF (MSG_05); MD_INIT (); ! ! ! ! 3463 2 DO ! START OF EXECUTIVE LOOP BEGIN 3 3 3 : 3 H i : ;. 3464 3465 3466 3467 3468 3469 3470 3471 3472 3 3 3 4 4 4 4 4 S 3 ' 3474 3475 S S QIO_GEN (); IF .MX1 GEQ O 6 6 BEGIN : 3 3 3 . : H H ;. 3 3 H 3 : ] : : ' 3 3 3473 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 S S 6 6 6 6 6 6 S S5 S S 6 o 6 6 6 INCR CTLR FROM O TO (.CTLR_CNT - 1) DO BEGIN SET_CPAR (.CTLR); IF QIO_OK () EQLU TRUE THEN BEGIN THEN IF ATTENDED THEN "MULTI-DRIVE SUBTEST START” INIT MULTI-DRIVE SUBTEST DATA ! FOR EACH CONTROLLER ! SET UP CURRENT CONTROLLER PARAMETERS ! IF 0.K. TO ISSUE QIOCS) TO THIS CONTROLLER ! THEN ! GENERATE 1 OR 2 QIOS ! IF SUCCESS ON FIRST QIO ! THEN IF SEND (.MX1) EQLUV SUCCESS THEN QIO [.CTLR] = .QIO [.CTLR] + 1 ELSE PUT_ENV (.MX1); ! ! ! ! ! ATTEMPT TO SEND IT. IF SUCCESS THEN INCR QUTSTANDING QIO COUNT OTHERWISE RETURN ENVELOPE TO POOL END; IF .MX2 GEQ O THEN BEGIN P age ! IF SUCCESS ON SECOND QIO ! THEN IF SEND (.MX2) EQLU SUCCESS THEN QIO [.CTLR] = .QIO [.CTLR] +« 1 ! ATTEMPT TO SEND IT. IF SUCCESS ! THEN ! INCR OUTSTANDING QIO COUNT. _ 79 (25) ' ;. ; ; 3 H SEQ 0271 iy o o= CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.0 H [ 3 : : ' G ; ;. : e MULTI-DRIVE SUBTEST ROUTINES 3494 3495 3496 3497 3498 g;:g 3501 3502 gggz 6 6 6 . S S : 3 H H H ; H ' 3 : H VAX-11 Bliss-16 vV4.0-579 14-Jun-1985 09:33:42 SEQ 0272 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 80 (25) ! OTHERWISE ! RETURN ENVELOPE TO POOL PUT_ENV (.MX2); END; : 4 ELSE END; . ! 0.K. TO ISSUE QIO(CS) IF .DCT_ADDR [STAT] EQLU ONLINE 4 ! IF CONTROLLER IS OMLINE THEN : ! THEN INT_PROC (); ' H 14-Jun-198S 09:41:21 ! PROCESS ANY INTERRUPTS . gggg g 3507 3508 3509 ggig 3 3 3 g PROC_RETPKT (); IF .T_FLAG EQLU TRUE THEN DRV_TIMCHK (); ! ! ! ! ggg g END ! EXECUTIVE PROCESSING LOOP ggig g UNTIL MD_QUIT (); ! UNTIL ALL UNITS ARE FINISHED 3516 1 END; ! ROUTINE MULTI_DRIVE 000000 004137 000004 000006 000010 000014 000020 000022 000024 000026 000032 000036 000040 000042 000044 000050 000054 000060 000062 000066 000072 000074 000076 000102 000106 000110 000114 000116 000122 000126 000132 104450 103007 012746 012746 010600 104417 022626 004737 013702 005001 000461 010146 004737 004737 020027 001042 004737 013700 002415 010016 004737 020027 001003 105261 000404 013716 004737 013700 002415 END; 000000G 000000G 000001 000000V 000000G 000000G ! CONTROLLER LOOP .SBTTL MULTI.DRIVE: JSR TRAP BHIS MOV MOV MOV TRAP CcMP 1%: JSR 24: MOV CLR BR 3s: MOV JSR 000000V 000001 000000V 000602* 000000G 000001 000000G 000602° 000000G 000604° 43 Ss: JSR CcMP BNE JSR MOV BLT MOV JSR cHP BNE INCB BR MOV JSR MOV BLT PROCESS ANY RETURN PACKETS IF ONE SECOND HAS ELAPSED THEN CHECK OUTSTANDING COMMAND TIMERS MULTI.DRIVE MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE2 S0 14 #MSG. 05, -(SP) €1,-(SP) SP,.RO 17 (SP)+,(SP)« PC,MD.INIT CTLR.CNT,R2 R1 9 R1,-(SP) PC,SET.CPAR PC,QI0.0K RO,#1 78 PC,QI0.GEN MX1,R0O Ss RO,(SP) PC,SEND RO,01 LY QIOCR1) Ss MX1,(SP) PC.PUT .ENV MX2,R0 78 : ’ 3439 3458 : 3460 ; SP,» H : : CTLR 3461 3466 : CTLR,s 3469 : 3470 Fl : 3474 3475 3 y 3479 ; o(CTLR) 3 : 3481 3479 3483 H 3487 —— CZRCD3 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000134 000136 000142 000146 000150 000154 000156 000162 000166 000172 000174 000200 000202 000204 000206 000210 000214 000222 000224 000230 000234 000236 000240 010016 004737 020027 001003 105261 000404 013716 004737 005777 100002 004737 005726 005201 020102 002715 004737 123727 001002 004737 004737 006000 103275 000207 ; Routine Size: -~ : 000000G 000001 000000G 000604 000000G 000000G 64: 78: 000000V 8s: 9s: 000000V 000000G 000001 000000V 000000V 108: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV JSR CMP BNE INCB BR MOV JSR TST BPL JSR TST INC CMP BLY JSR CMPB BNE JSR JSR ROR BCC RTS 81 words, Routine Base: $CODES Maximum stack depth per invocation: 7 words RO,(SP) PC,SEND RO,01 63 QIO(R1) 74 Mx2,(SP) PC,PUT.ENV 80CT.ADDR 8s PC,INT.PROC (SP)+ SEQ 0273 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ; #*(CTLR) 10¢ + 6244 3497 3491 3495 3501 H : ; CTLR PC,DRV.TIMCHK PC,MD.QUIT RO 2% PC 81 (25) 3491 ;s PC,PROC.RETPKT T.FLAG,#1 Page CTLR,#* 3503 3467 3466 3507 3508 3510 3514 3439 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 2561 3562 3563 3564 000000 000004 000010 000012 000016 000022 HNN'UNNNNNNNNNN“NNU‘“&.U!UlUlUlUlU‘&UlUlUlbONWUNNNNND-H&D-MHM v02.0 004137 004737 005002 153702 020227 001441 RCUTINE MD_I NIT 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0274 VAX-11 Bliss-16 V4,0-579 Page 82 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (26) : NOVALUE = - THIS ROUTINE IS CALLED BY ROUTINE MULTI_DRIVE TO INITIALIZE DATA ITEMS USED BY THE MULTI-DRIVE SUBTEST. BEGIN INIT_IO_BUFF () IF .ENTRY_RE ASON NEQU NEW_PASS ! PARTITION FREE MEMORY INTO I/0 BUFFERS THEN BEGIN INCR UNI T FROM O TO (MAX_UNITS BEGI N - 1) DO ! ! IF START, RESTART, THEN ! FOR EACH UNIT IF ( (.ENTRY_REASON LEQU RESTART) OR THEN (.BST [.UNIT, TRACK] LSSU .SWP_STRACK) OR (.BST [.UNIT, TRACK] GTRU .SWP_ETRACK)) ! CONT, PWR FAIL IF START OR RESTART OR IF USER CHANGED TRACK LIMITS THEN BEGIN BST [.UNIT, TRACK] = .SWP_STRACK; BST [.UNIT, SECTOR] = 0; DPST [.UNIT] = DP_CNT; INITIALIZE BLOCK SEQUENCE TABLE (USED ONLY FOR SEQUENTIAL LBN MODE) INITIALIZE DATA PATTERN SEQUENCE TABLE (USED ONLY IF “PATTERN 0" WAS SELECTED) END; END; END; IF (C.ENTRY_ REASON NEQU CONT) AND (.ENTRY_ REASON NEGU PWR_FAIL)) ! END UNIT LOOP ! END - IF START, RESTART, ! IF START, RESTART, CONT, PWR FAIL OR NEW PASS THEN ! THEN INCR COUNT FROM O TO ((MAX_UNITS & TALLY_LEN) - 1) DO ! CLEAR ALL STATS TALL Y [.COUNT] = 0; INCR COUNT FROM O TO ((MAX_CTLR * RPS_LEN) - 1) DO ! INITIALIZE RETPKT RP_SAVE [.COUNT] = -1; $ SAVE AREA INCR COUNT F ROM O TO (.NUM_BUFF - 1) DO ! INITIALIZE I/0 BUFFER ALLOCATION BUFF _OWN [.COUNT] = -1; : TABLE IF .MEM_MGMT ! %F SYSTEM HAS MEMORY MANAGEMENT THEN ! THEN MMRO = 1 : ! ENABLE RELOCATION T_FLAG = FAL SE; ! FLAG TO CALL DRV_TIMCHK EVERY SECOND END; 000000G 000000V 0000006 000005 ! .SBTTL MD.INIT:JSR JSR CLR BISB CMP BEQ ROUTINE MD_INIT MD.INIT MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE2 : PC,INIT.IO.BUFF ; R2 i ENTRY.REASON,R2 R2,45 43 3517 3526 3527 CZRCD3 vd2.0 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 000024 005001 000026 020227 000002 000032 101416 000034 010100 000036 006300 000040 006300 000042 026037 000442°' 000000G 000050 103407 000052 010100 000054 006300 000056 006300 0C0060 026037 000442’ 000000G 000066 101413 000070 010100 000072 006300 000074 006300 000076 013760 000000G 000442° 000104 005060 000440° 000110 112761 000025 000540 000116 005201 000120 020127 000017 000124 003740 000126 020227 000003 0C1413 000132 000134 020227 0C0004 000140 001410 000142 005000 000144 005060 000000G 000150 062700 000002 000154 001376 020027 000160 003771 000162 005000 000164 112760 000377 000000G 000172 005200 000174 020027 000037 000200 003771 000202 005000 000204 000404 000206 000377 112760 000000G 000214 005200 000216 020037 000000G 000222 002771 000224 132737 000001 000000G 000232 001403 000234 012737 000001 177572 000242 000000G 105037 000246 000207 ; ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 18: CLR cMP BLOS MOV ASL ASL cMP BLO MOV ASL ASL CcMP BLOS 2s: MOV ASL ASL MOV 3 MOvB INC CLR $: 4s: Ss$: 6$: 78: 8s$: 9s: 10s: Routine Size: 84 words, Routine Base: Maximum stack depth per invocation: 4 words CMP BLE CcMpP BEQ CMP BEQ CLR CLR ADD CMP BLE CLR MOVB INC CMP BLE CLR BR MOvVB INC cMP BLT BITB BEQ MOV CLRB RTS $CODE$ SEQ 0275 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 R1 ; UNIT Page 83 (2 6) s 3531 3534 i UNIT,» 3535 H WIT-. 3536 B WITQ. 3540 +,%(UNIT) 3541 3542 3531 R2,42 2% R1,RO RO RO BST+2(R0O), SWP.STRACK 23 R1,RO RO RO BST+2(RO), SWP.ETRACK 3 R1,RO RO RO SWP.STRACK,BST+2(R0O) BST(RO) #25,0PST(R1) R1 UNIT UNIT,* R1,817 1$ R2,43 3550 6% R2,%4 6% RO TALLY(RO) #2,R0 3551 COUNT #(COUNT) #,COUNT COUNT, + RO,#1376 S RO #377,RP.SAVE(RO) RO RO, 437 7% RO 9 #377 ,BUFF . OWN(RO) RO RO ,NUM.BUFF 8¢ #1 ,MEM.MGMT 10$ #1,94177572 T.FLAG PC + 6506 COUNT *,%(COUNT) COUNT COUNT, # 3553 3554 3553 3555 3556 3555 ; COUNT 3557 ; *,%(COUNT) ; COUNT 3558 3557 ; COUNT, = 3559 3561 3562 3517 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES » 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0276 VAX-11 Bliss-16 V4.0-579 Page 84 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2 7) : NOVALUE = > e ROUTINE INIT_IO_BUFF THIS ROUTINE IS CALLED BY MD_INIT WHEN THE MULTI-DRIVE SUBTEST IS FIRST STARTED. IT IS RESPONSIBLE FOR PARTITIONING FREE MEMORY INTO A COLLECTION OF I/0 BUFFERS. THE NUMBER OF I/0 BUFFERS IS BASED ON THE NUMBER OF CONTROLLERS CONFIGURED FOR TESTING. - e 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 2621 (llvluuw(fluWNuuuwuNNNNNNNNNNNNNNHO-‘HP'.-‘O-'HHHHMH.-‘PMPHPFPFFHMD‘MM”P‘ Q..Q.Q...!.'.i.I.l.l‘........l.'Q'..“.l.....l.l.l.lI..l.l.Q‘...fl...‘“fl‘..C.!.l.l.....‘.l.'..“...'.‘..““““ v02.0 IF THIS HOST PROCESSOR HAS MORE THAN 28K (32K) OF MEMORY, THEN ALL AVAILABLE MEMORY OVER 32K (BUT UNDER 124K) IS DIVIDED EQUALLY AMONG THE NUMBER OF I/0 BUFFERS (4K PER BUFFER MAXIMUM). MEMORY MANAGEMENT REGISTERS ARE SET UP TO MAP ALL VIRTUAL ADDRESSES TO THE SAME PHYSICAL ADDRESSES (FOR NOW). IF THE HOST PROCESSOR HAS ONLY 28K, THEN THE AHOUEE 0;T§REE MEMORY UNDER 28K IS SIMILARLY DIVIDED (WITHOUT MEMORY MANAGEMENT). ONCE THE STARTING ADDRESS OF FREE MEMORY IS DETERMINED ALONG WITH THE BUFFER SIZE, THE BUFFER DESCRIPTOR TABLE (BUFF _DESC) IS INITIALIZED. THIS TABLE REMAINS FIXED THROUGHOUT THE MULTI-DRIVE SUBTEST. IT PROVIggg THE TWO-WORD BUFFER DESCRIPTORS USED IN MSCP COMMAND ENVELOPES. IMPLICIT INPUTS: CTLR_CNT - THE NUMBER OF CONTROLLERS CONFIGURED LSHIMEM - TOP OF FREE MEMORY (IN PAR FORMAT) MEM_SIZE - SIZE (IN WORDS) OF FREE MEMORY FREE_MEM_ADDR - START OF FREE MEMORY BEGIN LOCAL HIMEM : WORD, BLKS_PER_BUFF : BD_LOW : WORD, BD_HIGH : WORD, TEMP : WORD, KTPDR : TOP OF NO. OF BUFFER BUFFER WORD, WORD; NUM_BUFF = _CTLR_CNT & QIO_PER_CTLR; MEM_MGMT = NO; IF .L$HIMEM GTRU %0‘'2000* THEN BEGIN ! PDR INITIALIZATION WORD CALCULATE NO. OF I/0 BUFFERS NEEDED ASSUME NO MEMORY MANAGEMENT IF MORE THAN 32K OF MEMORY THEN MEM_MGMT = YES; HIMEM = _L$HIMEM; IF _HIMEM GTRU %0'7577' THEN HIMEM = %0'7577'; BLKS_PER_BUFF = (. HIMEM - #%0'1777‘) / IF .BLKS_PER_BUFF GTRU %0'200’ THEN BLKS_PER_BUFF = %0'200'; BUFF _SIZE = .BLKS_PER_BUFF % 64; BD_LOW = 0; BD_HIGH = 1; FREE MEMORY (IN PAR FORMAT) 32-WORD BLOCKS PER BUFFER DESCRIPTOR (LO-ORLER) DESCRIPTOR (HI-ORD:R) .NUM_BUFF; SET MEMORY MANAGEMENT FLAG GET TOP OF FREE MEMORY IF GREATER THAN 124K THEN SET LIMIT AT 124K NO. OF 32-WORD BLOCKS PER BUFFER ! MAX BUFFER SIZE = 4K ' BUFFER SIZE IN BYTES ! BUFFERS START AT 32K CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 : : 3 : 3 : 3 : : g 3 3 : 3 : : : 3 : 3 MULTI-DRIVE SUBTEST ROUTINES 3622 3623 3624 3625 3626 3627 3628 3629 3630 3 3 2 3 3 3 3 3 : 2 2 2 3 3 3 3 3 3 3 3 g s 3 3 H 3 3 3 s s 3 : 3 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 2 2 2 2 3 3 3 3 3 3 3 3 H s : H 3 : : 3657 3658 3659 3660 3661 3662 3663 3 3 3 3 3 3 3 : : 3 H 3 3 3 H 3 3656 3664 3665 3666 3667 3668 3669 3670 3671 3672 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 85 (27) END ! OTHERWISE - ONLY 28K OF MEMORY BEGIN INCR J FROM O TO (.NUM_BUFF - 1) DO BEGIN BUFF _DESC [.J, BD_LO] = .BD_LOW; BUFF _DESC [.J, BD_HI] = .BD_HIGH; TEM = .BD_LOW; P BD_LOW = .BD_LOW + .BUFF_SIZE; IF .TEMP GEQU .BD_LOW THEN BD_HIGH = .BD_HIGH + 1; ! FOR EACH BUFF_DESC ENTRY ! LOAD LOW-ORDER WORD ! LOAD HIGH-ORDER WORD ! ! ! ! ADVANCE TO NEXT BUFFER ADDRESS IF 16-BIT CARRY THEN ADVANCE HIGH-ORDER WORD END; IF .MEM_MGMT THEN BEGIN ! IF SYSTEM HAS MEMORY MANAGEMENT ! THEN MMRO = 0; KTPDR = %0'77406' ; KTPDRO = .KTPDR; KTPDR1 = .KTPDR; KTPDR2 = .KTPDR; KTPDR3 = _KTPDR; KTPDR4 = ! MAKE SURE MEM MGMT IS OFF ! PDR LOAD VALUE ! LOAD PDR'S .KTPDR; KTPDRS = .KTPDR; KTPDR6 = .KTPDR; KTPDR7 = .KTPDR; KTPARO = 0; KTPAR1 = %0‘'200'; KTPAR2 = %0'400'; 3 3 ! LOAD PAR'S KTPAR3 = #0'600'; KTPAR4 = %0’'1000'; KTPARS = #%0'1200'; KTPAR6 = %0'1400'; KTPAR7 = %0’'7600'; END; END; 000000 004137 000000G 0000C4 013700 000000G hoe 14-Jun-1985 09:33:42 SEQ 0277 END; 3 3 3 3 3 2 2 1 VAX-11 Bliss-16 V4.0-579 BUFF_SIZE = ((.MEM_SIZE * 2) / .NUM_BUFF) AND %0'177776'; BD_LOW = .FREE_MEM_ADDR; ! START OF BUFFER SPACE BD_HIGH = 0; 3 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 gg:g : ELSE 14-Jun-1985 09:41:21 ! ROUTINE INIT_IO_BUFF .SBTTL INIT.IO.BUFF: JSR MOV 1 2 INIT.IO.BUFF MULTI-DRIVE SUBTEST ROUTINES R1,$SAVES CTLR.CNT,RO : ; 3565 3604 b CZRCD3 v02.0 000010 000012 000014 000016 000020 000024 000030 000032 000040 000042 000050 000054 000060 000062 000066 000070 000074 000076 000102 000106 000110 000114 000116 000120 000122 000124 000130 000134 000136 000142 000144 000150 000152 000154 000160 000164 000172 000176 000200 000202 000204 000206 000210 000212 000216 000222 000224 000230 000232 000234 000236 000240 000242 000244 000252 000254 000260 CZRCDBO RC25 CISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 006300 006300 006300 006300 010037 105037 010005 023727 101441 112737 013700 020027 101402 012700 010046 162716 010546 004737 020027 101402 012700 000300 106000 0C6000 006000 142700 010037 005002 012703 000416 013746 006316 010546 004737 010037 042737 013702 005003 005001 000416 010100 006300 006300 010260 010360 010204 063702 020402 103401 005203 005201 020105 002760 132737 001453 005037 012700 0000006 0000006 MOV 000000G 002000 CMP 000001 000000G 000000G 007577 MOV CMP 007577 1$: 001777 0000006 000200 000200 2% 000077 0000006 000001 000000G 3s: 000000G 000000G 000001 000000G 000000G 4% : 5$: 000000G 0000026 000000G 000001 177572 077406 i 000000G 6%: 78: SEQ 0278 VAX-11 Bliss-16 V4.0-579 Page USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 27 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV MOV suBs JSR CMP BLOS MOV SWAB RORB ROR ROR BICB MOV CLR MOV BR MOV ASL 'MOV JSR MOV BIC MOV CLR CLR MOV ASL ASL MOV MOV MOV ADD CMP BLO INC INC RO RO RO RO RO,NUM.BUFF MEM. MGMT RO,R5 ,% ;s NUM.BUFF 3605 3615 3606 ; *,HIMEM 1$ #7577,R0 RO, -(SP) ®1777,(SP) HIMEM, 3610 3611 3612 ; *,HIMEM ; HIMEM, 3614 3615 PC,.BL$DIV RO, #200 24 #200,R0 i BLKS.PER.BUFF & 3616 i *,BLKS.PER.BUFF 3618 3619 §$HIHEH.02000 $ #1 ,MEM.MGMT L$HIMEM,RO RO, #7577 ; #77,R0 RO ,BUFF.SIZE R2 #1,R3 4% MEM.SIZE, -(SP) BD.LOW 3620 3621 3606 3627 ; =,BD.LOW ; BD.HIGH s J 3628 3629 3633 P Juk 3636 *,B0.HIGH (SP) PC,BL$DIV RO,BUFF.SIZE #1 ,BUFF ,SIZE FREE .MEM.ADDR,R2 R3 R1 7% R1,RO RO RO R2 ,BUFF .DESC(RO) R3,BUFF .DESC+2(R0O) R2,R4 BUFF ,SIZE,R2 CMP R4 ,R2 64 R3 R1 R1,RS BITB BEQ CLR MOV #1 ,MEM MGMT 8¢ 4177572 #77406,R0 BLT : 5 ; BD.LOW,=* ; ; ; ; * BD.HIGH, BD.LOW,TEMP *,BD.LOW TEMP,BD.LOW ; BD.HIGH : J i Jo‘ 3637 3638 3639 3640 3642 3633 3646 : #.KTPDR 3650 3651 CZRCD3 v02.0 000264 000270 000274 000300 000304 000310 000314 000320 000324 000330 000336 000344 000352 000360 000366 000374 000402 000404 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MULTI-DRIVE SUBTEST ROUTINES 010037 010037 010037 010037 010037 010037 010037 010037 005037 012737 012737 012737 012737 012737 012737 012737 022626 000207 172300 172302 172304 172306 172310 172312 172314 172316 172340 000200 000400 000600 001000 001200 001400 007600 172342 172344 172346 172350 172352 172354 172356 8s$: MOV MOV CMP RTS RO,84172300 RO,80172302 RO,84172304 RO,8#172306 RO,84172310 RO,80172312 RO,84172314 RO,8#172316 80172340 #200,84172342 #400,94172344 #600,84172346 #1000, 84172350 #1200, 84172352 #1400, 84172354 #7600, 84172356 SEP)O.(SP)o ; Routine Size: 131 words, Routine Base: $CODE$ + 6756 : Maximum stack depth per invocation: 9 words SEQ 0279 VAX-11 Bliss-16 V4.0-579 Page 87 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 27) ; ; ; ; ;s : ; ; : ; KTPDR,* KTPDR,# KTPDR, * KTPDR, * KTPDR, = KTPDR, * KTPDR, KTPDR, 3652 3653 3654 3655 3656 3657 3658 3659 3661 3662 : 3663 . 3664 ; ; H ; 3665 3666 3667 3668 : : 3594 3565 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 3673 ROUTINE QIO_OK = 3676 3677 ! 3675 000000 000004 000010 000012 000016 000022 000026 000032 000036 000040 000044 000050 000052 000056 000060 000062 A. B. e e e ey Y S S S S O L 1 013700 005760 100023 013700 116000 042700 062700 020027 101010 013700 105760 001403 012700 000207 005000 000207 ; Routine Size: ;: THIS ROUTINE IS CALLED BY THE MULTI_DCRIVE "EXECUTIVE” IN ORDER TO DETERMINE WHETHER OR NOT A QIO REQUEST (OR QIO PAIR) SHOULD BE GENERATED TO THE CURRENT CONTROLLER. A VALUE OF “TRUE” IS RETURNED IF THE CONTROLLER MEETS 3 REQUIREMENTS: C. THE CONTROLLER IS ONLINE; THE NUMBER OF OUTSTANDING QIOS IS AT LEAST 2 LESS THAN THE MAXIMUM ALLOWED FOR ANY ONE CONTROLLER; THERE IS AT LEAST ONE UNIT UNDER THE CONTROLLER WHICH IS STILL UNDER TEST. IF ANY OF THESE TESTS FAIL, THEN A VALUE OF "FALSE” IS RETURNED. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST BEGIN IF .CST_ADDR [STATE] EQLU ONLINE THEN BEGIN ¥FE§.010 {.CCTLR] H + 2) LEQU QIO_PER_CTLR ! IF CONTROLLER IS ONLINE ! IF OUTSTANDING QIO COUNT IS 0.K. ! IF THERE IS VALID UNIT ! "TRUE” EXIT POINT ! "FALSE"” EXIT POINT BEGIN R 3700 3701 3702 3703 3704 3705 3706 3708 3710 3711 3712 3714 SEQ 0280 VAX-11 Bliss-16 V4.0-579 Page 88 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (28) e AR Rl 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3694 3695 3696 3697 3698 3699 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 %F .CST_ADDR [U_CNT] NEQU O HEN RETURN TRUE; END: RETURN FALSE; END; 000000G 000002 QI0.0K: 000000G 000000G 177400 000002 000020 000000G 000005 000001 1$: 26 words, Maximum stack depth per Routine Base: invocation: 0 words .SBTTL MOV TST BPL MOV MOVB BIC ADD CMP BHI MOV TST8B BEQ MOV RTS CLR RTS $CODE$ QIO0.O0K MULTI-DRIVE SUBTEST ROUTINES CST.ADDR,RO : 2(RO) 1s CCTLR,RO : QIOCRO),RO #177400,R0 #2,R0 RO, #20 1 CST.ADDR,RO H S(RO)" ; 14 ; #1,RO 3 PC . RO : PC 3 + 7364 3696 3700 3704 3706 3694 3673 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 000000 000002 000004 000006 000012 000016 000020 000024 000026 000032 000034 000036 000042 000044 000050 000052 000054 000056 ; ;: b 010146 005001 010146 012746 004737 022626 105760 001012 105761 001007 005201 020127 003760 012700 000401 005000 012601 000207 ROUTINE MD_QUIT = * 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 20 1O 1O 1O G4 G G G G G G G G G T 1O 1) 10 0 et s et et (et et i et et et “fl“.‘-.l..M“'“.‘.‘.‘“‘-“-““--“-.I- v02.0 ssopozax ~ VAX-11 Bliss-16 V4.0-579 age USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (29) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY THE MULTI_DRIVE EXECUTIVE FOR DETERMINING THE END OF THE MULTI-DRIVE SUBTEST. ITS PURPOSE IS TO EXAMINE THE NUMBER OF TESTABLE UNITS REMAINING ON EACH CONTROLLER, AND THE NUMBER OF OUTSTANDING QIOS. IF BOTH OF THESE PARAMETERS ARE ZERO FOR ALL CONTROLLERS, THEN THIS ROUTINE RETURNS A VALUE OF “TRUE”. OTHERWISE, THE MULTI-DRIVE SUBTEST EXECUTIVE LOOP MUST CONTINUE, AND A VALUE OF "FALSE” IS RETURNED. BEGIN INCR CTLR FROM O TO (MAX_CTLR - 1) DO BEGI IF .CST [.CTLR, U_CNT] NEQU O THEN RETURN FALSE ELSE IF .QIO0 [.CTLR] NEQU O THEN RETURN FALSE; %:E:T LEAST ONE VALID UNIT REMAINS DON'T TERMINATE MULTI-DRIVE SUBTEST OTHERWISE (NO UNITS REMAIN) %FEAT LEAST ONE QIO OUTSTANDING HEN DON'T TERMINATE SUBTEST END; RETURN TRUE; ! END; ! ROUTINE MD_QUIT 000016 000000G .SBTTL MD.QUIT:MOV CLR 18: MOV MOV JSR CcMP 000005G 000000G 000003 000001 2%: 3s: TST8 BNE TSTB BNE INC CMP BLE MOV BR CLR MOV RTS Routine Size: 24 words, Routine Base: $CODE$ Maximum stack depth per invocation: 4 words ALL PARAMETERS ARE ZERO - END OF SUBTEST MD.QUIT MULTI-DRIVE SUBTEST ROUTINES R1,-(SP) : R1 ; CTLR R1,-(SP) i CTLR,#* #16,-(SP) PC,BLSMUL 3715 3i2y 3732 (SP)+,(SP)+ CST+5(RO) 2% QIOCR1) 2% R1 R1,#3 1$ #1,RO 3 RO (SP)+,R1 PC + 7450 H ; *(CTLR) H ; CTLR ; CTLR,* 3734 3736 3738 3729 : 3727 3 3715 CZRCD3 vo2.0 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 OIUINNNNNNNNNNNNU““NNNNNNNNNNNF‘FHHPMPP‘.‘D‘PMHFHPHHPFO‘FPPD‘Phflh-'-. 3745 3746 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0282 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ROUTINE QIO_GEN : NOVALUE = * THIS ROUTINE IS CALLED BY THE MULTI_DRIVE EXECUTIVE FOR AN ONLINE CONTROLLER ELIGIBLE TO RECEIVE I/0 TRANSFER REQUESTS. IT IS RESPONSIBLE FOR SECURING ONE OR TWO MSCP ENVELOPES AND LOADING THEM WITH VARIOUS PARAMETERS COMPRISING THE I/0 REQUEST. THE I/0 REQUEST GENERATED HERE IS DESTINED TO A PARTICULAR UNIT SELECTED AT RANDOM FROM THOSE CONFIGURED UNDER THE CURRENT CONTROLLER. EACH FIELD OF THE ENVELOPE(S) IS LOADED WITHIN INDIVIDUAL ROUTINES (QIO_FUNC, QIO_LBN, QIO_SIZE, ETC.). MOST OF THE VALUES SELECTED FOR EACH FIELD ARE BASED ON A SET OF RANDOM NUMBER GENERATED AT THE START. UNDER NORMAL CIRCUMSTANCES, ONLY ONE I/0O REQUEST IS GENERATED. HOWEVER, IF THIS I/0 REQUEST IS A "WRITE”, AND IF THE OPERATOR SELECTED THE OPTION FOR HOST WRITE-COMPARES, THEN A SECOND “READ” REQUEST WILL BE GENERATED WITH THE SAME LBN AND BYTE COUNT. AFTER THE ENVELOPE(S) HAVE BEEN LOADED, THIS ROUTINE REGAINS CONTROL AND ATTEMPTS TO GET ONE OR TWO I/0 BUFFERS FOR THE ACTUAL DATA TRANSFERS. THE SUCCESS / FAIL STATUS OF THIS ENTIRE OPERATION IS PASSED BACK TO THE CALLER THROUGH THE GLOBALS “MX1” AND “MX2“; THEY CONTAIN VALID MSCP ENVELOPE INDECES, OR -1. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER BEGIN MX2 = -1; IF (MX1 = GET_ENV (.CCTLR)) LSS O THEN RETURN; IF (MX2 = GET_ENV (.CCTLR)) LSS © THEN BEGIN PUT_ENV (.MX1); MX1 = -1; RETURN; ! ASSUME FAILURE IN SECURING 2ND ENVELOPE ! TRY TO GET 1ST ENVELOPE. ! THEN ! NO POINT IN CONTINUING ! TRY TO GET 2ND ENVELOPE. ! THEN IF FAILURE IF FAILURE ! RETURN 1ST ENVELOPE TO POOL ! INDICATE FAILURE ! DONE END; MAD1 = MSCP_ENV + MAD2 = MSCP_ENV + GET_RANDOM (); (.MX1 & ENV_LEN & 2); (.MX2 # ENV_LEN # 2); QIO_UNIT (); QIO_FUNC (); QIO_LBN (); QIO_SIZE (); GET_IO_BUFF (MAD1 [BUF_0)); IF .MX2 GEQ 0 CALCULATE STARTING ADDRESSES OF BOTH ENVELOPES GENERATE A SET OF RANDOM NUMBERS LOAD RANDOM UNIT NUMBER INTO ENVELOPES LOAD RANDOM FUNCTION CODE (OPCODE) LOAD LBN (RANDOM OR SEQUENTIAL) LOAD RANDOM BYTE COUNT TRY TO GET AN I/0 BUFFER %FE;HO QIOS ARE H TO BE ISSUED P age 91 (30) CZRCDBO RC25 DISK EXERCISER 3 3 3 3 : H s : : 3 : 3 3 $ 3 3 : : 3 3 3 : 3 3 3 3 H 3 : 3 H 3 H : 3819 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3835 3836 000000 000006 000012 000016 000022 000024 000026 000030 000034 000040 000044 000046 000050 000052 000056 000062 000070 000072 000074 FNNNNNMMMM“MNNNNMNO...OUMMMM&OOOMHU MULTI-DRIVE SUBTEST ROUTINES 3 012737 013746 004737 010037 005726 005700 002564 013746 004737 010037 005726 005700 002011 013746 004737 012737 005726 000207 013746 SEQ 0283 VAX-11 Bliss-16 V4.0-579 Page 92 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (30) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 GET_IO_BUFF (MAD2 [BUF_0]); IF .MAD2 [BUF_0] THEN BEGIN ! TRY TO GET 2ND I/0 BUFFER ! IF 2ND BUFFER ALLOCATION FAILED ! THEN IF NOT .MAD1 [BUF_0) ! IF 1ST I/0 BUFFER WAS ALLOCATED ! THEN THEN BEGIN PUT_IO0_BUFF (MAD1 [BUF_0]); MAD1 [BUF_0] = -1; ! RETURN 1ST I/0 BUFFER TO POOL ! MARK 1T AS FAILED END; PUT_ENV (.MX2); ! RETURN 2ND ENVELOPE TO POOL ! INDICATE FAILURE END; ! IF 2ND I/0 BUFFER ALLOCATION FAILED ! IF TWO QIOS ARE TO BE ISSUED ! ! IF 1ST I/0 BUFFER ALLOCATION FAILED THEN ! ! RETURN 1ST ENVELOPE TO POOL INDICATE FAILURE MX2 = -1; END; IF .MAD1 [BUF_0] THEN BEGIN PUT_ENV (.MX1); MX1 ELSE = -1; END OTHERWISE (ALL IS 0.K.) IF .MAD1 [OPCODE] EQLU OP_WRT THEN FILL_BUFF (); %FE§ST OPCODE IS A WRITE H FILL 1ST I/0 BUFFER WITH APPROPRIATE DATA PATTERN END; 177777 0000006 000000G 000602 ! ROUTINE QIO_GEN 000604 0000006 0000006 000604’ 000602 000000G 177777 000602 .SBTTL QIO.GEN MULTI-DRIVE SUBTEST ROUTINES MOV JSR MOV ST ST BLT MOV JSR MOV ST TST CCTLR, -(SP) QIO0.GEN:MOV BGE MOV JSR 000602’ MOV 1$: TST RTS MOV PC,GET.ENV RO, MX1 3776 3777 i (SP)+ RO 64 3779 3780 CCTLR, -(SP) PC,GET.ENV RO ,MX2 (SP)+ RO 1 MX1,-(SP) PC,PUT.ENV #-1,MX1 (SP)+ PC MX1,-(SP) H 3 MX2 3784 3785 3786 3782 3790 CZRCD3 vo2.0 000100 000104 000110 000114 000120 000124 000130 000134 000140 000144 000150 000154 000160 000164 000170 000174 000200 000204 000210 000212 000216 000222 000226 000232 000240 000242 000246 000254 000256 000262 000264 000270 000274 000302 000306 000312 000320 000324 000332 000334 000340 000344 000352 000354 000360 000366 000370 000374 000400 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 012746 004737 062700 010037 013716 012746 004737 062700 010037 004737 004737 004737 004737 004737 013716 062716 004737 005737 002443 013716 062716 004737 013700 032760 001427 013700 032760 001012 012716 060016 004737 013700 012760 013716 004737 012737 013700 032760 001410 013716 004737 012737 000410 013700 126027 001002 004737 062706 000207 ;: Routine Size: 000104 0000006 0000006 000606 000604 000104 000000G 0000006 000610 000000V 000000V 000000V 000000V 000000V 000606 000030 0000006 000604 Page 93 (30) H 3791 P 3792 3793 PC,BL$MUL OMSCP.ENV,RO RO,MAD2 PC,GET.RANDOM PC,.QIO.UNIT : PC,QIO0.FUNC PC.QIO.LBN : 3 PC,QI0.SIZE F MAD1,(SP) ©30,(SP) PC,GET.IO0.BUFF Mx2 34 MAD2,(SP) @30, (SP) PC,GET.IO0.BUFF MAD2,RO €1,30(R0) 38 MAD1,RO 000606' 000001 000030 €1,30(RO) 24 #30,(SP) RO,(SP) PC,PUT.I0.BUFF MAD1,RO #-1,30(R0O) Mx2,(SP) PC,PUT.ENV 000030 0000006 000606 177777 000030 000604 * 000000G 177777 000604’ 000606 000001 000030 2%: 3s: 000602 000000G 177777 000602° 000020 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 9104,-(SP) PC,BL$MUL OMSCP.ENV,RO RO,MAD1 Mx2,(SP) 000610 000030 0000006 000610 000001 000030 000606 SEQ 0284 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 4s: 000042 000000V 000006 129 words, S$: 6$: Rout ine Base: ;3 Maximum stack depth per invocation: 4 words RTS $CODE$ MAD1,RO #1,30(R0O) 43 MXx1,(SP) PC,PUT.ENV ®-1,MXx1 54 MAD1,RO 20(R0O),#42 S5 PC,FILL.BUFF 6,S5P PC + 7530 3 3794 3795 379 3797 ) 3798 : 3802 : 3803 H 3807 F 3811 H 3812 : 3816 : 3817 : 3823 : 3827 : 3828 H : 3823 3832 H : H 3834 3774 3745 - — SEQ 0285 VAX-11 Blies-16 V4.0-579 Page 94 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (31) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ROUTINE GET_RANDOM : NOVALUE = > o-l\)muubbbbbb.uuumNNNNNNNNNi—Ho-no-nv-o—o-v-o-nnn CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES THIS ROUTINE IS CALLED BY QIO_GEN TO GENERATE A SET OF RANDOM NUMBERS, AND TO STORE THEM INTO THE RANDOM NUMBER TABLE (RANDOM). THE RANDOM NUMBERS ARE USED TO SELECT I/0 REQUEST PARAMETERS FOR THE CURRENT QIO OR QIO PAIR. IN ADDITION, IF DATA PATTERN #1 IS BEING USED, THESE RANDOM NUMBERS WILL BE USED IN THE WRITE OPERATION. A TEST IS MADE TO KvOID GENERATING THE RANDOM NUMBER 100000-OCTAL. THIS NUMBER, IF USED AS THE DIVIDEND IN A “MOD” OPERATION (E.G., QIO_LBN) , REGARDLESS OF THE DIVISOR, RESULTS IN AN OUT-OF -RANGE REMAINDER. BEGIN OWN SEED1 : WORD INITIAL (%0'123456'); LOCAL SEED2 : WORD; SEED2 = ((.MINUTES *+ 5) OR .SECONDS) t+ S OR .TICKS; DECR_COUNT FROM (RDM_LEN - 1) TO 0 DO BEGIN Do BEGIN SEED1 = (.SEED1 + .SEED2 + 1) # 4; SEED2 = (.SEED2 7 4) + .SEED1; RANDOM [.COUNT) = ,SEED2; END UNTIL .RANDOM [.COUNT] NEQU #0'’'100000'; END; I END; 123456 SEED1: .PSECT $GGG$, RO .WORD .SBTTL .PSECT 004137 0000006 GET.RANDOM: 013746 012746 004737 010016 053716 012746 0000006 000005 0000006 MOV MOV JSR MOV 8IS MOV 000000G 000005 | -54322 JSR GET.RANDOM MULTI-DRIVE SUBTEST ROUTINES $CODEs, RO R1,$SAVE3 MINUTES, -(SP) 5,-(SP) PC.BL$SHF RO,(SP) SECONDS, (SP) o5,-(SP) P : 3837 3859 CZRCO3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000032 000070 00007 000100 000104 000110 0001:4 000116 000120 000124 000126 000132 000134 000140 000142 000146 004737 010002 053702 012701 013703 010200 060300 006300 006300 010037 062737 010216 012746 004737 013703 060300 010002 010261 005726 020227 00175C 162701 100343 062706 000207 ; Routine Size: — ; Maximum stack 0000006 0000006 000036 002552 002552 000004 1$: 2%: 002552° 000004 0000006 002552 000634 000002 000006 52 words, JSR MOV BIS MOV MOV Rout ine Base: invocation: 9 words SEQ 0286 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 9e 95 (31) PC,BL$SHF &,SEED2 *,SEED2 436,R1 *,COUNT SEED1,R3 MOV ADD ASL ASL MOV ADD MOV MOV JSR MOV ADD MOV MOV TST $CODE$ VAX-11 Bliss-16 vV4.0-579 RO,R2 TICKS,R2 R2,RO R3,RO RO RO RO,SEED1 &4 ,SEED1 R2,(SP) ; PC,BL$DIV SEED1,R3 R3,RO RO,R2 R2 ,RANDOM(R1) : *,SEED2 i SEED2,«(COUNT) (SP)+ CcMP BEQ SuB BPL ADD RTS 100000 depth per 14-Jun-198S 09:41:21 14-Jun-1985 09:33:42 R2,#-100000 23 #2,R1 #6,SP PC + 10132 SEED2, + SEED2,+ 3860 3866 3867 : 3868 3864 3871 ; #,COUNT 3260 3851 3837 CZRCO3 CZRCOBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES ROUTINE QIO_UNIT : NOVALUE = THIS ROUTINE IS CALLED BY QIO_GEN TO RANDOMLY SELECT ONE UNIT CONFIGURED UNDER THE CURRENT CONTROLLER (CCTLR) TO BE USED FOR THE CURRENT QIO OR QIO PAIR. THE UNIT SELECTED IS BASED ON THE NUMBER OF UNITS ELIGIBLE TO RECEIVE AN I/0 REQUEST (FROM 1 TO 4) AND THE FIRST RANDOM NUMBER IN THE RANDOM NUMBER TABLE (RANDOM). IMPLICIT INPUTS: CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST IMPLICIT OUTPUTS: THE MSCP UNIT NUMBER (PLATTER ADDRESS) IS LOADED INTO THE APPROPRIATE FIELD OF BOTH MSCP ENVELOPES. BEGIN LOCAL UNIT : WORD, NTH_UNIT : WORD; ! ! CASE .CST_ADDR [U_CNT] UNIT NUMBER ORDINAL NUMBER OF CHOSEN UNIT ! DETERMINE ORDINAL UNIT NUMBER FROM 1 TC 4 OF SET [1] : NTH_UNIT = }; b | [2] : NTH_UNIT = (.RANDOM (O] AND 1) + 1; '10R2 {3] : NTH_UNIT = ABS (.RANDOM [O] MOD 3) « 1; ' 1, 2, OR 3 [4] : NTH_UNIT = (.RANDOM [O) AND 3) + 1; ! 1,2, 3. OR &4 £OUTRANGE] : NTH_UNIT = 1; ! IN CASE CONTROLLER JUST WENT DOWN ES; INCR OFFSET FROM (O + OF _UN) TO (3 « OF_UN) DO BEGIN IF _CST_ADDR THEN [.OFFSET, P_PRES] EQLU PRESENT BEGIN UNIT = _CST_ADDR [.OFFSET, IF .CPT [.UNIT]) THEN BEGIN NTH_UNIT IF = _NTH_UNIT - P_UNIT); 1; ! LOOP THROUGH EACH CST UNIT ! ! IF UNIT IS PRESENT THEN ! GET (DRS) UNIT NUMBER ! IF THIS UNIT IS ACTIVE ! THEN ! THIS IS AN ELIGIBLE UNIT ! DECREMENT ORDINAL COUNT BEGIN ! ! THEN THIS IS THE CHOSEN UNIT SET_UPAR (.OFFSET); EXITLOOP; ! ! SET UP UNIT-RELATED DATA DONE ! UNIT IS ACTIVE _NTH_UNIT EQLV O THEN ! IF DOWN TO O END; END; SEQ 0287 Page 96 & 2) VAX-11 Bliss-16 V4,0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 - 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 2916 3917 3918 3919 2920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 2931 2932 ubmm\hoomo‘mmwu‘mabhaaou.uuummmmwmmmmwmmmmmmm»no—n»--o-»no-o-o-.--n.-n .u...c.-.n.lin.o.'.l.-'.nlo.o.-.o.‘Qa.o.o.v.o..nc.otn.l.u.o.....o.nta.o.c.n.nQto-'oflu.l.a.fl“.flM.t.l.o.c.c.c.o v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 3933 3934 3935 3936 3937 3938 3939 3940 RN W W v02.0 END; MAD1 [PL_ADDR] MAD2 [PL_ADDR] 000000G 000004 000010 000014 000020 000022 000026 000030 000032 000036 000042 000044 000050 000054 000056 000062 000066 000072 000074 000100 000102 000104 000106 013700 116000 042700 005300 020027 101003 006300 066007 012703 000427 013703 042703 000421 013746 012746 004737 010016 004737 010003 005203 022626 000405 013703 042703 005203 012702 010200 006300 063700 032710 001417 011001 000301 042701 132761 001407 005303 001005 010246 004737 005726 000404 005202 020227 000000G 000005 000114 000120 000122 000126 000130 000132 000136 000142 000144 000146 000150 000154 000162 000164 000166 000170 000172 000176 000200 0002C2 0002C4 ! CST UNIT LoOOP = = .CPLAT; .CPLAT; ! LOAD PLATTER ADDRESS (MSCP UNIT NUMBER) BOTH MSCP ENVELOPES END; 004137 ! ROUTINE QIO_UNIT QIO0.UNIT .SBTTL QIO.UNIT MULTI-DRIVE SUBTEST ROUTINES JSR R1,$SAVE3 CST.ADDR,RO S(RO),RO #177400,R0 MOV MOvVB 177400 BIC DEC 000003 2%: 000634 177776 000634 000003 000000G ASL ADD MOV BR 3s: MOV 4s: BIC BR MOV MOV JSR MOV 0000006 JSR MOV INC 000634 177774 000003 CMP BR S$: MOV 6$: 7%: 8$: INC MOV MOV ASL ADD 000000G 040000 177740 BIC BIT BEQ MOV SWAB BIC BITB BEQ DEC BNE 000000G PC,BL$MOD RO,(SP) PC,BL$ABS RO,R3 R3 (SP)+,(SP)+ 74 RANDOM,R3 #177774,R3 R3 #3,R2 R2,RO RO CST.ADDR,RO #40000,(RO) 9 (RO),R1 JSR BR INC CcMP R2 R2,46 187 9s: P.AAACRO),PC #1,R3 7% RANDOM,R3 #177776,R3 64 RANDOM, -(SP) R1 #177740,R1 #1,CPT(R1) 9 R3 9 R2,-(SP) PC,SET.UPAR MOV 0000006 000006 3876 3899 CcMP BHI 000000 000001 000001 SEQ 0238 VAX-11 Bliss-1€ V4,0-579 Page 97 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (32) ! UNIT IS PRESENT END; 0C0000 000110 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 Case dispatch *,NTH.UNIT *,NTH.UNIT *,NTH.UNIT 3902 3899 3903 3904 *,NTH.UNIT NTH.UNIT *,NTH.UNIT =,NTH. UNIT NTH.UNIT 3899 3905 OFFSET,+ *,0FFSET 3909 3912 *,UNIT 3916 *,%(UNIT) 3917 NTH.UNIT 3921 3922 3926 UNIT *,UNIT OFFSET ,# (SP)+ 10¢ OFFSET OFFSET ,+ 3924 3909 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 000210 000212 000216 000224 000230 000236 ; MULTI-DRIVE SUBTEST ROUTINES 003746 013700 013760 013700 013760 000207 Routine Size: 000606 000000G 000014 000610’ 000000G 000014 80 words, 10s: Rout ine Base: 7 words 000000 000000 000006 000020 000052 BLE MOV MOV MOV MOV RTS ; Maximum stack depth per invocation: 000000 000002 000004 000006 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 P.AAA: 1$: $CODES SEQ 0289 VAX-11 Bliss-16 V4.0-579 Page 98 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (32) 8 MAD1,RO H 3937 MAD2,RO H 3938 : 3876 3 %gi? Table for QIO.UNIT+0032 3899 CPLAT, 14(RO) EELAT.14(RO) 10302 .PSECT $PLITS, .WORD .WORD .WORD .WORD 0 6 20 52 RO, D : ; ; : [3%] (48] [58] CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3930 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 hoe 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0290 VAX-11 Bliss-16 V4.0-579 Page 99 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3 3) ROUTINE QIO_FUNC : NOVALUE = * 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 qu.b&bbutbAotololbuuNNNNNNNNNMo—-HHr-o-r-o-rat-t-o-b-o-o-pt-o-b-o-t-o-nno-o-t—o-o-'-» v02.0 THIS ROUTINE IS CALLED BY QIO_GEN TO SELECT THE I/0 FUNCTION (OPCODE) TO BE USED FOR THE CURRENT QIO OR QIO PAIR. THE FUNCTION IS DETERMINED BY THE FOLLWING ALGORITHM: IF THE CHOSEN UNIT IS PROTECTED THEN FUNCTION = READ ELSE (UNPROTECTED) IF OPERATOR SELECTED “WRITE-ONLY” OPTION THEN ELSE FUNCTION = WRITE FUNCTION (WRITE OR READ) IS BASED ON A RANDOM NUMBER IN ADDITION, IF THE OPERATOR SELECTED THE OPTION OF PERFORMING WRITECOMPARES AT THE HOST, AND IF A “WRITE” FUNCTION WAS CHOSEN ABOVE FOR THE FIRST QIO, THEN A “READ” OPCODE IS LOADED INTO THE SECOND MSCP ENVELOPE. OTHERWISE, THE SECOND MSCP ENVELOPE IS RETURNED TO THE POOL. IMPLICIT INPUTS: CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST CUOFF - CURRENT UNIT CST OFFSET IMPLICIT OUTPUTS: THE OPCODE FIELD OF ONE OR BOTH MSCP ENVELOPES IS LOADED. BEGIN LOCAL FUNC : WORD; IF .CST_ADDR [.CUOFF, THEN FUNC ELSE P_PROT] EQLU PROTECTED = OP_RD BEGIN IF BIT_TST (SWP_FLAGS, THEN FUNC = OP_WRT ELSE SWF_W0) BEGIN IF (.RANDOM [1] AND 1) THEN ELSE END; END; FUNC = OP_RD FUNC = OP_WRT; ! OPCODE (READ OR WRITE) ! ' ! ! %FEKNIT IS PROTECTED TH OTHERWISE (UNIT IS UNPROTECTED) ! ' ! ! %FESPERATOR CHOSE WRITE-ONLY OPTION TH SET FUNCTION TO WRITE OTHERWISE SET FUNCTION TO READ ! USE 2ND RANDOM NUMBER TO SELECT ! ! ! ! EITHER READ OR WRITE CZRCD3 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 wmmuuuuummmmuuubuumuuuboobaaubuuu&uu!\m)m v02.0 SEQ 0291 VAX-11 Bliss-16 V4.0-579 Page 100 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (33) CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 IF (MAD1 [OPCODE] = THEN BEGIN ! LOAD CHOSEN OPCODE. ! %FESONTROLLER DOES WRITE-COMPARES .FUNC) EQLU OP_WRT ! %FEBIT_TST (SWP_FLAGS, HEN SWF_CWC) ' MAD1 [MODIFY] = MD_CMP; IF BIT_TST (SWP_FLAGS, THEN BEGIN THEN IF WRITE TH ! ADD COMPARE MODIFIER SWF_HWC) ! ! MAD1 [MODIFY] = MD_EXP; MAD2 [OPCODE] = OP_RD; MAD2 [MODIFY] = MD_EXP; IF HOST DOES WRITE-COMPARES THEN ! SET EXPRESS REQUEST MODIFIER ! SET READ OPCODE INTO 2ND MSCP ENVELOPE ! SET EXPRESS REQUEST MODIFIER END; ELSE END BEGIN IF BIT_TST (SWP_FLAGS, THEN MAD1 [MODIFY] SWF_CRC) = MD_CMP; ! OTHERWISE ! ! ! %FECONTROLLER DOES READ-COMPARES THEN ADD COMPARE MODIFIER F - FUNCTION IS READ END; ! IF NO OPCODE IN 2ND ENVELbPE IF .MAD2 [OPCODE] EQLV O THEN BEGIN ! THEN PUT_ENV (.MX2); MX2 = -1; ! ! RETURN 2ND ENVELOPE TO POOL MARK IT UNUSED ! ROUTINE QIO_FUNC END; END; .SBTTL .PSECT 010542 000000 004137 000000G 000004 000010 000012 000016 000022 000024 000032 000034 000042 000044 000050 013700 006300 063700 032710 001410 132737 001007 032737 001403 012702 000402 000000G QIO0.FUNC: JSR MOV ASL 000000G 100000 000020 000000G 000001 000636 000041 ADD BIT BEQ gfigfl 1¢: BIT BEQ MOV BR QIO0.FUNC :gLTI-DRIVE SUBTEST ROUTINES $CODES$, R1,$SAVE 2 CUOFF,RO RO CST.ADDR RO #100000, (RO) 1 #20, SWP. FLAGS 2% #1 ,RANDO M+2 23 #41,R2 3 : H 3941 3977 ; : 3979 3983 H 3985 : 3989 H 3939 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MULTI-DRIVE SUBTEST ROUTINES 012702 005001 153701 013700 110260 020227 001025 032701 001403 012760 032701 001422 012760 013700 112760 012760 000406 032701 001403 012760 013700 105760 001010 013746 004737 012737 005726 000207 000042 2%: 3s: 0000006 000606 000020 000042 040000 000100 000022 100000 000610 000041 100000 000022 4%: MOV MOV MOvB MOV 000020 000022 000010 CMP BNE BIT BEQ MOV BIT BEQ 5¢: 000022 6$: MAD2,RO #41,20(R0) :;100000.22(R0) BR BIT BEQ #10,R1 6% #40000,22(R0O) MAD2,RO MOV MOV TSTB 20(R0) BNE 000604’ 000000G 177777 000604 7%: ; *,FUNC 3993 H 4003 : 3999 H FUNCO‘ H FUNC.‘ F 4003 H 4005 H 4007 H 4011 H 4012 : 4013 H 3999 H 4021 H 4023 H 4027 H 4031 ) 4032 H 4029 H 3941 7% MOV JSR MOV TST RTS ; Routine Size: 74 words, Routine Base: $CODE$ ; Maximum stack depth per invocation: S words b #42,R2 R1 SWP.FLAGS,R1 MAD1,RO R2,20(R0) R2,#42 S$ #40,R1 4% #40000,22(R0) #100,R1 6% #-100000,22(R0) Move 000040 040000 000610° 000020 MOV CLR BISB MOV SEQ 0292 Page 101 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (33) VAX-11 Bliss-16 V4.0-579 PC,PUT.ENV (SP)+ PC + 10542 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES ; i 5 B b B ; : ; B ; H B ; ; H i : B ; H ‘ ; ; ‘ H H H B H i ; H ‘ ; i : i i 4 H H ; ; ; : 0 B ; i 5 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 000000 004137 SEQ 0293 VAX-11 Bliss-16 V4.0-579 Page 102 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (34) ROUTINE QIO_LBN : NOVALUE = * : i o-flNNNNNNNN““O‘U‘O‘U‘Nuuuuuuu“NuNNNNNNNNNH#HPHPHHMPHHFPPHI‘” v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY QIO_GEN TO SELECT THE LOGICAL BLOCK NUMBER TO BE USED FOR THE CURRENT QIO OR QIO PAIR. IF THE OPERATOR CHOSE THE RANDOM SEEK MODE OPTION, THEN THE LBN IS RANDOMLY CHOSEN WITHIN THE SPECIFIED LIMITS FOR TRACK AND SECTOR. OTHERWISE, THE NEXT SEQUENTIAL LBN IS DERIVED FROM THE BLOCK SEQUENCE TABLE (BST). IMPLICIT INPUTS: LSLUN - CURRENT (DIAGNOSTIC SUPERVIOR) UNIT NUMBER IMPLICIT OUTPUTS: THE LBN IS LOADE" INTO ONE OR BOTH MSCP ENVELOPES. BEGIN LOCAL T_RANGE : WORD, S_RANGE : WORD, NTRACK : WORD, NSECT : WORD, LBN : WORD; IF BIT_TST (SWP_FLAGS, THEN BEGIN PERMISSIBLE RANGE OF TRACK NUMBERS PERMISSIBLE RANGE OF SECTOR NUMBERS SELECTED TRACK NUMBER SELECTED SECTOR NUMBER LOGICAL BLOCK NUMBER SWF_RDM) ! ! T_RANGE = (.SWP_ETRACK - .SWP_STRACK) + 1; S_RANGE = MAX_SECT + 1; NTRACK = ,SWP_STRACK + ABS (.RANDOM [2] MOD NSECT = ABS (.RANDOM [3] MOD .S_RANGE); ELSE IF RANDOM SEEK MODE THEN ! RANGE OF TRACK NUMBERS ! RANGE OF SECTOR NUMBERS -T_RANGE); ! RANDOM TRACK NUMBER WITHIN RANGE ! RANDOM SECTOR NUMBER WITHIN RANGE END ! BEGIN NTRACK = .BST [.LS$LUN, TRACK]; NSECT = .BST [.L$LUN, SECTOR]; ADV_BST (); ELSE - SEQUENTIAL LBN MODE ! GET TRACK FROM BST ! GET SECTOR FROM BST ! ADVANCE TO NEXT LBN END; LBN = (.NTRACK & SEC_PER_TRK) MAD1 [LBN_L] = .LBN; IF .MX2 GEQ 0 THEN MAD2 [LBN_L] = .LBN; + .NSECT; END; 000000G CALCULATE LBN LOAD LBN INTO 1ST ENVELOPE IF 2 QIOS THEN LOAD LBN INTO 2ND ENVELOPE ! .SBTTL QIO.LBN:JSR ROUTINE QIO_LBN QIO.LBN MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE2 ; 4037 CZRCD3 v02.0 000004 000012 000014 000020 000024 000026 000032 000036 000040 000044 000046 000052 000056 000060 000064 000066 000072 000074 000100 000102 000106 000110 000114 000116 000120 000124 000130 000134 000136 000142 000146 000150 000152 000156 000162 000166 000170 000174 000200 000202 ; CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 132737 001436 013700 163700 005200 012702 013746 010046 004737 010016 004737 063700 010001 013716 010246 004737 010016 004737 010002 062706 000412 013700 006300 0C6300 016001 016002 004737 010146 012746 004737 060200 010001 013700 010160 005737 002404 013700 010160 022626 000207 Routine Size: 000004 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000000G 4 ,SWP .FLAGS 13 SWP.ETRACK,RO SWP.STRACK,RO RO #37,R2 RANDOM+4 , -(SP) 0000006 0000006 000037 000640 000000G PC,BL$MOD RO,(SP) PC,BL$ABS SWP.STRACK,RO RO,R1 RANDOM+6,(SP) 000000G G00000G 000642 000000G PC,BL$MOD RO,(SP) PC,BL$ABS RO,R2 #6,5P 23 L$LUN,RO RO RO BST+2(RO),R1 BST(RO),R2 PC,ADV.BST R1,-(SP) 000000G 000006 000000G 1s: 000442’ 000440 000000V 000037 000000G 2%: JSR ADD MOV MOV MOV TST BLT 000606 000044 000604 000610° 000044 3$: 66 words, ; Maximum stack depth per SEQ 0294 VAX-11 Bliss-16 V4.0-579 Page 103 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (34) Routine Base: invocation: 7 words MOV MOV PC,BL$MUL R2,RO RO,R1 MAD1,RO R1,44(RO) MX2 3 MAD2,RO R1,44(RO) RTS PC $CODE$ + 10766 CcMP (SP)+,(SP)+ H 4064 ; ; 4068 *,S5.RANGE H ; T.RANGE, * ; 4069 4070 *,NTRACK H ; S.RANGE, * 4071 ; *,NSECT ; 4066 : 4064 H 3 ; 4077 t,NTRACK *,NSECT 4078 ; NTRACK, = 4083 H H 4079 ‘OLBN : ; LBN,* H ; ; LBN,=* 4084 4085 4087 H 4055 H 4037 CZRCD3 CZRCDBO RC25 DISK EXERCISER : : : ROUTINE ADV_BST : NOVALUE = : 4090 4091 4092 4093 : 4094 3 H 4095 4096 : : : H H ; H ; H H H : H 3 H H 3 3 3 H ; 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 000000 000002 000006 000010 000012 000016 000020 000022 000026 000030 000032 000036 000040 000042 000046 000050 000054 000056 010146 013701 006301 006301 012700 060100 005210 021027 101412 005010 012700 060100 005210 021037 101402 013710 012601 000207 ; Routine Size: ; - VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 SEQ 0295 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 104 (35) - MULTI-DRIVE SUBTEST ROUTINES PNNNNNWUNMWNNNNNPPFP)‘P.‘FPF‘F‘M v02.0 14-Jun-1985 09:41:21 THIS ROUTINE IS CALLED BY QIO_LBN TO ADVANCE THE CURRNET UNIT‘S LBN IN THE BLOCK SEQUENCE TABLE (BST). THIS IS DONE BY INCREMENTING THE SECTOR NUMBER (AND TRACK NUMBER, IF NECESSARY), WHILE ENSURING THAT BOTH VALUES REMAIN WITHIN THE PROPER LIMITS. IMPLICIT INPUTS: LSLUN - CURRENT (DRS) UNIT NUMBER BEGIN BST [.LSLUN, SECTOR) = .BST [.LSLUN, SECTOR] + 1; IF .BST [.LSLUN, SECTOR] GTRU MAX_SECT THENBEGIN ! BST [.LSLUN, SECTOR] = 0; BST [.LSLUN, TRACK] = .BST [.LSLUN, TRACK] + 1; IF .BST [.LS$LUN, TRACK] GTRU .SWP_ETRACK THEN ! INCREMENT SECTOR NUMBER ! IF SECTOR IS BEYOND HIGH LIMIT BST [.LSLUN, TRACK] = ,SWP_STRACK; THEN SET SECTOR TO LOW LIMIT INCREMENT TRACK NUMBER IF TRACK IS BEYOND HIGH LIMIT THEN SET TRACK TO LOW LIMIT END; END; ! ROUTINE ADV_BST .SBTTL ADV.BST:MOV MOV ASL ASL MOV ADD INC CcMP BLOS CLR MOV 000000G 000440° 000036 000442' 000000G 000000G 1s: 24 words, Maximum stack depth per Routine Base: invocation: 2 words ADD INC CMP BLOS MOV MOV RTS ADV.BST MULTI-DRIVE SUBTEST ROUTINES R1,-(SP) : L$LUN,R1 s R1 R1 #BST,RO R1.RO (RO) (RO),#36 H 1s (RO) : #BST+2,R0 : R1,.RO (RO) (RO),SWP.ETRACK 1$ SWP.STRACK,(RO) (SP)+,R1 PC $CODES$ + 11172 4090 4104 4105 4109 4110 3 4111 H : 4113 4090 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES ROUTINE QIO_SIZE : NOVALUE = THIS ROUTINE IS CALLED BY QIO_GEN TO SELECT THE I/0 TRANSFER BYTE COUNT TO BE USED FOR THE CURRENT QIO OR QIO PAIR. THE BYTE COUNT IS DETERMINED BY A RANDOM NUMBER, AND WILL ALWAYS BE AN EVEN NUMBER BETWEEN O AND THE I/0 BUFFER SIZE (BUFF_SIZE), INCLUSIVE. IMPLICIT OUTPUTS: THE BYTE COUNT IS LOADED INTO ONE OR BOTH MSCP ENVELOPES. BEGIN LOCAL END_BLK : WORD, SIZE : WORD; %FE.END_BLK GTRU (.USIZE HEN 000004 000010 000014 000016 000022 000024 000030 000032 000036 000042 000044 000046 000052 000056 000062 000064 000070 013746 013746 005216 004737 010016 004737 010003 042703 013701 010316 005316 012746 004737 066100 010002 013700 005300 000644 000000G |V— 166100 000300 105000 ! END; 000000G 000102 0001C6 000110 1) SIZE = (.USIZE - .MAD1 [LBN_L]) & BLK_SIZE; MAD1 [BC_LO) = .SIZE; IF .MX2 GEQ 0 THEN MAD2 [BC_LO) = .SIZE; 004137 020200 101410 013700 ! ENDING BLOCK NUMBER FOR CURRENT I/0 ! BYTE COUNT SIZE = ABS (.RANDOM [4] MOD (.BUFF_SIZE + 1)) AND #0'177776'; END_BLK = .MAD1 (LBN_L] + ((.SIZE - 1) / BLK_SIZE); 000000 000072 000074 000076 SEQ 0296 VAX-11 Bliss-16 V4.0-579 Page 105 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (36) * TV MO T MO N M) N 0 s et et et ot o o o s ot ot I 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 10 MM RN M M 5 G5 B0 @0 s W G5 SE G GE GE W6 G Ge @ B GF G Ge SE S G S8 S5 S S s S o v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000000G 000000G 00001 000606’ 001000 000000G 000044 000616 000616 000044 MOV BIC MOV MOV DEC MOV JSR ADD MOV MOV DEC CMP BLOS MOV suB SWAB CLRB %:ESNDING BLOCK IS LARGER THAN UNIT SIZE SCALE DOWN BYTE COUNT LOAD SIZE INTO 1ST MSCP ENVELOPE IF 2 QIO0S THEN LOAD SIZE INTO 2ND MSCP ENVELOPE ! .SBTTL QIO0.SIZE: JSR MOV MOV INC JSR MOV JSR ! GET BYTE COUNT FROM RANDOM NUMBER ! CALCULATE ENDING BLOCK NUMBER ROUTINE QIO_SIZE QIO.SIZE MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE3 RANDOM+10, -(SP) BUFF .SIZE, -(SP) (SP) PC,BL$MOD RO,(SP) PC.BL$ABS RO,R3 #1,R3 MAD1,R1 R3,(SP) (SP) #1000, -(SP) PC,BL$DIV 44(R1),RO RO,R2 USIZE,RO RO R2,RO 1s USIZE,RO 44(R1),RO RO RO : : 4118 4136 : *,SIZE i SIZE,» : i «,END.BLK ; END.BLK,# : ; i *,SIZE 4137 4138 4140 — CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000112 000114 000116 000122 000126 000132 000134 000140 000144 000150 006300 010003 013700 010360 005737 002404 013700 010360 062706 000207 ; Routine Size: 000606 000024 000604 RO RO,R3 MAD1,RO R3,24(R0) MX2 1s: VAX-11 Bliss-16 V4.0-579 2%: Routine Base: ; Maximum stack depth per invocation: 8 words RTS SEQ 02971 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 age (36) +,SIZE SIZE,* 4141 4142 24 000610° 000024 000006 53 words, 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MAD2,RO R3,24(R0O) #6,SP SIZE,» 4144 4130 4118 PC $CODE$ + 11252 N CZRCD3 CZRCD3 vo2.0 4150 4151 4152 4153 4154 4155 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 419 4197 4198 4199 — 4201 4202 4203 “““..O.....“U““““NNN“NNNNNNNNNNNPO‘PPF‘FFHF‘HP.‘F‘PU‘D‘FHPO‘O‘P"H” 4147 4148 4149 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 14-Jun-1985 09:41: 21 14-Jun-1985 09: 33:42 VAX-11 Bliss-16 V4.0-579 SEQ 0298 p...(;g; USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ROUTINE FILL_BUFF : NOVALUE = . THIS ROUTINE IS CALLED BY QIO_GEN TO LOAD THE I/0 BUFFER DESCRIBED IN THE FIRST MSCP ENVELOPE WITH THE APPROPRIATE DATA PATTERN. THE DATA PATTERN TO BE SELECTED IS BASED ON THE FOLLOWING ALGORITHM: IFTHE OPERATOR DEFINED A DATA PATTERN ELSE SELECT IT | i GET DATA PATTERN NUMBER FROM SW P-TABLE IF DATA PATTERN NUMBER = 0 THEN GET DATA PATTERN NUMBER FROM THE UNIT'S ENTRY IN THE DATA PATTERN SEQUENCE TABLE (DPST) | NOTE THAT PATTERN # 1 CONSISTS OF RANDOM NUMBERS, AND PATTERNS & 17 21 USE THE ACTUAL LBN OF THE WRITE REQUEST. IMPLICIT INPUTS: LSLUN - CURRENT (DRS) UNIT NUMBER BEGIN LOCAL DP_NUM : WORD, ! DATA PATTERN NUMBER SELECTED DP_ADDR, I0B_ADDR, SRC_ADDR, ! ADDR OF DATA PATTERN (LENGTH) ! I/0 BUFFER ADDRESS (DESTINATION) ! WORKING SOURCE ADDRESS PAF ! PAGE ADDRESS FIELD i NO. OF WORDS IN DATA PATTERN DISP : WORD, : ! MEM. MGMT. ADDRESS DISPLACEMENT WORD, COUNT : WORD; IF BIT_TST (SWP_FLAGS, SWF_UDP) THEN DP _ADDR = SWP_UCNT ELSE SELECT IT OTHERWISE BEGIN IF .SWP_DPAT NEQU O THEN DP_NUM = _SWP_DPAT ELSE BEGIN DP_NUM = _DPST [.LSLUN); DPST [.LSLUN] = IF USER DEFINED A DATA PATTERN THEN _DPST [.LSLUN) + 1; %:E'.‘DPST [.LSLUN] GTRU DP_CNT ‘ ¥:E;‘JSER SELECTED A PRE-DEFINED DATA PATTERN SELECT IT OTHERWISE ! GET PATTERN NUMBER FROM SEQUENCE TABLE ! ADVANCE TO NEXT PATTERN NUMBEK ! CHECK FOR HIGH LIMIT DPST [.LSLUN] = 1; END; DP_ADDR = .DPA_TBL [.DP_NUM - 1); ! ADDRESS OF DATA PATTERN (COUNT) I CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4204 4205 4206 4207 4208 4209 4210 4211 4212 42:3 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 aaaa»uuuuua&mmmmwaaoAuuwuuuummmmmuuuuuuummmmmuu&.bbbb.buu .l..-lI.ll.I.I.l.l.!‘.l..'.....'..li’l.'....I..l.l.'.l...l.!.‘I.-l.l.’....I0.0.l.!...0...’.‘.0”.‘“.0.'“““““ v02.0 IF SEQ 0299 VAX-11 Bliss-16 V4.0-579 Page 108 USER$1:(AZTEC.CZRCDB JCZRCD3,.SRC;17 (37) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .DP_NUM GEQU 17 (.DP_ADDR + 2) = ,MAD1 [LBN_L]) (.OP_ADDR + 4) = _MAD1 [LBN_L]; {FE:ATTERN 17, H 19, OR 21" . LOAD LBN INTO FIRST WORD OF PATTERN ELSE - PATTERN 18 OR 20 LOAD LBN INTO SECOND WORD OF PATTERN END; END; IOB_ADDR = .MAD1 [BUF_0]; IF _MEM_MGMT THEN I1/0 BUFFER ADDRESS %FESYSTEH HAS MEMORY MANAGEMENT HEN BEGIN DISP = .IOB_ADDR AND %0'17777'; PAF = (.I0OB_ADDR t -6) AND %0’'1600‘; KTPAR4 = (.MAD1 [BUF 1] t 10) OR .PAF; IOB_ADDR = %0'100000‘ OR .DISP; I/0 BUFFER DISPLACEMENT ADDRESS PAGE ADDRESS FIELD LOAD PAR4 I/0 BUFFER VIRTUAL ADDRESS END; COUNT = ..DP_ADDR; SRC_ADDR = .DP_ADDR + 2; INCR N FROM 1 TO (.MAD1 [BC_LO) 7 2) DO BEGIN .JOB_ADDR = ..SRC_ADDR; IOB_ADDR = .IOB_ADDR + 2; SRC_ADDR = .SRC_ADDR + 2; IF .MEM_MGMT NO. OF WORDS IN DATA PATTERN START OF THE ACTUAL DATA PATTERN FOR EACH WORD IN THIS WRITE REQUEST MOVE 1 WORD ADVANCE DESTINATION ADDRESS ADVANCE SOURCE ADDRESS %F SYSTEM HAS MEMORY MANAGEMENT HEN IF (.I0OB_ADDR AND %0°'17777') EQLV O THEN %FEélfl BUFFER CROSSES A 4K PAGE BOUNDARY H BEGIN IOB_ADDR = #0‘'100000°'; KTPAR4 = _KTPAR4 .+ %0'200'; RESET VIRTUAL ADDRESS ADVANCE PAR TO NEXT 4K PAGE END; END; END - IF MEMORY MANAGEMENT COUNT = _COUNT - 1; IF .COUNT EQLU O COUNT = SRC_ADDR . DP_ADDR; = .DP_ADDR DECREMENT COUNT IF END OF DATA PATTERN THEN + 2; REPEAT DATA PATTERN CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4261 4262 4263 4264 4265 4266 4267 4268 4269 PO WW v02.0 000000 004137 000004 000006 00001 000014 000020 000022 000024 000030 000032 000034 000036 000040 000044 000050 000052 000054 000056 000062 000064 000070 000072 000074 000100 000104 000106 000112 000114 000116 000124 00C126 0001324 000140 000144 000150 000156 000164 000166 000170 000174 000176 000202 0002C6 0002190 024646 105737 100003 012702 000445 005000 15370C 005700 001402 010001 0C0414 013700 062700 005001 151001 105210 121027 101402 112710 010100 0063200 016002 020127 103413 013700 006001 103004 016062 000403 016062 013701 016104 005066 113766 032766 001431 010405 042705 0192446 012746 004737 010003 042703 SEQ 0300 VAX-11 Bliss-16 v4.0-579 Page 109 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 37 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 END; END; WORD TRANSFER LOOP IF MEM_MGMT THEN KTPAR4 IF SYSTEM HAS MEMORY MANAGEMENT THEN = «0'1000'; RESTORE PAR4 END; ! ROUTINE FILL_BUFF .SBTTL FILL.BUFF: JSR cMP TST8 BPL 000000G 0000006 000000G 1s: 000000G 000000G 000540 2%: 000025 000001 3s: 001642 000021 CcMP BLO 000002 000044 000004 000606 000030 000002 000000G 000002 000001 000002 160000 177772 0000006 176177 CLR BISB TST BEQ MOV BR MOV ADD CLR BISB INCB CMPB BLOS MOVB MOV ASL MOV 000606 000044 MOV BR 43: 5s: MOV ROR 8CC MOV BR MOV MOV MOV CLR MOvVB BIT BEQ MOV BIC MOV MOV JSR MOV BIC FILL.BUFF MULTI-DRIVE SUBTEST ROUTINES R1,$SAVES -(SP),-(SP) : 4147 SWP.FLAGS 1s #SWP .UCNT,R2 S RO SWP.DPAT,RO RO 2 RO,R1 3 LSLUN,RO #DPST,RO R1 (RO),R1 (RO) (RO), %25 3s #1,(RO) R1,RO RO DPA.TBL-2(RO),R2 ; 4183 ; ; 4191 4189 4195 ; DP.NUM ; +,DP.NUM : 4196 : 4197 : ; DP.NUM,» ; H 44(R0),2(R2) 5 44(R0),4(R2) H 30(R1),.R4 *,DP.NUM 3 MAD1,.RO R1 MAD1,R1 4189 H ; 43 4185 4183 ; R1,#21 5 *#,DP.ADDR : ; : ; 4203 *,0P.ADDR DP.NUM, ; DP.NUM ; 4199 *,+(DP.ADDR) *,+(DP.ADDR) *+,I0B.ADDR 4204 4210 4208 4210 4208 4212 4218 2(SP) H #1,2(SP) 63 R4 ,RS #160000,RS R4,-(SP) ; IOB.ADDR,DISP ; *,DISP 4223 ; IOB.ADDR,* 4224 MEM.MGMT,2(SP) #-6,-(SP) PC,BL$SHF RO,R3 #176177,R3 4219 i *,PAF ; *,PAF CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES Routine Size: MOV SWAB 32(R1),RO CLRB ASL ASL MOV BIS MOV BIS 000002 000024 000002 0000006 000001 000006 78: 017777 100000 000200 172350 8s: 000004 9s: 000001 000006 001000 000010 172350 10s: CMP MOV MOV ADD MOV MOV MOV JSR MOV 9s (R2),R5 4(SP),R3 R1 R1,RO #1,6(SP) 10¢ #1000, 34172350 #10,SP PC MOV ADD RTS 128 words, Routine Base: $CODEs invocation: 11 words Maximum stack depth per 4232 N (R3)+,(R4)+ #1,6(SP) 8¢ #17777.R4 8¢ #-100000,R4 ;§00.80172350 + 11424 4221 4230 4231 *,SRC.ADDR PC,BLS$DIV R1 93 BIT BEQ BIT BNE MOV ADD DEC BNE MOV MOV INC CMP BLE BIT BEQ DP.ADDR, COUNT # DP .ADDR, (SP),.R3 24(R1),-(SP) CLR BR 4226 +,108.ADDR W 68: DISP,IO0B.ADDR SRC.ADDR,I0OB.ADDR 4235 4238 *,I0B.ADCR 4242 *,I0B.ADDR 4246 4247 4253 4254 4258 4259 4232 W 100000 (37) ,% PAF we 172350 172350 Page 110 4225 RO RO RO RO R3,9%172550 RO,8#172350 RS,R4 #100000,F4 (SP)+,(SP)s (R2),RS #2,(SP) R2,(SP) COUNT we 000032 we 016100 020300 105000 006300 006300 010337 050037 010504 052704 022626 011205 012716 060216 011603 016146 012746 004737 005001 000422 012324 032766 001410 022704 0C1005 012704 062737 005305 001003 011205 016603 005201 020100 003753 032766 001403 012737 062706 000207 SEQ 0301 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ®e 000214 000220 000222 000224 000226 000230 000234 000240 000242 000246 000250 000252 000256 000260 00C262 000266 000272 000276 000300 000302 000304 000312 000314 000320 000322 000326 000334 000336 000340 000342 000346 000350 000352 000354 000362 000364 000372 000376 14-Jun-1985 09:33:42 VAX-11 Bliss-16 V4.0-579 ®s v02.0 14-Jun-1985 09:41:21 s CZRCD3 DP .ADDR, COUNT *,SRC.ADDR N N, * 4265 4267 4147 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4270 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4287 4289 4290 4292 4293 4294 4295 4296 4297 4298 4299 4301 4303 000000 000000 000006 000010 000014 000020 000022 000026 000032 000036 000042 000046 000052 000056 000062 000066 000072 000074 000100 000102 000106 000110 000114 000116 000120 ; ; aIDcntu(utdcucncucuuln)nbfiu—oar-bor-r-r-h-r-fiu—vnbnp- v02.0 023737 001444 004737 010037 010046 012746 004737 062700 010037 116016 042716 004737 013700 116000 042700 001003 004737 000405 020027 001002 004737 022626 000730 000207 ROUTINE PROC_RETPKT e SEQ 0302 VAX-11 Bliss-16 V4.0-579 Page 111 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (38) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 : NOVALUE = THIS ROUTINE IS CALLED FROM THE MULTI_DRIVE "EXECUTIVE” TO CHECK FOR AND PROCESS ANY RETURN PACKETS THAT HAVE BEEN "SENT” BY THE “DRIVER” PORTION OF THE PROGRAM. THE I/0 DONE QUEUE (IODQ) ACTS AS THE LINK BETWEEN THE TWO PROGRAM PARTS; IT HOLDS INDECES OF RETURN PACKETS WHICH REQUIRE PROCESSING. UN?&&F;HE MULTI-DRIVE SUBTEST, RETURN PACKETS ORIGINATE FROM TWO SOURTES: 1. 2. DISK MSCP - THE MORE COMMON, DESCRIBING A COMPLETED I/0 OPERATION THE PROGRAM “"DRIVER” - DESCRIBING A CONTROLLER ERROR OR COMMAND TIMEOUT. BEGIN HHILgeé§gDQ_IN NEQU .IODQ_OUT DO ! RP_INDX = QUT_IODQ (); RP_ADDR = RETPKT + (.RP_INDX # RP_LEN # 2); SET_CPAR (.RP_ADDR [CTLR)); SELEgggNEU .RP_ADDR [CONID] OF [CID_DISK] %EgD_DRIVER] END; ! DISK MSCP (I/0 TRANSFER DONE) ! MESSAGE FROM “DRIVER" .SBTTL PROC.RETPKT: 1¢: 000000G 000000G 000060 000000G 000000G 000000G 000002 177760 000000G 000000G 000003 177400 000000V 000003 ! GET INDEX OF NEXT RETPKT AND ADVANCE OUT POINTER ! CALCULATE RETPKT ADDRESS ! SET UP CURRENT CONTROLLER PARAMETERS ! CONNECTION ID INDICATES PACKET SOURCE : IO_RETPKT (); : DR_RETPKT (); END; 000000G 000000G DO UNTIL I/0 DONE QUEUE IS EMPTY 2%: 000000V 3s: 4%: Routine Size: 41 words, Routine Base: Maximum stack depth per invocation: 3 words CcMP BEQ JSR MOV MOV MOV JSR ADD MOV MOVB BIC JSR MOV MOVB BIC BNE JSR BR CcMP BNE JSR IODQ.IN,IODQ.OUT 43 PC,0UT.IODQ RO,RP.INDX RO, -(SP) #60,-(SP) PC,BL$MUL #RETPKT,RO RO,RP.ADDR 2(R0O),(SP) #177760,(SP) PC,SET.CPAR RP .ADDR, RO 3(RO),RO #177400,R0 2% PC,I0.RETPKT -1 RO, #3 3 PC,DR.RETPKT CMP BR RTS $CODES$ ! UNITL I/0 DONE QUEUE IS EMPTY ! ROUTINE PROC_RETPKT PROC.RETPKT MULTI-DRIVE SUBTEST ROUTINES (SP)+,(SP)+ 1s PC + 12024 3 4289 ) 4292 ; RP.INDX,* 4293 : 4294 H 4295 3 4297 S8 : 4295 4298 H H H 4290 4289 4270 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 : 3 : : 3 3 H H 3 H 3 H 3 : : 3 : : 3 : : H 5 3 : H 3 : 3 H 3 : H : 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4%26 3 3 : 4358 4359 4360 e S~ 1 1 ROUTINE IO_RETPKT : NOVALUE = 1 1 1 1 1 1 | 1 1 2 2 2 2 2 2 2 2 3 3 3 3 4 4 4 4 4 4 4 3 ! ! ! ! H ! ! '- 4306 4307 H H 3 3 : : 3 : H 3 ; 3 H : 3 3 : 3 ; : MULTI-DRIVE SUBTEST ROUTINES 4304 4305 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4357 14-Jun-1985 09:41:21 1 1 4 1e ! RETURN PACKETS. PROCESSING OF THESE PACKETS INCLUDES DECLARING ANY HARD ERRORS THAT MAY HAVE OCCURRED, UPDATING THE STATISTICS, AND PERFORMING HOST WRITE-COMPARES IF REQUIRED. IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET CCTLR - CURRENT CONTROLLER NUMBER BEGIN SWEEP_FLAG = TRUE; FSET_UPAR (); ST_CODE = .RP_ADDR [S7SCOD]; SB_CODE = .RP_ADDR [SuBCOD]; IF _ST_CODE NEQU ST_SuC THEN BEGIN ' IF .ST_CODE EQLU ST_OFL THEN BEGIN ! ! . ! ! ! ELSE ! ELSE - ERROR IS NOT UNIT-OFFLINE BEGIN HARD _ERR (1); END; END ! "FATAL I/0 ERROR" ! LOAD REASON FOR DROPPING UNIT ! DROP UNIT END CASE .ST_CODE FROM 1 TO 11 OF SET (1] : ERRHRD [2] : ERRHRD (3] : 3 [4] : ERRHRD [5] : ERRHRD [6] : ERRHRD (7] : ERRHRD (8] : ERRHRD [9] : ERRHRD [10] : ERRHRD [11] : ERRHRD [OUTRANGE] : ERRHRD TES; 4 INDICATES THAT SWEEP () WILL BE CALLED FIND UNIT'S ENTRY IN CST AND SET UP UNIT-RELATED DATA GET STATUS CODE FROM RETPKT GET SUB-CODE, IF ANY IF STATUS CODE INDICATES ERROR THEN ! IF UNIT OFFLINE ! THEN ERRDF (19, EGD_19, EMS_19); DUR [.LSLUN] = DU_FATAL; DODU (.LSLUN); (31, EGH_30, EMS_30); (32, EGH_30, EMS_30); (34, (35, (36, (37, (38, (39, (40, (41, (30, EGH_30, EGH_30, EGH_30, EGH_30, EGH_30, EGH_30, EGH_30, EGH_30, EGH_30, EMS_30); EMS_30); EMS_30); EMS_30); EMS_30); EMS_30); EMS_30); EMS_30); EMS_30); ! ! ! ! ! ! ! ! ! ! ! ! SEQ 0303 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 THIS ROUTINE IS CALLED BY PROC_RETPKT TO HANDLE ALL I/O TRANSFER 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 3 3 3 3 14-Jun-1985 09:33:42 VAX-11 Bliss-16 V4.0-579 INVALID COMMAND COMMAND ABORTED UNIT OFFLINE (DEVICE-FATAL) UNIT AVAILABLE MEDIA FORMAT ERROR WRITE-PROTECTED DEVICE COMPARE ERROR DATA ERROR HOST BUFFER ACCESS ERROR CONTROLLER ERROR DRIVE ERROR UNKNOWN ! INCREMENT HARD ERROR COUNT FOR CURRENT UNIT Page 113 (39) CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 HFRNRRDNVNDNDWWENSWWWN W0 @ @0 @0 @0 @0 @8 @5 @e @0 @ S0 B¢ er e e v02.0 000000 010146 000002 000010 000014 000020 000026 000034 000040 000042 000044 000046 000050 000052 000056 000062 000066 000070 000074 00007¢ 000100 000102 000104 000106 000112 000120 000122 000124 000126 000132 000134 000136 000142 000144 000146 000150 000152 000154 112737 004737 013700 116037 042737 016001 006201 006201 006201 006201 006201 042701 010137 013700 001521 020027 001013 104455 000023 000000G 000000G 013700 112760 104451 000513 005300 020027 101003 006300 066007 104456 000036 000000G 000000G 000461 104456 ELSE 14-Jun-1985 09:41:21 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 SEQ 0304 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 114 (39) ! ELSE - I/0 WAS SUCCESSFUL BEGIN MD_TALLY (); IF BIT_TST (SWP_FLAGS, THEN HOST _WRT_CHK (); UPDATE I/0 STATISTICS %:E:OST IS DOING WRITE-COMPARES SWF_HWC) SAVE I/0 PACKET OR DO WRITE-CHECK END; IF .SWEEP_FLAG EQLU TRUE THEN SWEEP (); QIO [.CCTLR] = 174000 000000G 000000G 000003 000000G 000004 000000G 000012 000010° DEALLOCATE BUFFER(S) AND RETPKT(S) DECREMENT NO. OF OUTSTANDING QIOS .QIO [.CCTLR] - 1; END; 000001 000630 000000V 000000G 000016 000000G 177740 0000006 000016 %:E:HEEP_FLAG IS STILL TRUE ! .SBTTL I0.RETPKT: MOV MOVB JSR MOV MOVB BIC MOV ASR ASR ASR ASR ASR BIC MOV MOV BEQ CMP BNE TRAP .WORD .WORD .WORD MOV MOVB TRAP BR 1$: DEC CMP BHI ASL ADD 3s: TRAP .WORD .WORD .WORD BR 4 TRAP ROUTINE IO_RETPKT I0.RETPKT MULTI-DRIVE SUBTEST ROUTINES 4304 4319 4320 4321 #1,SWEEP.FLAG PC,FSET.UPAR RP.ADDR,RO 16(R0),ST.CODE #177740,ST.CODE 16(RO),R1 R1 R1 R1 R1 R1 #174000,R1 R1,SB.CODE ST.CODE,RO 15¢ RO, #3 1$ 55 23 EGD. 19 EMS.19 : L$LUN,RO #4 ,0UR(RO) 51 164 RO RO,#12 3 RO P.AAB(RO),PC 56 36 EGH. 30 EMS.30 14 56 : 4322 : 4323 H 4327 : 4331 : 4332 H 4333 . 3 3 ; : i : 4327 4339 Case dispatch 4353 4339 4342 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 000156 000160 000162 000164 000166 000170 000172 000174 000176 000200 000202 000204 000206 000210 000212 000214 000216 000220 000222 000224 000226 000230 000232 000234 000236 000240 000242 000244 000246 000250 000252 000254 000256 000260 000262 000264 000266 000270 000272 000274 000276 000300 000302 000304 000306 000310 000312 000314 000316 000322 000326 000330 000332 000336 000344 000346 000352 |— 14-Jun-1985 09:41:21 MULTI-DRIVE SUBTEST ROUTINES 000037 000000G 000000G 000454 104456 000040 000000G 000000G 000447 104456 000042 000000G 000000G 000442 104456 000043 000000G 000000G 000435 104456 000044 000000G 000000G 0C0430 104456 000045 000000G 000000G 000423 104456 000046 000000G 000000G 000416 104456 000047 000000G 000000G 000411 104456 000050 000000G 000000G 000404 104456 000051 000000G 000000G 012746 000001 004737 000000G 005726 000410 0034737 000000V 132737 000100 000000G 001402 004737 000000V 123727 000630’ 000001 14-Jun-1985 09:33:42 .WORD .WORD .WORD S5$: 6$: 7%: 8$: 9s: 10¢: 11s: 12s: 13s: 145: 15s: 16$: VAX-11 Bliss-16 V4.0-579 BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD MOV JSR TST BR JSR BITB BEQ JSR CMPB 37 EGH.30 EMS. 30 14 56 40 EGH. 30 EMS. 30 14 56 42 EGH. 30 EMS. 30 14 56 43 EGH. 30 EMS. 30 14 56 44 EGH. 30 EMS. 30 14 56 45 EGH. 30 EMS. 30 14 56 46 EGH. 30 EMS. 30 14% 56 47 EGH. 30 EMS. 30 14 56 50 EGH. 30 EMS. 30 14 56 51 EGH. 30 EMS. 30 #1,-(SP) PC,HARD.ERR (SP)+ 16$ PC,MD. TALLY #100,SWP .FLAGS 16¢ PC,HOST.WRT.CHK SWEEP.FLAG,#1 SEQ 0305 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 115 (39) : : 4339 4343 : : 4339 4345 : : 4339 4346 : : 4339 4347 : : 4339 4348 = : : 4339 4349 : : 4339 4350 : : 4339 4351 : : 4339 4352 H 4356 : : H H 4337 4323 4364 4365 H H 4367 4371 CZRCD3 v02.0 000360 000362 000366 000372 000376 000400 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 001002 004737 013700 105360 012601 000207 000000V 000000G 000000G 17%: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 BNE JSR MOV DECB MOV RTS ; Routine Size: $CODES 129 words, Rout ine Base: ; Maximum stack depth per invocation: 3 words 000010 000010 000012 000014 000016 000020 000022 000024 000026 000030 000032 000034 000012 000024 000154 000036 000050 000062 000074 000106 000120 0C0132 000144 P.AAB: 2%: VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 17% PC,SWEEP age (39) 4373 4374 CCTLR,RO QIOCRO) (SP)+,R1 4304 PC « SEOPO306116 12146 .PSECT $PLITS, .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 12 24 154 36 50 62 74 106 120 132 144 RO, D %2?5 Table for I0.RETPKT+0136 4339 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES s : : : ROUTINE FSET_UPAR H : : : H 3 H 3 H ; 3 H H : ; H H ; ; : 3 3 3 : 3 : : 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 439 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 : NOVALUE = + 4377 4378 4379 4380 r-nanacnuaa-a-a-Auhcucncucnn:n;nar-r-r-r-r-ror-r-r-hnp-r-u-.o v02.0 THIS ROUTINE IS CALLED BY IO_RETPKT AND OTHERS TO SEARCH THE CURRENT CONTROLLER STATUS TABLE (CST) FOR THE PLATTER ADDRESS WHICH IS CONTAINED IN THE CURRENT RETURN PACKET. WHEN FOUND, THE OFFSET INTO THE CST IS USED AS INPUT TO SET_UPAR, WHICH SETS UP CURRENT UNIT-RELATED DATA PARAMETERS. IMPLICIT INPUTS: RP_ADDR - ADDRESS OF CURRENT RETURN PACKET CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST BEGIN INCR OFFSET FROM (D « BEGIN OF _UN) TO (3 + OF_UN) DO SET_UPAR (.OFFSET); END; SET UP UNIT-RELATED DATA DONE ! CST UNIT SEARCH LOOP END; 000000G 000004 000010 000012 000014 000020 000024 000026 000030 000034 000036 000040 000044 012702 010201 006301 063701 013700 005003 151103 020360 001005 010246 004737 005726 000003 ! ROUTINE FSET_UPAR FSET.UPAR: JSR 18: 000000G 000000G 000010 000000G 000207 ; Routine Size: - ! IF RETPKT UNIT NUMBER MATCHES CST ENTRY THEN END; 004137 ; ! ! ! .SBTTL .PSECT 005202 020227 003754 000207 FOR EACH UNIT IN CST RETURN; 000000 000050 000052 000056 000060 ! IF .CST_ADDR [.OFFSET, P_ADDR] EQLU .RP_ADDR [PLAT] THEN BEGIN 012550 00046 SEQ 0307 VAX-11 Bliss-16 V4.0-579 Page 117 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (40) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 2%: 000006 25 words, Maximum stack depth per Routine Base: invocation: 6 words MOV MOV ASL ADD MOV FSET.UPAR MULTI-DRIVE SUBTEST ROUTINES S$CODE$, RO R1,$SAVE3 : R2,R1 R1 CST.ADDR,R1 RP .ADDR,RO ; #3,R2 CLR BISB CcCMP BNE R3 (R1),R3 R3,10(R0O) 2$ JSR TST RTS INC CcCMP BLE RTS PC,SET.UPAR (SP)+ PC R2 R2,#6 1$ PC $CODE$ + 12550 : *,0FFSET 4377 4393 OFFSET,» 4396 3 : ;: OFFSET ; OFFSET,» 4401 4398 4393 : 4377 CZRCD3 v02.0 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 000000 010146 000002 000006 000014 000016 000022 000026 000032 000036 000042 000050 000054 013700 126027 001020 013746 012746 004737 013700 013701 066160 012716 000421 SEQ 0308 VAX-11 Bliss-16 V4.0-579 Page 119 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (41) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ROUTINE MD_TALLY : NOVALUE = > 4408 4409 44190 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 =10 O RO TV O T G N G G G0 G O G G G G G 0 G T G T ) 0 s 1 e i et s s o et s (et et e s et CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES THIS ROUTINE IS CALLED FROM IO_RETPKT FOR ALL I/0 TRANSFER RETURN PACKETS WITH "SUCCESS” STATUS CODES. ITS PURPOSE IS TO UPDATE ALL THE APPROPRIATE STATISTICAL FIELDS FOR THE CURRENT UNIT. A CHECK IS ALSO MADE ON THE TOTAL NUMBER OF BYTES TRANSFERRED THUS FAR; IF THE OPERATOR-SPECIFIED LIMIT HAS BEEN REACHED, THEN THE UNIT IS REMOVED FROM CURRENT PASS TESTING. IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET T_ADDR - ADDRESS OF THE CURRENT UNIT'S STATISTICS BLOCK (TALLY) LSLUN - CURRENT (DRS) UNIT NUMBER BEGIN IF .RP_ADDR [ENDCOD] EQLU COP_RD + OP_END) THEN BEGIN UPD_IOC (T_ADDR [READ_LO], 1); T_ADDR [BR_LO] = .T_ADDR [BR_LO) OVF_CHK (T_ADDR [BR_LO]); ELSE + ! IF ENDCODE IS READ ! THEN ! INCREMENT NO. OF READS .RP_ADDR [BCNT_LOJ; ! UPDATE BYTE COUNT ! CHECK FOR FIELD OVERFLOW END ! ELSE ENDCODE IS WRITE BEGIN UPD_IOC (T_ADDR [WRIT_LO], 1); T_ADDR [BW_LO] = .T_ADDR [BW_LO)] OVF_CHK (T_ADDR [BW_L0])); + ! INCREMENT NO. OF WRITES .RP_ADDR [BCNT_LO); ! UPDATE BYTE COUNT ! CHECK FOR FIELD OVERFLOW END; IF .CPT [.LSLUN] THEN ! ! XFR_CHK (); ! END; 000000G 000014 000241 000000G 000001 000000G 0000006 000000G 000020 000014 000014 IF UNIT IS STILL UNDER TEST THEN CHECK MBYTES XFR‘D AGAINST LIMIT ! ROUTINE MD_TALLY .SBTTL MD.TALLY: MOV MOV CMPB BNE MOV MOV JSR MOV MOV ADD ggv MD.TALLY MULTI-DRIVE SUBTEST ROUTINES R1,-(SP) RP.ADDR,RO 14(RO),#241 1 T.ADDR,-(SP) #1,-(SP) PC,UPD.IOC T.ADDR,RO RP.ADDR,R1 20(R1),14(CRO) 5%4.(SP) : 3 4408 4426 3 4430 : 4431 : 4432 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000056 000062 000066 000072 000076 000102 000106 000114 000120 000122 000126 000132 000140 000142 000146 000150 000152 ; ; 013746 052716 012746 004737 013700 013701 066160 012716 060016 004737 013700 132760 001402 004737 022626 012601 000207 Routine Size: 0000006 000004 000001 000000G 000000G 000000G 000020 000022 000022 1%: 2%: 000000G 0000006 000001 000000G 000000G 3s: 54 words, Maximum stack depth per 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 Rout ine Base: invocation: 4 words T.ADDR, -(SP) ®4,(SP) #1,-(SP) PC,UPD.IOC T.ADDR,RO RP.ADDR,R1 20(R1),22(R0O) #22,(SP) RO,(SP) PC,OVF.CHK ADD JSR MOV BITB BEQ JSR CMP MOV RTS $CODES LSLUN,RO #1,CPT(RO) 3 PC,XFR.CHK (SP)+,(SP)+ (SP)+,R1 PC + 12632 SEQ 0309 VAX-11 Bliss-16 V4.0-579 age 1 20 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (41) 4438 4439 4440 4444 4446 4424 4408 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 4475 4476 4477 4478 4479 4480 4481 4482 4483 4485 4486 4487 4488 4489 4490 4492 4493 4494 4495 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 moaaaouuuunuuuuuammmmmobbbuuuuoou\numvommo-o-no-o-no-nv-o-o-»nv-n.-o-o—o-u- MULTI-DRIVE SUBTEST ROUTINES SEQ 0310 VAX-11 Bliss-16 V4.0-579 Page 121 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (42) ROUTINE HOST_WRT_CHK : NOVALUE = e ! THIS ROUTINE IS CALLED FROM IO_RETPKT FOR ALL I/0 TRANSFER RETURN PACKETS WITH “SUCCESS” STATUS CODES, BUT ONLY IF THE HOST WRITE-COMPARE OPTION WAS SELECTED BY THE OPERATOR. IF THE CURRENT RETPKT BEING PROCESSED IS A WRITE FUNCTION, THEN THE PACKET INDEX (RP_INDX) IS SAVED IN THE CONTROLLER'S RETURN PACKET SAVE AREA (RP_SAVE). OTHERWISE, THE PACKET IS A READ, SO ITS ASSOCIATED WRITE PACKET IS REMOVED FROM THE SAVE AREA, AND A WORD-FOR-WORD COMPARISON IS PERFORMED ON THE TWO I/0 BUFFERS. ANY DIFFERENCES ENCOUNTERED RESULTS IN THE DECLARATION OF A HARD ERROR. IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET RP_INDX - INDEX OF THE CURRENT RETURN PACKET RPS_X1, RPS_X2 - STARTING / ENDING INDECES OF THE CURRENT CONTROLLER'S RETPKT SAVE AREA (RP_SAVE) BEGIN LOCAL BUFFW, INDEX : ! ADDR OF I/0 BUFFER DESCRIPTOR SIGNED WORD; IF .RP_ADDR [ENDCOD] EQLU (OP_WRT + OP_END) THEN BEGIN INCR INDEX FROM .RPS_X1 TO .RPS_X2 DO BEGIN IF .RP_SAVE [.INDEX] LSS 0 THEN BEGIN RP_SAVE [.INDEX] EXITLOOP; END; = .RP_INDX; IF WRITE OPERATION THEN ! LOOK FOR SPARE ENTRY IN : CONTROLLER'S RP_SAVE ! ! IF SPARE SLOT FOUND THEN ! SAVE INDEX OF WRITE RETPKT DONE END; SWEEP_FLAG = FALSE; ELSE ! ! DON'T CALL SWEEP FROM IO_RETPKT END BEGIN IF (CINDEX = RPS_REM ()) GEQ O THEN ! ELSE ENDCODE IS READ ! %;E'A‘SSOCIAYED WRITE PACKET IS FOUND BEGIN BUFFW = RETPKT [.INDEX,- BUFF_0); IF CMP_DATA (.BUFFW) EQLU FAILURE THEN BEGIN ! ADDR OF ADDR OF WRITE I/0 BUFFER ! gog:me DATA IN BOTH BUFFERS. IF FAILURE ! T CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4508 4509 4510 4512 4513 4514 4515 4516 4517 4519 4521 EFROWaEABBABVILILV W S0 @5 @ G0 @ e @0 e e e v02.0 000122 000124 000126 000130 000132 000134 000136 000142 000146 000150 000! 54 000156 000162 000164 END; END; ! IF ASSOCIATED WRITE RETPKT WAS FOUND ! IF ENDCODE WAS READ ! ROUTINE HOST_WRT_CHK 0000006 000014 000242 105037 000207 004737 010002 002434 010246 012746 004737 062700 010001 010116 004737 005700 001010 104456 000052 000000G 000000G 012716 004737 010116 004737 010216 004737 022626 000207 0000006 0000006 000000G 000000G 000630 000000V 000060 0000006 000024G R1,$SAVE2 RP . ADDR, RO : » RPS.X1,R0 RO 24 s+, INDEX : INDEX 4430 + #(INDEX) 4483 i:um ,0242 g:'SAVE(RO) 4449 4476 gg.INDX.RP.SAVE(RO) ¢, *(INDEX) RO 20.RPS.X2 $ SWEEP.FLAG PC PC,RPS.REM 20.R2 INDEX INDEX, &, INDEX $ R2,-(SP) 960, -(SP) 4487 4485 4480 4594 4476 4500 s INDEX, s 4504 i ¢,BUFFW i BUFFW, s 4505 PC,BL $MUL ORETPKT+24 ,R0 PC,CMP.DATA 4509 000001 0000006 000000G 4510 Ss: R1.(SP) 64: PC.PUT .RETPKT (SP)+,(SP). PC . 0000006 RTS S9 words, : Routine Size: Rout ine Bese: $CODEs - 13006 : Meximum steck depth per invocetion: 7 words h— (42) HOST.WRT.CHK MULTI-DRIVE SUBTEST ROUTINES RO,.R1 R1,(SP) 000000V Page 1 21 ! "1/0 REQUEST FAILED” ! INCR HARD ERROR STATISTIC ! IF COMPARE ERROR END; .SBTTL HOST.WRT.CHK: JSR MOV CMPB BNE MOV DEC BR 1¢: TSTB BGE MOvB BR 2%: INC CMP BLE 3s: CLRB RTS 4% JSR MOV BLT MOV MOV JSR SEQ 0311 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ! RETURN WRITE I/0 BUFFER TO POOL ! PUT BACK WRITE RETPKT 013700 126027 001022 013700 005300 000407 000000G VAX-11 Bliss-16 V4.0-579 PUT_I0_BUFF (.BUFFW); PUT_RETPKT (.INDEX); 0000006 105760 000070 000072 000074 000076 000102 000106 000112 000114 000116 ERRHRD (42, EGH_30, EMS_42); HARD _ERR (1); END; 004137 002004 113760 000404 005200 020037 003765 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 i BUFFW, 4514 H 4515 : qu.. 4502 4449 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4§3§ 453 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4348 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 456§ 456 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES CI.&MWWNNNNU‘U‘Wuu“uuuwuuNNNNNNNNNNNNNNNNNNNO‘P”fiN”r‘MD—‘HM»w“Pfl .‘...l.‘...lI!.OQI.I.!.'.l.l.!.'...l.Oll‘l.l.l.OI..'.U.'.'...'..-..t.l.t.'.!'l'l.‘.l.'.l...'“.‘.l.l.'....“““fl CZRCD3 v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0312 VAX-11 Bliss-16 V4.0-579 Page 124 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (43) RCUTINE CMP_DATA (BUFFW) = 1o : ! : ! ! ! ? THIS ROUTINE IS CALLED BY HOST_WRT_CHK TO PERFORM THE ACTUAL WORD-BYWORD COMPARISON BETWEEN THE READ BUFFER DESCRIBED IN THE CURRENT RETURN PACKET AND ITS ASSOCIATED WRITE BUFFER. A VALUE OF “SUCCESS” IS RETURNED IF THE TWO BUFFERS ARE IDENTICAL. OTHERWISE, “FAILURE” IS RETURNED. INPUTS: : BUFFW - ADDRESS OF THE WRITE BUFFER DESCRIPTOR : : IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET (READ OPERATION) : :BEGIN LOCAL RESULT : WORD, WBDO : WORD, WBD1 RBDO RBD1 : : : ! ! WORD, WORD, WORD, ! ! ! DISP : WORD, PAF : WORD, COUNT : WORD; RESULT = SUCCESS; WBDO = . .BUFFW; WBD1 = .(.BUFFW + 2); RBDO = .RP_ADDR [BUFF_0]; RBD1 = .RP_ADDR [BUFF_1]; IF _MEM_MGMT THEN BEGIN SUCCESS 7 FAILURE WRITE BUFFER DESCRIPTOR (WORD 0) WRITE BUFFER DESCRIPTOR (WORD 1) READ BUFFER DESCRIPTOR (WORD 0) READ BUFFER DESCRIPTOR (WORD 1) ! ! ! 4K PAGE DISPLACEMENT ADDR PAGE ADDRESS FIELD BUFFER WORD COUNT ! ! ASSUME BLUE SKY WRITE BUFFER DESCRIPTOR (WORD 0) ! ! ! i ' WRITE BUFFER DESCRIPTOR (WORD 1) READ BUFFER DESCRIPTOR (WORD 0) READ BUFFER DESCRIPTOR (WORD 1) IF SYSTEM HAS MEMORY MANAGEMENT THEN DISP = _WBDO AND %0'17777'; PAF = (.WBDO t -6) AND %0‘1600‘; KTPAR4 = (.WBD1 t 10) OR .PAF; WBDO = %0’ 100000’ OR .DISP; ! ! ! ! WRITE BUFFER DISPLACEMENT PAGE ADORESS FIELD LOAD PAR4 WRITE BUFFER VIRTUAL ADDRESS DISP = .RBDO AND %0'17777'; PAF = (_RBDO t -6) AND %0’ 1600‘; KTPARS = (.RBD1 t 10) OR .PAF; RBDO = #%0’'120000‘ OR .DISP; ! ! ! ! READ PAGE LOAD READ ! ! IF WCRD COUNT IS NON-ZERO THEN ! FOR EACH WORD IN BUFFERS ! IF WORDS COMPARE 0.K. BUFFER DISPLACEMENT ADDRESS FIELD PARS BUFFER VIRTUAL ADDRESS END; IF (COUNT = THEN BEGIN _RP_ADDR [BCNT_LO] INCR I FROM 1 TO .COUNT DO BEGIN IF ..WBDO EQLV ..RBDO 7/ 2) NEQU O CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 45624 4625 4626 4627 4628 4629 4630 4631 4632 HNNNNU‘NMNWNNNNNN.hU'UIU'UlUl.MMMOO\J\JQ\I\JOOOO\J\J\J\I#OOOO'UIU‘UHJ!UIUIO .l.l.'...l.'.l.‘...l.'.....l.l.'.l.....'.‘...l....IOI..O.'.I.l.‘.....l...O.'.l.l...l.'“.l...'.’fl.l...l.l“ v02.0 THEN 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ! BEGIN WBDO = .WBDO .« 2; RBDO = .RBDO + 2; IF _MEM_MGMT THEN %FESYSTEH HAS MEMORY MANAGEMENT HEN BEGIN IF (.WBDO AND %0'17777') EQLU O THEN ! ! BEGIN WBDO = %0'100000'; = .KTPAR4 IF WRITE BUFFER CROSSES 4K PAGE BOUNDARY THEN ! RESET VIRTUAL ADDRESS ADVANCE PAR TO NEXT 4K PAGE + %0'200'; END; IF (.RBDO AND %0°'17777') EQLU O ! IF READ BUFFER CROSSES 4K PAGE BOUNDARY ! THEN RBDO = %0'120000°'; KTPARS = _KTPARS + %0'200'; ! RESET VIRTUAL ADDRESS ADVANCE PAR TO NEXT 4K PAGE END; END; ELSE ! END - IF MEMORY MANAGEMENT END ! OTHERWISE - COMPARE ERROR BEGIN RESULT = FAILURE; ! FAILED ! NO NEED TO CONTINUE EXITLOOP; END; END; IF ! WORD COMPARE LOOP END; ! IF WORD COUNT IS NON-ZERO .MEM_MGMT ! ! IF SYSTEM HAS MEMORY MANAGEMENT THEN THEN BEGIN KTPAR4 = #0‘'1000'; KTPARS = %0'1200'; ! RESTORE PAR'S END; RETURN .RESULT; END; ! .SBTTL SEQ 0313 Page 125 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ADVANCE WRITE BUFFER ADDRESS ADVANCE READ BUFFER ADDRESS THEN KTPAR4 VAX-11 Bliss-16 V4.0-579 ROUTINE CMP_DATA CMP .DATA MULTI-DRIVE SUBTEST ROUTINES (43) CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.0 MULTI-DRIVE SUBTEST ROUTINES 000000 004137 0000006 000004 000010 000014 000020 000024 000030 000034 000040 000042 0C0046 000052 000054 000056 000062 000064 000070 000074 000076 000102 000106 000110 000112 000114 000116 000122 000126 000130 000134 000136 000142 000144 000150 000154 000156 000162 000166 000170 000172 000174 000176 000202 000206 000210 000214 000220 000224 000230 000234 000236 000240 000242 000244 0002456 000250 000252 012746 017604 016600 016046 013701 016105 016146 005046 113716 032716 001462 010402 042702 010446 012746 004737 010003 042703 016600 000300 105000 0C6300 0C6300 010337 050037 010204 052704 010502 042702 010516 012746 004737 010003 042703 016600 00G300 105000 006300 006300 010337 050037 010205 052705 062706 016146 012746 004737 022626 005700 001442 005001 000435 021415 001030 062704 000001 000020 000020 000002 000000G 000024 000026 CMP.DATA: JSR MOV MOV MOV MOV MOV MOV MOV CLR 0000006 000001 MOvB BIT BEQ MOV 160000 8IC MOV MOV 177772 0000006 JSR MOV BIC MOV SWAB CLRB ASL ASL MOV 176177 000010 172350 172350 BIS MOV BIS MOV BIC MOV MOV JSR 100000 160000 177772 000000G MOV 176177 000010 8IC MOV SWAB CLRB ASL ASL MOV 172352 172352 BIS MOV 120000 000006 000020 000002 0000006 1s: BIS ADD MOV MOV JSR CMP TST BEQ CLR 2%: 000002 SEQ 0314 VAX-11 Bliss-16 v4.0-579 Page 126 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (43) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 cHP BNE ADD R1,$SAVES H 820(SP),R4 20(SP),RO 2(RO), -(SP) RP.ADDR,R1 24(R1),R5 26(R1),-(SP) -(SP) MEM.MGMT,(SP) #1,(SP) 1 R4 ,R2 #160000,R2 R4,-(SP) PC,BL$SHF RO,R3 #176177,R3 10(SP),RO RO RO RO RO R3,9#172352 RO,8#172352 R2,RS5 #120000,RS #6,5P 20(R1),-(SP) #2,-(SP) PC,BLS$DIV : 4553 : *,WBD1 *,RBDO : *,RBD1 ; 4554 4555 ; WBDO,DISP 4559 ; WBDO,#* 4560 ; ; ; 10(SP),RO RO RO RO RO R3,84172350 RO,8#172350 R2,R4 #100000,R4 R5,R2 #160000,R2 RS,(SP) 4550 4551 4552 ; #-6,-(SP) PC,BL$SHF RO,R3 #176177,R3 4522 ; *,RESULT ; BUFFW,WBDO ; BUFFW,» *,DISP *,PAF *,PAF ; WBD1,* ; 4561 PAF,% ; DISP,WBDO 4562 ; RBDO,DISP : *,DISP 4564 WBDO HE ; RBDO,* : *,PAF 3 t,PAF ; RBD1,% ;: PAF,» ; ; DISP,RBDO *,RBDO ; 4565 4566 4567 4557 H 4571 (SP)+,(SP)+ RO 6% R1 5% (R4),(RS) 4% #2,R4 ; COUNT s I 4575 ; WBDO,RBDO 4578 ; *,WBDO 4582 CZRCD3 v02.0 000256 000262 000266 000270 000274 000276 000302 000310 000314 000316 000322 000330 000332 000336 000340 000342 000344 000346 000352 000354 000362 000370 000374 000400 ; ; CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 MULTI-DRIVE SUBTEST ROUTINES 062705 032716 001424 032704 001005 012704 062737 032705 001011 012705 062737 000403 005066 000403 005201 020100 003740 032716 001406 012737 012737 016600 062706 0C0207 Routine Size: 14-Jun-1985 09:33:42 000002 000001 #1,(SP) b1 #17777.R4 3s #-100000,R4 017777 100000 000200 017777 120000 000200 172350 38: 000006 4% : 000001 001000 001200 000006 172350 172352 000010 78: 2% #1,(SP) 74 #1000, 34172350 #1200, 9#172352 6(SP),RO MOV ADD RTS 129 words, Routine Base: $CODEs invocation: 14 words Maximum stack depth per #10,SP PC + ; *,WBDO ; *,WBDO 13174 ; *,RBDO H (43) 4583 4588 4592 4593 4597 4601 4602 ; ; RESULT H y 3 ; Page 127 4584 ; *=,RBDO R1 R1,RO 6%: *,RBDO #-60000,RS5 6(SP) 6% S5$: ; ; H 2300.80172352 SEQ 0315 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 #200,84172350 #17777.,RS 5 172352 VAX-11 Bliss-16 v4.0-579 I,COUNT H 4578 4612 4610 4575 4621 H 4625 ; 4626 H 4522 ; RESULT,* 4538 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4663 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 000000 000002 000006 000012 000016 000022 000024 000032 - 010146 013700 116000 042700 020027 001026 132737 001422 ROUTINE SWEEP : NOVALUE = * 4633 4634 Hmmwmmuuuhmmmmm&bb&oaauummmwmmmp»Hn»np»o—wr—»pnno— .0...!QO.I...C......MQ..O.I.!...'Il.'.l.l...o...‘...l.l.‘.l.t.l.l...!.l‘l...’.l“.’.’...fl.o voz2.C SEQ 0316 VAX-11 Bliss-16 V4.0-579 Page 128 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (44) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED FROM IO_RETPKT AND OTHERS TO DEALLOCATE THE RESOURCES ASSOCIATED WITH THE CURRENT RETURN PACKET. THIS INCLUDES THE PACKET ITSELF AND THE I/0 BUFFER. IN ADDITION, IF THE HOST IS PERFORMING WRITE-COMPARES, AND IF THE CURRENT RETURN PACKET IS A READ FUNCTION, THEN THE CURRENT CONTROLLER’'S RP_SAVE AREA IS SEARCHED FOR TEE AgggggSTED WRITE RETPKT SO THAT ITS RESOURCES CAN ALSO BE DEALL . IMPLICIT INPUTS: RP_ADDR - ADDRESS OF CURRENT RETURN PACKET RP_INDX - INDEX OF CURRENT RETURN PACKET BEGIN LOCAL INDEX : SIGNED WORD; IF (.RP_ADDR [ENDCOD] AND OP_MSK) EQLU OP_RD THEN BEGIN ' IF BIT_TST (SWP_FLAGS, THEN SWF_HWC) IF (CINDEX = RPS_REM ()) GEQ 0 THEN BEGIN PUT_IO0_BUFF (RETPKT [.INDEX, PUT_RETPKT (.INDEX); - ! ! IF READ OPCODE OR ENDCODE THEN ! ! IF HOST IS DOING WRITE-COMPARES THEN ! ! IF aSSOCIATED WRITE RETPKT IS FOUND THE BUFF_01); ! ! RETURN WRITE I/0 BUFFER TO POOL RETURN WRITE PACKET TO POOL END; END; END; PUT_IO_BUFF (RP_ADDR [BUFF_01); PUT_RETPKT (.RP_INDX); ! ! END; ! ROUTINE SWEE”? SWEEP: 0000006 000014 177600 000041 000100 000000G Ay RETURN CURRENT I/0 BUFFER TO POOL RETURN CURRENT RETPKT TO POOL .SBTTL MOV MOV MOVB BIC CMP SWEEP MULTI-DRIVE SUBTEST ROUTINE R1,-(SP) i RP.ADDR, RO ; 14(R0O),RO #177600,R0 RO, %41 BITB BEQ #100,SWP.FLAGS 1s BNE 4633 4654 1s i 4658 CZRCD3 CZRCOBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000034 000040 000042 000044 000046 000052 000056 000062 000064 000070 000072 000076 000100 000104 000110 000114 000120 000124 000126 000130 ; ; - 004737 010001 002416 010146 012746 004737 062700 010016 004737 010116 004737 022626 013746 062716 004737 013716 004737 005726 012601 000207 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000000V PC,RPS.REM RO,R1 1 R1,-(SP) #60,-(SP) PC,BLSMUL #RETPKT+24 ,RO RO,(SP) PC,PUT.I0.BUFF R1,(SP) PC,PUT.RETPKT 000060 000000G 000024G 000000G 0000006 000000G 000024 000000G 000000G 0000006 (SP)+,(SP)+ 1s: Routine Size: 45 words, Routine Base: Maximum stack depth per invocation: 4 words TST RP.ADDR, -(SP) #24,(SP) PC,PUT.I0.BUFF RP.INDX, (SP) PC,PUT.RETPKT (SP)+ (SP)+,R1 MOV RTS PC $CODE$ + 13576 SEQ 0317 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 129 (44) H 4662 ; INDEX,* 4666 : 4667 ; *,INDEX : INDEX,* 4664 ; 4675 : 4676 H 4649 H 4633 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES : B i B B : ‘@ H 3 ; 4 v i H : H i i : : H B H H H : . i ; H i H ; B B H 5 i H H i B H ; H ; B 4 ; ; 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 000000 000004 000010 004137 012704 013701 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0318 VAX-11 Bliss-16 V4.0-579 Page 130 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (45) ROUTINE RPS_REM = * H PNNNNUJU‘&OUlUlU'UIVlUlbUIOOOJOJ(NNNNNNNNNNHHPFFPHFHF‘PPHF‘HHMMHH v02.0 THIS ROUTINE SEARCHES THE CURRENT CONTROLLER'S RP_SAVE AREA FOR A RETURN PACKET WHOSE COMMAND REFERENCE NUMBER (CRN) IS ONE LESS THAN THE CRN OF THE CURRENT RETURN PACKET (I.E., SEARCHING FOR THE SAVED WRITE OPERATION ASSOCIATED WITH THE CURRENT READ OPERATION). IF FOUND, THE RP_SAVE ENTRY IS CLEARED (TO -1) AND THE RETPKT INDEX OF THE WRITE OPERATION IS RETURNED TO THE CALLER. IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET RPS_X1, RPS_X2 - STARTING / ENDING INDECES OF THE CURRENT CONTROLLER’'S RP_SAVE AREA OUTPUTS: INDEX (VALUE OF THIS ROUTINE) - INDEX OF THE RETPKT CONTAINING A CRN WHICH IS ONE LESS THAN THE CURRENT BEGIN LOCAL INDEX : SIGNED WORD, TEMP : SIGNED WORD; INDEX = -1; INCR COUNT FROM .RPS_X1 TO BEGIN IF (TEMP = THEN BEGIN .RPS_X2 DO .RP_SAVE [.COUNT]) GEQ O IF .RETPKT [.TEMP, THEN BEGIN ! ! ASSUME NOT FOUND FOR EACH ENTRY IN RP_SAVE ! IF THIS IS A VALID RETPKT INDEX ! THEN CRF_LO) EQLUV C.RP_ADDR [CRF_LO] INDEX = .TEMP; RP_SAVE [.COUNT] EXITLOOP; = -1; - 1) ! ! IF CORRECT CRN THEN ! ! ! INDEX TO BE RETURNED INIT ENTRY DONE END; END; END; RETURN IF VALID RETPKT INDEX ! RP_SAVE ENTRY LOOP .INDEX; END; 000000G 177777 000000G ! ! ROUTINE RPS_REM .SBTTL RPS.REM: JSR MOV MOV RPS.REM MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE4 : #-1,R4 ; *,INDEX RPS.X1,R1 ; *,COUNT 4679 4705 4706 CZRCD3 vo2.0 000014 000016 000020 000024 000026 000030 000034 000040 000042 000046 000052 000054 000050 000062 000064 000072 000074 000076 000102 000104 000106 ; CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 060401 000426 116103 002423 010346 012746 004737 022626 013702 016202 005302 026002 001005 010304 112761 000404 005201 020137 003746 010400 000207 Routine Size: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ADD 000000G 1s: 000060 000000G 000000G 000004 000004G 000377 000000G 000000G 2%: 3s: BR MOove BLT MOV MOV JSR CMP MOV MOV DEC CMP BNE MOV MOVB BR INC CMP BLE MOV RTS R4 ,R1 2% RP.SAVE(R1),R3 2% SEQ 0319 VAX-11 Bliss-16 V4.0-579 Page 131 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (45) : *,COUNT ; *(COUNT),TEMP 4709 : TEMP,» 4713 : TEMP,INDEX ; *,%(COUNT) 4717 4718 PC,BL$MUL (SP)+,(SP)+ RP.ADDR,R2 4(R2),R2 R2 RETPKT04(R0).R2 2 R3,R4 gB??.RP.SAVE(Rl) $ R1 R1,RPS.X2 1$ R4,RO PC 36 words, Rout ine Base: $CODE$ + 13730 ; Maximum stack depth per invocation: 8 words 3 4715 ; COUNT ; COUNT, * 4706 ; INDEX, * 4699 H 4679 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 3 : : 4732 4733 4734 4;;2 : B 4 4737 3 3 3 : : 3 3 4738 4739 4740 4741 4742 4743 4744 : 3 3 3 3 : 3 : : 4745 4746 4747 4748 4749 4750 4751 4752 4753 : 3 4754 4;22 3 3 s 3 3 3 4757 4758 4759 4760 4761 4762 3 . : : : : : : : B ; : : 3 : : H 3 : 3 : 3 : : 3 {S— MULTI-DRIVE SUBTEST ROUTINES 4730 4731 3 3 3 4 4763 4764 1 1 ROUTINE DR_RETPKT : NOVALUE = 1 1 i ! ! ! 1 1 1 1 1 1 1 1 1 1 4783 4784 4785 4786 FOR FATAL DEVICE ERRORS, ! ! ! ! ! ! ! THIS ROUTINE RELEASES ALL RESOURCES HELD BY THE CONTROLLER. THE CONTROLLER IS MARKED OFFLINE IN ITS CST, AND ALL UNITS ATTACHED TO THE CONTROLLER ARE DROPPED. IF THE RETURN PACKET DESCRIBES A COMMAND TIMEOUT, THEN A HARD ERROR IS DECLARED FOR THE APPROPRIATE UNIT. IMPLICIT INPUTS: RP_INDX - INDEX OF THE CURRENT RETURN PACKET ! RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET 2 2 3 3 3 3 IF .RP_ADDR [MESTYP] EQLU MT_FATAL THEN BEGIN ! ! ! ! !- RPS_X1 - STARTING / ENDING INDECES OF THE CURRENT CONTROLLER'S RETPKT SAVE (RP_SAVE) AREA CST_ADDR - ADDRESS OF THE CURRENT CONTROLLER'S CST CCTLR - CURRENT CONTROLLER NUMBER PUTA_BUFF (); INCR COUNT FROM .RPS_X1 TO .RPS_X2 DO 4 4 S5 4782 ! ! LOCAL INDEX : SIGNED WORD; 4768 4773 4774 4775 4776 4777 4778 4779 4780 4781 THIS ROUTINE IS CALLED BY PROC_RETPKT FOR ALL PACKETS ORIGINATING AT THE "DRIVER” PORTION OF THE PROGRAM. THIS INCLUDES PACKETS DESCRIBING FATAL DEVICE ERRORS AND INDIVIDUAL COMMAND TIMEOUTS. 2 Z 2 BEGIN IF (INDEX = THEN S PUT_RETPKT (.INDEX); RP_SAVE [.COUNT] = -1; 3 3 3 3 ! IF FATAL CONTROLLER ERROR ! THEN ! RELEASE ALL I/0 BUFFERS HELD BY CONTROLLER ! FOR EACH ENTRY IN CONTROLLER'S RP_SAVE ! IF VALID RETPKT INDEX ! THEN ! ! RETURN RETPKT TO POOL INIT ENTRY END; 4 g 2 .RP_SAVE [.COUNT]) GEQ 0 BEGIN 5 S S 4 3 3 3 3 3 3 SEQ 0320 Page 132 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (46) VAX-11 Bliss-16 V4.0-579 ‘e BEGIN 2 4 4 4769 4770 4771 4772 14-Jun-1985 09:33:42 1 1 1 1 1 1 2 4765 4766 4767 14-Jun-1985 09:41:21 END; QIO [.CCTLR] = 0; CST_ADDR [STATE] = OFFLINE; DROP_CTLR (.CCTLR, DU_FATAL); PUT_RETPKT (.RP_INDX); ELSE ! RP_SAVE ENTRY LOOP ! ! ! ! CLEAR NO. OF QUTSTANDING QIOS MARK CST OFFLINE DROP CONTROLLER'S UNITS PUT BACK RETPKT END BEGIN FSET_UPAR (); ERRHRD (43, EGH_30, EMS_43); ! ELSE - COMMAND TIMEOUT ! SET UP UNIT-RELATED PARAMETERS ! *I/0 REQUEST FAILED” CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 ; 3 : : : H : MULTI-DRIVE SUBTEST ROUTINES 4787 4788 3 3 HARD _ERR (1); SWEEP (); :;33 g QIO [.CCTLR] 4791 4792 4793 2 2 1 END; 004137 000000G 000004 000010 000014 000020 000024 000026 000032 000036 000042 000044 000046 000052 000054 000056 000062 000070 000072 000074 000076 000100 000104 000110 000114 000122 000124 000130 000134 000140 000144 000146 000150 000154 000156 000160 000162 000164 000170 000174 000200 000204 000210 000212 013700 116000 042700 020027 001051 004737 013703 013701 005301 000412 116102 002407 010246 004737 112761 005726 005201 020103 003763 013701 105061 013700 042760 010146 012746 004737 013716 004737 005726 000420 004737 104456 000053 000000G 000000G 012746 004737 004737 013700 105360 005726 000207 000000G 000002 177417 000060 ; .QIO [.CCTLR] ! INCREMENT HARD ERROR STAT FOR UNIT ! RETURN RESOURCES - 1; ! .SBTTL DR.RETPKT: JSR MOV MOVB BIC CMP BNE JSR MOV MOV DEC BR 1$: MOVB BLT MOV JSR MOVB TST 28: INC CMP BLE MOV CLRB MOV BIC MOV MOV JSR MOV JSR TST BR 3s: JSR TRAP .WORD .WORD .WORD MOV JSR JSR MOV DECB 43 TST RTS 000000G 000000G 000377 000000G 000000G 000000G 000000G 100000 000002 000004 000000G 000000G 000000G 012550’ 000001 00000GG 013576 000000G 000000G 70 words, DECREMENT NO. OF OUTSTANDING QIOS ! ROUTINE DR_RETPKT 000000G 000000G 000000G Maximum stack depth per VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 END; 000000 ; Routine Size: = SEQ 0321 Page 133 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (46) 14-Jun-1985 09:41:21 Routine Base: invocation: 7 words DR.RETPKT MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE3 RP .ADDR,RO 2(R0O),RO #177417,R0 RO, #60 3 PC.PUTA.BUFF RPS.X2,R3 RPS.X1,R1 R1 2% RP.SAVE(R1),R2 2% R2,-(SP) PC,PUT.RETPKT #377,RP.SAVE(R1) (SP)+ R1 R1,R3 1$ CCTLR,R1 QIOCR1) CST.ADDR,RO #100000,2(R0O) R1,-(SP) #4,-(SP) PC,DROP.CTLR RP.INDX,(SP) PC,PUT.RETPKT (SP)+ 4 PC,FSET.UPAR S6 53 EGH.30 EMS.43 #1,-(SP) PC,HARD.ERR PC,SWEEP CCTLR,RO QIOCRO) (SP)+ PC $CODES$ + 14040 : : 4730 4757 : : ; *,COUNT ; COUNT 4761 4762 : *(COUNT),INDEX 4765 : INDEX, * 4769 ; *,%(COUNT) : ; COUNT : COUNT, = 4770 4767 4762 : 4776 ; 4717 : 4778 : 4779 : : : : 4759 4757 4785 4786 : 4787 3 : 4788 4789 3 4752 4730 : : CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 ;. H B P 3 : 3 3 3 : 3 : 3 : H s : 3 3 H 3 3 3 : 3 H : 3 : : 3 : ; : 3 3 3 : : : 3 : : 3 H 3 3 : : H H : : 3 : 3 3 MULTI-DRIVE SUBTEST ROUTINES 4794 4795 1 1 479 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4:10 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4:5% 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 { 1 1 1 1 2 2 2 2 2 2 g 4824 4825 4826 4827 4828 4829 4:;0 2 3 3 3 3 3 : 4832 4833 4834 4835 4836 4 S S S S 4831 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 6 6 6 6 6 7 7 7 7 7 7 7 38 8 14-Jun-1985 09:41:21 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ROUTINE DRV_TIMCHK : NOVALUE = ‘e ! THIS ROUTINE IS CALLED ONCE PER SECOND FROM EITHER THE MULTI-DRIVE ! ! ! ! ! ! ! ! SUBTEST EXECUTIVE (MULTI_DRIVE) OR THE DM EXERCISER SUBTEST EXECUTIVE (DM_EXER). ITS PURPOSE IS TO DECREMENT THE TIMING COUNTS FOR ALL OUTSTANDING COMMANDS, AND TO PROCESS ANY THAT REACH ZERO. A COMMAND TIMER THAT REACHES ZERO CAN MEAN ONE OF TWO THINGS. IF THE OWNERSHIP BIT OF THE ENVELOPE DESCRIPTOR OF THE TIMED OUT COMMAND INDICATES THAT THE SLOT IS STILL CONTROLLER-OWNED, THEN THE CONTROLLER IS ASSUMED DEAD. A DEVICE-FATAL ERROR IS DECLARED AND ALL CONTROLLERRELATED DATA IN THE "DRIVER” ARE INITIALIZED. IF THE AFOREMENTIONED OWNERSHIP BIT INDICATES THAT THE SLOT HAS BEEN RETURNED TO THE HOST, OR IF THE ENVELOPE DESCRIPTOR SLOT FOR THE TIMED OUT COMMAND CANNOT BE FOUND (I.E., OVERWRITTEN WITH ANOTHER DESCRIPTOR), THEN ONLY THE ! ! ! ! ! COMMAND IS ASSUMED LOST. ! ! ! !- IN EITHER CASE, A RETURN PACKET IS SET UP WHICH DESCRIBES THE CONDITION, AND “SENT” TO THE "EXERCISER". BEGIN LOCAL M_INDEX : SIGNED WORD, M_ADDR, CR_ADDR, TYPE : ! MSCP ENVELOPE INDEX ! MSCP ENVELOPE ADDRESS ! COMMAND RING (C-RING) ADDRESS WORD; ! INCR CNTLR FROM O TO (MAX_CTLR - 1) DO BEGIN SET_CPAR (.CNTLR); IF .CST_ADDR [STATE) EQLU ONLINE THEN BEGIN INCR COUNT FROM .OCL_X1 TO .OCL_X2 DO BEGIN TYPE OF ERROR ! FOR EACH CONTROLLER ! SET UP CONTROLLER-RELATED DATA ! IF CONTROLLER IS ONLINE ! THEN ! FOR EACH OUTSTANDING COMMAND ENTRY IF (M_INDEX = ,OUTC_LIST [.COUNT]) GEQ 0 THEN BEGIN ! IF ENTRY HOLDS VALID MSCP INDEX ! THEN OUTC_TIMR [.COUNT) = ._OUTC_TIMR [.COUNT] - 1; IF .OUTC_TIMR [.COUNT] EQLUV © THEN BEGIN . ! DECREMENT COMMAND TIMER ! IF COMMAND TIMED OUT ! THEN OUTC_LIST [.COUNT] = -1; M_ADDR = MSCP_ENV + (.M_INDEX & ENV_LEN # 2); CR_ADDR = .DCT_ADDR [CR_BEG]; TYPE = MT_TIMEOUT; INCR SLOT FROM 1 TO CRING_LEN DO BEGIN SEQ 0322 ! ! ! ! ! KILL OUTC ENTRY CALCULATE MSCP ENV ADDRESS GET START OF C-RING ASSUME COMMAND TIMED OQUT FOR EACH CRING SLOT Page 135 (47) CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:41:21 MULTI-DRIVE SUBTEST ROUTINES 4851 4852 4853 14-Jun-1985 09:33:42 CR_ADDR = ' ERRDF (20, EGD_20, EMS_20); DRV_CTLERR (.CNTLR); TYPE = MT_FATAL; !' WRITE IP TO STOP DEVICE !' 1ST UNIT & IN CTLR ! “CONTROLLER TIMEOUT” !i CLEAN UP CTLR DATA IN DRIVER !i CHANGE TYPE TO FATAL ERROR END; ! IF SLOT STILL CTLR-OMWNED ~J~J~J~J0 0 ®®OO EXITLOOP; ! EXIT C-RING SLOT SEARCH LOOP END; ! IF COMMAND SLOT IS FOUND CR_ADDR = .CR_ADDR + 4; ! END; ADVANCE TO NEXT C-RING SLOT ! C-RING SLOT SEARCH LOOP IF (RP_INDX = GET_RETPKT (.CNTLR)) GEQ 0 THEN BEGIN ; %:EzETPKT IS AVAILABLE RP_ADDR = RETPKT + (.RP_INDX # RP_ LEN = 2); IF .TYPE EQLU MT_TIMEOUT ! IF COMMAND TIMEOUT THEN ! THEN 00O WY WO NN EUWSEBENVNOON IO 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 WRT_RC25 (RCIP, RC_ALL, ALL_ONES); LSLUN = .CST_ADDR [OF _UN, P_UNIT); 4863 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 ! ADVANCE TO HI-ORDER WORD : %;E'S:LOT IS STILL CTLR-OWNED ED_OWN) BEGIN 4859 4860 4861 4862 BEGIN COPY_BLK (.M_ADDR + 4, PUT_ENV (.M_INDEX); .RP_ADDR, RP_LEN); END; RP_ADDR RP_ADDR RP_ADDR IN_IODQ [CTLR] = .CNTLR; [MESTYP] = .TYPE; [CONID) = CID_DRIVER; C.RP_INDX); END; END; END; T_FLAG = FALSE; ! LOAD CTLR & INTO RETPKT LOAD TYPE LOAD PACKET ORIGINATOR PASS RETPKT TO EXERCISER VIA 1I0DQ ! IF RETPKT IS AVAILABLE END; END; ! COPY COMMAND TO RETPKT ! RETURN COMMAND ENVELOPE TO POOL ! IF TYPE = COMMAND TIMEOUT END; Page 136 ! IF THIS SLOT HOLDS TIMED OUT COMMAND ! THEN .CR_ADDR + 2; %;E=IT-TST (.CR_ADDR, SEQ 0323 USER$1:([AZTEC.CZRCDB JCZRCD3.SRC;17 IF ..CR_ADDR EQLA (.M_ADDR + 8) THEN BEGIN 4855 4856 4857 4865 4866 4867 VAX-11 Bliss-16 v4.0-579 ! IF COMMAND TIMER REACHED ZERO ! IF OUTC ENTRY HOLDS A COMMAND ENVELOPE INDEX ! OUTSTANDING COMMAND ENTRY LOOP ! IF CONTROLLER IS ONLINE ! CONTROLLER LOOP ' CLEAR ENTRY FLAG a7) CZRCD3 vo2.0 | 000010 000012 000014 000024 000042 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 END; ! ROUTINE DRV_TIMCHK 004137 0000006 162706 005003 010346 004737 013700 005760 100402 000137 013701 000006 005301 000137 116100 010066 002771 010100 006300 005360 001177 112761 016616 012746 004737 062700 010066 013700 016005 012766 016604 062704 012702 021504 001040 062705 011500 042700 020027 001034 012700 010077 013700 016046 000316 042716 012637 104455 010316 004737 .SBTTL DRV.TIMCHK MULTI-DRIVE SUBTEST ROUTINES JSR R1,$S5AVES DRV. TIMCHK : SuB 14: 0000006 000000G 000002 CLR 24: 014746 0000006 000006 3%: 4s: 000377 000006 000104 0000006 0000006 000004 0000006 000010 000004 000004 000010 000010 000002 077777 100000 177777 0000006 0000006 000006 177740 0000006 000006 4824 ; 4828 + #,COUNT + COUNT 4832 : #(COUNT),» i *,M.INDEX 4835 MOV R1,RO i COUNT,s 4839 i s 4840 4844 34 RO BNE MOVB 104 #377,0UTC.LIST(R1) 6(SP),(SP) €104, -(SP) PC,BL$MUL #MSCP.ENV,RO RO,4(SP) DCT.ADDR,RO 10(RO) ,RS MOV ADD MOV 4(SP),R4 10,R4 #10,R2 BNE 64 ADD MOV 8IC 4345 : *,M.ADDR i + *,CR.ADDR 4846 i M.ADDR,» 4851 (RS),R4 i »,SLOT + CR.ADDR,+ 4848 4851 ®2,RS (RS5),RO + *,CR.ADDR + CR.ADDR, 4855 4856 + *,RC.REG 4860 #4,6(SP) @77777,R0 RO, #-100000 MOV MOV MOV SWAB RO,8RC25.ADDR CST.ADDR,RC 6(RO), -(SP) (SP) MOV TRAP (SP)+,LSLUN S5 8IC MOV JSR #,s(COUNT) + M.INDEX,+ CHP BNE MOV 4827 OUTC.TIMR(RO) MOV MOV JSR ADD MOV MOV MOV CMP i CNTLR, 2 ASL .MORD .WORD .WORD 0000006 : CNTLR 11% OCL.X1,R1 R1 104 OUTC.LIST(R1),RO RO,6(SP) MOV Ss: 4794 JMP MOV DEC JMP Move MOV DEC 000000G R3 ; R3,-(SP) PC,SET.CPAR CST.ADDR,RO 2(RO) BLT 0000006 6 ,SP MOV JSR MOV TST BMI 014762’ 0000006 SEQ 0324 VAX-11 Blies-16 V4.0-579 Page 137 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 a7 74 ¢-1,R0 i &, TYPE 4847 s RC.REG,s : 4861 ' 4862 €177740, (SP) 24 EGD.20 EMS.20 R3,(SP) PC.DRV.CTLERR i CNTLR,» . 4063 CZRCD3 v02.0 000254 000262 000264 000270 000272 000274 000276 000302 000306 000310 000312 000316 000322 000326 000332 000340 000342 000346 000352 000354 000360 000364 000370 000374 000376 000402 000406 000410 000414 000420 000422 000426 000430 000432 000434 000436 000442 000446 000450 000456 000462 000466 000470 000472 000474 000500 000502 000506 000510 000512 000516 000520 000524 000530 000534 CZRCDBO RC25 DISK EYERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MULTI-DRIVE SUBTEST ROUTINES 012766 030404 062705 005302 001332 010316 004737 010037 002470 010016 012746 004737 062700 010037 026627 001016 016616 062716 010046 012746 004737 016616 004737 022626 013700 062700 010302 042702 142710 150210 016602 006302 006302 006302 006202 042702 142710 150210 112760 013716 004737 005726 005726 005201 020137 003002 000137 005726 005203 020327 003002 000137 105037 062706 000207 000003 000006 000004 000000G 000000G MOV 6$: 78: 000060 0000006 0000006 0000006 000010 000004 ADD DEC BNE MOV JSR MOV BLT MOV MOV JSR ADD MOV CMP BNE 000010 MOV ASL ASL ASL ASL 177417 000360 BIC BICB BISB 000003 000001 000000G 0000006 000000G MOvVB 9s: 108: 014324 11s: 000003 014266 0000006 000006 12%: 175 words, ; Routine Size: Rout ine Base: ; Maximum stack depth per invocation: 15 words MOV JSR TST TST INC CcMP BGT JMP TST INC CMP BGT JMP CLRB ADD RTS $CODEs (SP)+,(5P)+ RP .ADDR,RO #2,R0O R3,R2 #177760,R2 #17,(RO) R2,(RO) 10(SP),R2 R2 R2 R2 R2 #177417,R2 #360,(RO) R2,(RO) #3,1(RO) RP.INDX,(SP) PC,IN.IODQ (SP). (SP)+« R1 R1,0CL.X2 11 Page 138 (47) 4864 4853 4872 4848 CNTLR,* 4876 ; RP.INDX,* 4880 ; TYPE,» 4381 : M.ADDR,+ 4885 M.INDEX, s PC,PUT.ENV BIC BICB BISB ; : JSR CcMP 177760 000017 ; *,CR.ADDR ;s SLOT 16(SP),(SP) #30,-(SP) PC,COPY.BLK MOV ADD MOV ; RP.ADDR, # MOV JSR 8%: +, TYPE ; 000030 000000G 000016 000000G 0000006 000002 ; #60, -(SP) PC,BLS$MUL S#RETPKT,RO RO,RP.ADDR 10(SP), %4 8s 6(SP),(SP) #4,(SP) RO, -(SP) MOV ADD SEQ 0325 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 @3,6(SP) 74 04 ,RS R2 S$ R3,(SP) PC,GET.RETPKT RO,RP. INDX 9 RO,(SP) 000006 000004 MOV VAX-11 Bliss-16 V4.0-579 H 4886 4883 : 4890 ; CNTLR,* : TYPE,» 4891 H 4892 : 4393 ; 4878 : 4842 ; COUNT ; COUNT,* 4832 H 4825 43 (SP)+« R3 R3,#3 12% 1 T.FLAG #6,SP PC + 14254 ; CNTLR ; H . CNTLR,* 4824 49907 4794 - CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 000000 000002 000006 000012 010046 005037 004737 012600 000014 Routine Size: 4925 4926 4927 4928 4929 4930 4931 RO N - Maximum stack 000000 000C02 000010 000014 000016 010046 012737 004737 012600 000002 Routine Size: Maximum stack 4932 4933 4934 4935 4936 4937 4938 14-Jun-1985 09:33:42 VAX-11 Bliss-16 V4.0-579 SEQ USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 0326 Page 140 (48) 'RC25 INTERRUPT SERVICE ROUTINES' * SSBTTL THERE EXISTS AN RC25 INTERRUPT SERVICE ROUTINE FOR EACH DEVICE CONTROLLER. EACH SERVICE ROUTINE BEGINS BY SIMPLY SETTING THE APPROPRIATE CONTROLLER NUMBER INTO “ICTLR". ALL SERVICE ROUTINES THEN BRANCH TO A COMMON INTERRUPT PROCESSING ROUTINE. BGNSRV (RCINTO); ICTLR = 0; RCINT (); ENDSRV ; .SBTTL RCINTO::MOV CLR JSR MOV RTI 000600 000000V 000002 =N - ; PO PO MM N o s s s s s bt oo ps RC25 INTERRUPT SERVICE ROUTINES 4910 4911 4912 ; 14-Jun-1985 09:41:21 7 words, depth per Routine Base: invocation: 2 words $CODES$ RCINTO RC25 INTERRUPT SERVICE ROUTINES RO,-(SP) F ICTLR : PC,RCINT : (SP)+,RO : + 4919 4921 4922 4919 15012 BGNSRV (RCINT1); ICTLR = 1; RCINT (); ENDSRV; .SBTTL RCINT1::MOV MOV JSR 000001 000600 0C0000V - MOV RTI 8 words, depth per BGNSRV (RCINT2); ICTLR = 2; RCINT (); ENDSRV; Routine Base: invocation: 2 words $CODE$ RCINT1 RC25 INTERRUPT SERVICE ROUTINES RO, -(SP) H #1,ICTLR H PC,RCINT F (SP)+,R0O + 15030 H 4926 4928 4929 4926 CZRCD3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES v02.0 000000 000002 000010 000014 000016 010046 012737 004737 012600 000002 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .SBTTL RCINT2::MOV MOV 000002 000600’ 000000V JSR MOV RTI SEQ 0327 VAX-11 Bliss-16 V4,0-579 Page 141 USER$1:[AZTEC.CZRCDB ICZRCD3.S5RC;17 (48) RCINT2 RC25 INTERRUPT SERVICE ROUTINES RO, -(SP) ; #2,ICTLR P PC,RCINT (SP)+,RO $ P 4933 4935 4936 4933 4939 4940 4941 4942 4943 4944 4945 000000 000002 000010 000014 000016 OO - ®r @0 @0 @0 @ @ @ 8 words, : Routin e Size: Routine Base: S$CODE$ + 15050 : Maximum stack depth per invocation: 2 words 010046 012737 0C4737 012600 000002 Rout in e Size: Maximum stack BGNSRV (RCINT3); ICTLR = 3; RCINT (); ENDSRV; 000003 000600 000000V .SBTTL RCINT3::MOV . . RCINT3 RC25 INTERRUPT SERVICE ROUTINES RO, -(SP) : #3,ICTLR : PC,RCINT ; MOV JSR MOV (SP)+,R0O RTI 8 words, depth per Routine Base: invocation: 2 words $CODES + 15070 H 4940 4942 4943 4940 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 3 : : : : : 3 : RC25 INTERRUPT SERVICE ROUTINES 4946 4947 4948 4949 4950 4951 49§§ 49 1 1 1 | 1 1 1 1 B 4954 3 : H 3 : : 1 4955 4956 4957 4958 4959 4960 1 1 1 1 1 1 : 4961 3 3 : 3 3 3 3 4962 4963 4964 4965 4966 4967 4968 : H 4969 4970 : 4971 3 4972 ; : : 4973 4974 4975 3 3 3 4976 4977 4978 : 4979 3 : 3 3 H 3 4980 4981 4982 4983 4984 4985 000000 000002 000004 000010 000014 000020 000024 000030 000034 000036 000044 000046 000054 000056 lb_— 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 e ! ! IF ! ! ! ! !- (49) THE INITIALIZATION SUBTEST IS IN PROGRESS OR IF THE DM EXERCISE R SUBTEST BEING RUN, THEN INTERRUPT PROCESSING CONTINUES BY CHECKING THE ERROR BIT OF THE SA REGISTER, AND POLLING THE COMMAND AND RESPONSE RINGS. OTHERWISE, THE INTERRUPT IS PROCESSED LATER WHEN INT_PROC IS CALLED FROM THE MULTI-DRIVE SUBTEST “EXECUTIVE” (MULTI_DRIVE). 2 3 4 IF BIT_TST (IDCT_ADDR [SA_SAVE], SA_ERR) 3 3 3 THEN ELSE 4 4 4 FATAL_ERROR () BEGIN POLL_CRING (); 4 010146 005746 004737 013700 013701 016116 011660 032710 001026 132737 001004 132737 001416 016000 Page 142 AFTER SETTING UP THE COMMI~iLY-USED CONTROLLER-RELATED DATA ITEMS, THIS ROUTINE WILL SAVE THE CURRENT CONTENTS OF THE SA REGISTER IN THE DCT. THEN, IF THE “IGNCRE INTERRUPT” BIT IS SET, NO FURTHER ACTION IS TAKEN. ISET_CPAR (); ! IDCT_ADDR [SA_SAVE] = .IRC25_ADDR [RCSA, RC_ALLJ); IF _IDCT_ADDR [IG_INT] EQLV YES ! THEN RETURN; ! IF (C.IIP_FLAG) OR (BIT_TST (SWP_FLAGS, SWF_DM)}) THEN ! BEGIN 4 3 3 2 2 1 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 THIS IS THE COMMON TwTE##UPT SERVICE ROUTINE FOR ALL RC25 CONTROLLERS. ! H ! H BEGIN 3 SEQ 0328 ROUTINE RCINT : NOVALUE = 2 2 2 2 2 2 2 3 VAX-11 Bliss-16 V4.0-579 SET UP CONTROLLER-RELATED PARAMETERS ! SAVE SA REGISTER IGNORE INTERRUPT? YES - RETURN ! IF INIT SUBTEST OR DM EXERCISER THEN ! IF FATAL ERROR ! ! ! THEN DECLARE ERROR AND CLEAN UP OTHERWISE ! POLL COMMAND RING POLL_RRING (); ! POLL RESPONSE RING END; END; ! IF INIT SUBTEST OR DM EXERCISER END; ! ROUTINE RCINT RCINT: 000000V 000566* 000000G 000002 000002 040000 000001 000000G 000002 000000G 000002 1$: .SBTTL MOV TST JSR MOV MOV MOV MOV BIT BNE BITB BNE BITB BEQ MOV RCINT RC25 INTERRUPT SERVICE ROUTINES R1,-(SP) 3 -(SP) PC,ISET.CPAR 3 IDCT.ADDR,RO : IRC25.ADDR,R1 2(R1),(SP) ; *,RC.REG (SP),2(RO) ; RC.REG,* #40000,(RO) ; *,IDCT.ADDR 3 : #1,IIP.FLAG : 1s #2,SWP.FLAGS 3s 2(RO),RO 3 4946 4963 4964 4965 4967 4968 4972 CZRCD3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES v02.0 000062 000066 000072 000074 000100 000102 000106 000112 000114 000116 042700 020027 001003 004737 000404 004737 004737 005726 012601 000207 ; Routine Size: ; 71777 100000 000000V 000000V 000000V 28: 3s: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 BIC CMP BNE JSR BR JSR JSR TST #77777.RO RO, #-100000 2% PC,FATAL .ERROR 33 PC,POLL.CRING PC,POLL.RRING (SP)+ (5P)+,R1 MOV RTS 40 words, Routine Base: $CODE$ Maximum stack depth per invocation: 3 words SEQ 0329 VAX-11 Bliss-16 V4.0-579 Page 143 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (49) PC + 15110 4974 4972 4978 4979 4946 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 H : : : : 3 RC25 INTERRUPT SERVICE ROUTINES 4986 4987 4988 4989 4990 4991 1 1 1 1 SEQ 0330 Page 144 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (50) 14-Jun-1985 09:41:21 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 ROUTINE INT_PROC : NOVALUE = 'e ! 1 1 ! ! THIS ROUTINE IS CALLED FROM THE "EXECUTIVE” OF THE MULTI-DRIVE SUBTEST TO PROCESS ANY RC25 INTERRUPTS WHICH MAY HAVE OCCURRED IN THE RECENT PAST. : 4992 H : 3 3 : 4993 4994 4995 499 2337 1 1 1 1 1 ! ! ! ! ! IF EITHER THE INITIALIZATION SUBTEST OR DM EXERCISER SUBTEST IS BEING RUN, THEN INTERRUPTS ARE FULLY PROCESSED AS THEY OCCUR (SEE RCINT). OTHERWISE, FOR THE MULTI-DRIVE SUBTEST, INTERRUPTS ARE PROCESSED ON A DELAYED BASIS TO PREVENT PROGRAM PRINTOUTS FROM BEING BROKEN UP BY, SAY, ERROR LOG MESSAGE PRINTOUTS. : 3 : H : H H : H : : : H H 3 : H H : : H H : H 3 3 H 3 3 ; 3 3 3 H ; H 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 gosg 033 5034 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 3 2 2 2 3 3 3 3 3 2 2 2 2 1 ! ! ! ! ! ! ! ! ! ! ! ! ! ! !- AFTER SOME INITIALIZATION, THIS ROUTINE CONTINUES AS IF AN INTERRUPT HAS JUST OCCURRED: IF THE ERROR BIT OF THE SA REGISTER IS SET, THEN A FATAL ERROR IS DECLARED. OTHERWISE, THE COMMAND AND RESPONSE RINGS ARE POLLED. : 8 1 1 000000 010146 000002 0000C4 005746 012700 000010 104441 ! ! IF NO INTERRUPT HAS OCCURRED IN THE RECENT PAST, THEN THE POLLING ROUTINES TAKE NO ACTION. NOTE: ALL RC25'S ARE ASSUMMED TO BE HARDWIRED AT BR LEVEL S OR LESS. INTERRUPT PROCESSING RUNS AT LEVEL S, AND CANNOT BE BROKEN BY AN INTERRUPT FROM A SECOND RC2S. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER BEGIN SETPRI (PRIOS); ! LOCK OUT ALL RC25 INTERRUPTS ICTLR = .CCTLR; ! FAKE INTERRUPTING CONTROLLER NUMBER ISET_CPAR (); ! SET UP CONTROLLER-RELATED DATA IDCT_ADDR [SA_SAVE] = .IRC25_ADDR [RCSA, RC_ALLJ); ! SAVE SA REGISTER IF BIT_TST (IDCT_ADDR [SA_SAVE], SA_ERR) ! IF FATAL ERROR THEN FATAL_ERROR () ELSE ! OTHERWISE BEGIN POLL _CRING (); POLL _RRING (); ! POLL COMMAND RING ! POLL RESPONSE RING END; SETPRI (PRIJO0); ! RESTORE PROCESSOR PRIORITY END; ! ROUTINE INT_PROC 000240 .SBTTL INT.PROC: MOV ST MOV TRAP INT.PROC RC25 INTERRUPT SERVICE ROUTINES R1,-(SP) -(SP) #240,R0O 41 : 4986 : 5017 CZRCD3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES vo2.0 000012 000020 000024 000030 000034 000040 000044 000046 000052 000056 000060 000064 000066 000072 000076 000100 000102 000104 000106 013737 004737 013701 013700 016016 011661 011601 042701 020127 001003 004737 000404 004737 004737 005000 104441 005726 012601 000207 ; Routine Size: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000000G 000600 000000V 000566* 000000G 000002 000002 CCTLR,ICTLR ®77777.R1 2%.0-100000 000000V ;C.FATAL.ERROR 000000V C00000V 36 words, 1$: 2 JSR JSR CLR TRAP TST MOV RTS Routine Base: $CODE$ 4 words invocation: $ PC,POLL.CRING PC,POLL.RRING RO 41 (SP)+ (SP)+,R1 PC + 15230 5019 : ; : - : : H j Page 145 (50) 5018 3 2(R0),(SP) (SP),2(R1) (SP),R1 100000 ; Maximum stack depth per : PC,ISET.CPAR IDCT.ADDR,R1 IRC25.ADDR,RO 077777 SEQ 0331 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 5020 *,RC.REG 5021 5023 5021 5027 5028 : 5032 ; 4986 CZRCD3 v02.0 5045 5046 5047 5048 5049 5050 5051 5052 000000 010146 000002 000006 000010 000014 000020 000024 000030 000032 000036 000042 000046 000052 000056 000060 000064 000070 000074 000100 000104 000106 013701 010146 012746 004737 062700 010037 010116 012746 004737 062700 010037 011037 010116 012746 004737 062700 010037 062706 012601 000207 ; Routin e Size: ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0332 VAX-11 Bliss-16 V4.0-579 Page 146 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (51) ROUTINE ISET_CPAR : NOVALUE = * 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 F IO MO MO M T M) N o s s et et ot ot s ot ot CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES THIS ROUTINE IS CALLED BY RCINT AND INT_PROC TO SET UP THE COMMONLYUSED DATA ITEMS FOR THE INTERRUPTING CONTROLLER. IMPLICIT INPUTS: ICTLR - INTERRUPTING CONTROLLER NUMBER BEGIN IDCT_ADDR = DCT + (.ICTLR # DCT_LEN # 2); ! CALCULATE DCT ADDRESS ICST_ADDR = CST + (.ICTLR # CST_LEN % 2); ! CALCULATE CST ADDRESS IRC25_ADDR = .ICST_ADDR [IP_ADDR]; ! GET RC25 ADDRESS ICOM_ADDR = COMM_AREA + (.ICTLR & COMM_LEN & 2); ! CALCULATE COMM_AREA ADDR END; ! ROUTINE ISET_CPAR .SBTTL ISET.CPAR: MOV MOV MOV MOV JSR ADD MOV MOV MOV JSR ADD MOV MOV MOV MOV JSR ADD MOV ADD MOV RTS 000600 000022 000000G 000000G 000566 000016 000000G 000000G 000564 000000G 000110 000000G 000000 000560 000010 36 words, Maximum stack depth per Routine Base: invocation: 6 words $CODE$ ISET.CPAR RC25 INTERRUPT SERVICE ROUTINES R1,-(SP> ICTLR,R1 R1,-(SP) #22,-(SP) PC,BL$MUL #DCT,RO RO,IDCT.ADDR R1,(SP) #16,-(SP) PC,BL$MUL #CST,RO RO,ICST.ADDR (RO),IRC25.ACDR R1,(SP) #110,-(SP) PC,BL$MUL #COMM. AREA ,RO RO,ICOM.ADDR #10,SP (SP)+,R1 PC + 15340 5035 5047 5048 : ICST.ADDR, * 5049 5050 5045 5035 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 RC25 INTERRUPT SERVICE ROUTINES : 3 3 : 3 3 s 5053 5054 5055 5056 5057 5058 gggg 1 1 1 1 1 1 i ROUTINE FATAL_ERROR : NOVALUE = : 3 3 3 : 3 H 3 3 : 3 5061 5062 5063 5064 S065 5066 5067 5068 5069 5070 5071 1 1 1 1 1 1 2 2 2 2 2 ! ! ! ! 1- H : : 3 3 3 3 : : : 3 : : 3 3 : : 3 3 H 5072 2 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 gg:g 2 2 2 2 2 2 2 2 3 3 3 3 3 g 5088 5089 5090 2 2 1 1e ! ! ! ! SEQ 0333 Page 147 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (52) 14-Jun-1985 09:41:21 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY BOTH RCINT AND INT_PROC UPON DETECTING AN UNRECOVERABLE ERROR THROUGH THE DEVICE'S SA REGISTER. ITS PURPOSE IS TO CLEAN UP DEVICE DATA IN THE “DRIVER” PORTION OF THE EXERCISER, AND TO INFORM THE “PROGRAM” PORTION OF THE EVENT VIA RETURN PACKET. ! IMPLICIT INPUTS: ICTLR - INTERRUPTING CONTROLLER NUMBER IDCT_ADDR - ADDRESS OF INTERRUPTING CONTROLLER'S DCT ICST_ADDR - ADDRESS OF INTERRUPTING CONTROLLER’'S CST BEGIN LOCAL INDEX : SIGNED WORD, U_SAVE : WORD; SA_REG = .IDCT_ADDR [SA_SAVE]; U_SAVE = .LS$LUN; LSLUN = _ICST_ADDR [OF _UN, P_UNIT]; ERRDF (14, EGD_14, EMS_14); LSLUN = _U_SAVE; DRV_CTLERR (.ICTLR); IF (INDEX = GET_RETPKT (.ICTLR)) GEQ O THEN BEGIN ! ! ! ! ! ! RETPKT [.INDEX, CONID] = CID_DRIVER; RETPKT [.INDEX, MESTYP] = MT_FATAL; RETPKT [.INDEX, CTLR] = .ICTLR; SAVE PRE-INTERRUPT CURRENT UNIT NUMBER SET CURRENT UNIT TO FIRST IN CONTROLLER "FATAL PORT / CONTROLLER ERROR" RESTORE PRE-INTERRUPT CURRENT UNIT CLEAN UP DRIVER DATA FOR CONTROLLER TRY TO GET A RETPKT; IF SUCCESS ! SET CONNECTION ID TO “DRIVER" ! FATAL ERROR ! CONTROLLER NUMBER IN_IODQ (.INDEX); ! LOAD RETPKT INDEX INTO IODQ END; ! IF RETPKT WAS ALLOCATED END; 000000 004137 000000G 000004 000010 000016 000022 000026 000032 000034 000040 000044 000046 000050 000052 000054 000060 013700 015037 013701 013700 016002 000302 042702 010237 104455 000016 0000006 0000006 010137 013746 000566 000002 000000G 000000G 000564 000006 177740 000000G 000000G 000600* ! ROUTINE FATAL_ERR .SBTTL FATAL.ERROR: JSR MOV . MOV MOV MOV MOV SWAB BIC MOV TRAP .WORD .WORD .WORD MOV MOV FATAL.ERROR RC25 INTERRUPT SERVICE ROUTINES R1,$SAVE2 IDCT.ADDR,RO 2(R0O),SA.REG L$LUN,R1 ICST.ADDR,RO 6(RO),R2 R2 #177740,R2 R2,L$LUN ss 16 EGD.14 EMS.14 R1,LSLUN ICTLR, -(SP) : : ; : 5053 5073 *,U.SAVE : ; : 5074 S075 5076 U.SAVE,* 5077 5078 CZRCD3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES v02.0 000064 000070 000074 000100 000102 000104 000106 000112 000116 000122 000130 000134 000140 000144 000146 000150 000154 000156 000160 004737 013716 004737 010001 002425 010116 012746 004737 062700 112760 013702 042702 112710 150210 010116 004737 005726 005726 000207 ; Routine Size: 0000006 000600 000000G PC,.DRV.CTLERR ICTLR,(SP) PC,GET.RETPKT RO,R1 1$ R1,(SP) 000060 000000G 0000026 000003 000001 000600 JSR MOvB MOV BIC 000060 000000G 1$: 57 words, PC,BL$MUL #RETPKT+2,R0 #3,1(RO) ICTLR,R2 #177760,R2 #60, (RO) R2,(RO) R1,(SP) PC,IN.IODQ ADD 177760 Maximum stack depth per f ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOvB BISB MOV JSR TST TST RTS Routine Base: $CODE$ invocation: 6 words (SP)+ (SP)+ PC + 15450 SEQ 0334 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 H 5079 Fl t.INDEX : INDEX, * H : H H : Page 148 (52) 5083 5085 INDEX, % 5086 5081 5067 5053 CZRCD3 v02.0 ; B : CZRCDBO RC25 DISK EXERCISER RC25S INTERRUPT SERVICE ROUTINES S091 S092 5093 1 ROUTINE POLL_CRING : NOVALUE = 1 1 1e ;. : H H ; 3 ; ; ;. : ; 5094 5095 509 S097 S098 5099 5100 S101 S102 5103 gigg 1 1 1 1 1 1 1 1 1 1 i ! ! ! ! ! ! ! ! ! ! ! : gigz g BEGIN 5109 S110 giié 3 2 g WHILE C(C.IDCT_ADDR [CRING_CNT] GTRU 0) AND ! WHILE & OF COMMANDS IN CRING > O AND NOT (BIT_TST (C.IDCT_ADDR [CR_POLL] + 2), ED_OWN))) DO ! CURRENT SLOT IS HOST-OWNED BEGIN Si113 S114 5115 5116 giiz 3 3 3 3 g IDCT_ADDR [CRING_CNT] = .IDCT_ADDR [CRING_CNT] - 1; IDCT_ADDR [CR_POLL) = .IDCT_ADDR [CR_POLL] + 4; IF .IDCT_ADDR [CR_POLL) GTRA .IDCT_ADDR [CR_END] THEN IDCT_ADDR [CR_POLL) = .IDCT_ADDR [CR_BEG); 5119 S120 2 2 END; : : ; ;. 3 : 5} ; 3 3 3 : : i : 3 H THIS ROUTINE IS CALLED BY BOTH RCINT AND INT_PROC TO SCAN THE DEVICE'S COMMAND RING AND CHECK FOR ANY COMMAND SLOTS THAT HAVE BEEN "TAKEN”" BY THE CONTROLLER. SUCH SLOTS HAVE BEEN RETURNED TO THE HOST, INDICATED BY A ZERO OWNERSHIP BIT. FOR EACH SLOT THAT HAS BEEN RETURNED TO THE HOST, THE CRING COUNT IS DECREMENTED, AND THE CR_POLL ADDRESS IS ADVANCED TO THE NEXT SLOT IN THE COMMAND RING. IMPLICIT INPUTS: ICTLR - INTERRUPTING CONTROLLER NUMBER IDCT_ADDR - ADDRESS OF INTERRUPTING CONTROLLER'S DCT ICOM_ADDR - ADDRESS OF INTERRUPTING CONTROLLER'S COMM_AREA - g%gg g ICOM_ADDR [CMD_INT]) = 0; 5123 1 END; 000000 004137 000000G 000004 000010 000014 000016 000020 000022 000026 000032 000036 000042 000044 000046 000052 000056 000060 000064 000066 000072 000076 013701 012702 060102 105711 001422 016100 016000 042700 020027 001411 105311 062712 021261 101757 016112 000754 013700 005060 000207 000566 000016 ; Routine Size: i SEQ 0335 VAX-11 Bliss-16 V4.0-579 Page 149 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (53) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000004 000012 000010 000560 000004 32 words, Maximum stack depth per Routine Base: invocation: DECREMENT & CMDS IN CRING ADVANCE TO NEXT SLOT TO POLL IF BEYOND END OF RING THEN SET POINTER TO TOP OF CRING ! CLEAR COMMAND INTERRUPT WORD IN RING HEADER .SBTTL POLL .CRING: JSR MOV MOV ADD 1s: TST8 BEQ MOV MOV BIC CMP BEQ DECB ADD CMP BLOS MOV BR 2%: MOV CLR RTS 000016 000002 077777 100000 ! ! ! ! ! 4 words POLL.CRING RC2S INTERRUPT SERVICE ROUTINES R1,$SAVE2 IDCT.ADDR,R1 #16,R2 R1,R2 (R1) 2% 16(R1),RO 2(RO),RO #77777,R0 R0,#-100000 24 (R1) #4,(R2) (R2),12(R1) 1¢ 10(R1),(R2) 1 ICOM.ADDR,RO 4CRO) PC $CODE$ + 15632 : : : 5091 5109 5114 H 5109 H 5110 : : : 5113 5114 5115 : : : 5117 5109 5121 : S091 CZRCD3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 5124 S125 5126 5127 S128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 S152 5153 5154 5155 5156 5157 5158 5159 5160 5161 S162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 F‘NNNN““““““MM“N....OO“uu“u““uuu“ufl”'\)l\)”fl”fiNF‘O‘F‘.-.MMMMH vo2.0 SEQ 0336 VAX-11 Bliss-16 v4.0-579 Page 151 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (54) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ROUTINE POLL_RRING : NOVALUE = ‘e ! : ! ! H ! THIS ROUTINE IS CALLED BY BOTH RCINT AND INT_PROC TO SCAN THE DEVICE'S RESPONSE RING AND CHECK FOR ANY SLOTS WHICH HAVE BEEN RETURNED TO THE HOST (OWNERSHIP BIT = 0). FOR EACH SUCH SLOT, THE ASSOCIATED MESSAGE IS PROCESSED BASED ON ITS CONNECTION ID (DISK OR DUP) AND MESSAGE TYPE (SEQUENTIAL OR DATAGRAM). AFTER PROCESSING, THE MESSAGE ENVELOPE IS RE-INITIALIZED AND RETURNED TO THE CONTROLLER (OWNERSHIP BIT SET TO 1). . IMPLICIT INPUTS: IDCT_ADDR - ADDRESS OF INTERRUPTING CONTROLLER'S DCT ' ! BEGIN ““ILEEggz (BIT_TST (C.IDCT_ADDR [RR_POLL] IENV_ADDR = . .IDCT_ADDR [RR_POLL] + 2), ED_OWN)) DO - 8; ADDRESS OF RESPONSE ENVELOPE %:E:ESSAGE IS FROM DISK MSCP %FEQIENV_ADOR [CONNID] EQLU CID_DISK H SELESE?NEU .IENV_ADDR [MSGTYP) OF [(MT_SEQ) [MT_DG) ELSE ! WHILE 0 = 0 PROCESS ON MESSAGE TYPE : ENV_TO_RP (); ! SEQUENTIAL : DATAGM (); ! DATAGRAM TES ! ELSE (MESSAGE NOT FROM DISK MSCP) BEGIN IF .IENV_ADDR [CONNID] EQLV CID_DuP THEN ENV_TO_RP (); ! IF MESSAGE IS FROM DULP ! THEN ! COPY ENV TO RETPKT END; IENV_ADDR [MSGLEN] = MSG_LEN = 2; IDCT_ADDR [RR_POLL) = .IDCT_ADDR [RR_POLL] + 2; .IDCT_ADDR [RR_POLL) = .IENV_ADDR [ENV_HI); IDCT_ADDR [RR_POLL) = .IDCT_ADDR [RR_POLL]) + 2; %FEfiIDCT-ADDR H [RR_POLL) GTRA IDCT_ADDR [RR_POLL) = .IDCT_ADDR [RR_END] .IDCT_ADDR [RR_BEG]; END; ! ! ! ! 3 ! RE-INIT MESSAGE LENGTH ADVANCE TO HI ORDER WORD OF RING SLOT RETURN SLOT TO CONTROLLER ADVANCE TO NEXT RRING SLOT %:ESEYOND END OF RING ! CYCLE TO TOP OF RING ! WHILE LOOP ICOM_ADDR [RSP_INT] = 0; ! CLEAR RESPONSE INTERRUPT WORD IN RING HEADER END; (00000 004137 000000G 000004 013702 000566 .SBTTL POLL .RRING: JSR MOV POLL.RRING RC25 INTERRUPT SERVICE ROUTINES R1,$SAVE2 IDCT.ADDR,R2 3 3 5124 5140 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000014 (54) @77777.RO 22.0-100000 000562* 000562 80(R2),IENV.ADDR @10, IENV.ADDR IENV.ADDR,RO 6,R0 5143 5144 5146 177760 #177760,R0 3 RO,01 4% PC,DATAGM 4% 000001 000000V 000001 000000V 000562 000074 000566 000014 000002 000002 000002 000006 000002 000004 2%: 1(RO), #2 4% PC.ENV.TO.RP IENV.ADDR,RO ©74,4(RO) IDCT.ADDR,R1 R1,R2 #14,R2 3s: 43 : #2,(R2) 2(R0),80(R2) 2,(R2) (?2).6(R1) 000000 1 :SRI).(RZ) 000004 000560° 000006 4_] (R2),RO 2(RO),RO 077777 100000 000000 000010 000562 000006 000001 Page 152 014,R2 18: 000002 SEQ 0337J VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Ss: CLR RTS 1 Routine Size: 75 words, Routine Base: $CODES$ : Meximum steck depth per invocetion: 4 words ICOM.ADDR,RO 6(RO) PC « 15732 5149 5150 5144 3156 5158 S162 5163 5164 5165 5166 5168 5140 S172 S124 | CZRCD3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 S217 5218 5219 5220 5221 5222 5223 5224 S225 5226 5227 5228 5229 5230 S231 ROUTINE ENV_TO_RP : SEQ 0338 VAX-11 Bliss-16 V4.0-579 Page 153 USER$1:[AZTEC.CZRCDBICZRCD3.SRC;17 (55) NOVALUE = L4 MMM MDD NN R R RO R N e 1t s 18 s ht fo pt (ot oo b b Pt pb (ot pt o Pt Pt ps put ot 5175 5176 5177 5178 5179 5180 5181 5182 5183 S184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 NV WENESENUVIUUNINUVIUVIE S B8 WG ..n.o.o.l.c.ofl.l.o.tI-.-lli'fl.t.t.n.t.’.l.t.o.o.lInccno.oco.occ-nocuoo.ootoo.-.t.c.l.o.afl“Ol.a.nu.cu«“‘o v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY POLL_RRING FOR (A) DISK MSCP RESPONSE MESSAGES WITH THE "SEQUENTIAL” MESSAGE TYPE, AND (B) DUP RESPONSE MESSAGES. ITS GENERAL PURPOSE IS TO COPY THE CONTENTS OF THE MESSAGE ENVELOPE INTO A RETURN PACKET SO THAT THE ENVELOPE CAN BE RETURNED TO THE CONTROLLER. IF THE RESPONSE MESSAGE HAS AN ASSOCIATED COMMAND IN THE CONTROLLER'S OUTSTANDING COMMAND LIST (OUTC_LIST), THEN TIMING FOR THAT COMMAND IS TERMINATED. IN ADDITION, IF THE COMMAND WAS AN I/0 TRANSFER (READ, WRITE, OR ACCESS), THEN SOME FIELDS OF THE COMMAND ENVELOPE ARE COPIED INTO THE RETURN PACKET. AFTER THE RETURN PACKET HAS BEEN LOADED, ITS INDEX IS LOADED INTO THE I1/0 DO:?IgUEUE (I0DQ) FOR PROCESSING BY THE “PROGRAM” PORTION OF THE DIAGNO . IMPLICIT INPUTS: ICTLR - INTERRUPTING CONTROLLER NUMBER IENV_ADDR - ADDRESS OF MSCP ENVELOPE CONTAINING RESPONSE BEGIN LOCAL M_INDEX : SIGNED WORD, R_INDEX : SIGNED WORD, STIDX : WORD, ENDIDX : WORD, R_ADDR : REF BLOCK [RP_LEN, TEMP : WORD; WORD] FIELD (RP_FIELDS), M_INDEX = -1; STIDX = .ICTLR &« OUTC_CNT; ENDIDX = .STIDX + OUTC_CNT - 1; INCR COUNT FROM .STIDX TO .ENDIDX DO BEGIN IF (TEMP = THEN .QUTC_LIST [.COUNT]) GEQ O ASSUME NO ASSOCIATED COMMAND PACKET START OF CONTROLLER'S QOUTC_LIST AND _TIMR END OF QUTC SEARCH THROUGH EACH OUTC ENTRY ! ! IF ENTRY CONTAINS AN OUTSTANDING COMMAND INDEX THEN BEGIN IF _MSCP_ENV [.TEMP, THEN CRN_LO] EQLU .IENV_ADDR [CRN_LO] BEGIN M_INDEX = ,TEMP; OUTC_LIST [.COUNT] OUTC_TIMR [.COUNT] EXITLOOP; END; END; END; = -1; = 0; ' IF THIS IS THE ASSOC CMD ! ! INIT ENTRY TURN OFF COMMAND TIMER ! THEN CZRCO3 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 S244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 HFRNRRRVRNNVWEHWEHWSEAVNUVIVNIUIVIVIVIVIVIVIS NIV S 5 N WM D v02.0 CZRC DBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 IF ( R_INDEX THEN BEGIN ! IF RETPKT IS AVAILABLE ! ! ! ! ! START OF ALLOCATED RETPKT COPY RESPONSE ENVELOPE INTO RETURN PACKET LOAD CONTROLLER NUMBER INTO PACKET IF ASSOC. CMD ENV WAS FOUND THEN R_ADDR = RETPKT (.R_INDEX # RP_LEN # 2); .R_ADDR, RP_LEN); IF (C.IENV_ADDR [OPCODE] EQLU (OP_RD + OP_END)) OR (.IENV_ADDR [OPCODE] EQLU (OP_WRT + OP_END)) OR (.IENV_ADDR [OPCODE] EQLU (OP_ACC + OP_END))) THEN BEGIN R_ADDR R_ADDR R_ADDR R_ADDR R_ADDR R_ADDR R_ADDR [CMDMOD] = .MSCP_ENV [.M_INDEX, MODIFY); [CBCNT_LO] = .MSCP_ENV [.M_INDEX, BC_LO]; [CBCNT_HI) = .MSCP_ENV [.M_INDEX, BC_HI]; [LBN_LO] = .MSCP_ENV [.M_INDEX, LBN_L); [LBN_HI] = .MSCP_ENV [.M_INDEX, LBN_H]; [BUFF _0] = .MSCP_ENV [.M_INDEX, BUF_0]; [BUFF_1] = .MSCP_ENV [.M_INDEX, BUF_1]); END; ! END; ! ! ! THEN ! COPY ! RELEVANT ! FIELDS ! FROM ! COMMAND ! PACKET ! TO RETPKT IF ENDCODE WAS READ, IN_IODQ (.R_INDEX); ! PUT RETPKT INDEX INTO IODQ END; ! IF RETPKT WAS ALLOCATED HEN PUT_ENV (.M_INDEX); END; 0000006 00C004 000010 000014 000016 000020 000022 000024 000026 000032 000034 000036 000049 000044 000046 012704 013700 177777 .SBTTL ENV.TO.RP: JSR MOV 000600’ MOV ASL ASL ASL ASL MOV 000017 000000G 1%: ADD MOV ADD BR gO¥B L MOV ! IF ! RETURN COMMAND ENVELOPE TO POOL ! ROUTINE DISK_RSP ASSOC CMD ENV WAS (55) IF END MESSAGE IS READ, WRITE, OR ACCESS IF ASSOC CMD ENV WAS FOUND %FE.H_INDEX GEQ 0 SEQ 0339 Pa ge 154 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC: 17 ! 004137 006300 010005 062705 0192001 060401 000430 116103 002425 010346 + COPY_BLK (.IENV_ADDR + 4, R_ADDR [CTLR] = .ICTLR; IF .M_INDEX GEQ O THEN BEGIN 000000 006300 006300 006300 = GET_RETPKT (.ICTLR)) GEQ 0 VAX-11 Bliss-16 V4.0-579 WRITE, OR ACCESS FOUND ENV.TO.RP RC25 INTERRUPT SERVICE ROUTINES R1,$SAVES : ICTLR,RO RO RO RO RO RO,RS #17,RS RO,R1 R4 ,R1 : ¢-1,R4 2 ggTC.LIST(Rl).RB R3,-(SP) *,M.INDEX 5175 5207 5208 i ; STIDX,ENDIDX *,ENDIDX 5209 i i STIDX,COUNT *,COUNT % : *(COUNT),TEMP 5213 : TEMP,& 5217 i 0 CZRCD3 v02.0 000050 000054 000060 000062 000066 000074 000076 000100 000106 000110 000112 000116 €J0120 000122 000124 000126 000132 000136 000140 000142 000144 000146 000150 000154 000160 000164 000166 ¢00172 00u176 000200 00024 000210 000214 000220 000226 000232 000234 000236 000242 000246 000252 000256 000260 000264 000266 000272 000274 000276 000302 000306 000314 000322 000330 000336 000344 000352 000360 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 012746 004737 022626 013702 026062 001011 010304 112761 010100 006300 005060 000403 005201 020105 003745 013746 004737 010001 005726 005701 002513 010146 012746 0C4737 062700 010002 013716 062716 010246 012746 004737 013700 042700 142762 150002 005704 002452 013700 116000 042700 020027 001406 020027 001403 020027 001033 010416 012746 004737 016062 016062 016062 016062 016062 016062 016062 005726 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000104 000000G MOV 000562 000010G 000010 MOV IENV.ADDR,R2 ngP.ENVoIO(RO).IOCRZ) MOV MOove MOV ASL R3,R4 #377,0UTC.LIST(R1) R1,RO RO 000377 JSR CcMP CMP BNE 000000G 000000G CLR 2%: 000600 000000G 3s: INC CMP BLE MOV JSR MOV TST 187 JSR 000562 000004 000030 000000G 000600 177760 000017 000002 000002 JSR MOV BIC BICB BISB TST BLT 000562 000020 177400 000241 MOV MovBe 000242 000220 000104 000000G 000022G 000024G 000026G 000044G 000046G 000030G 000032G 43 ; 000012 000044 000046 000050 000052 000024 000026 BIC CMP BEQ CMP BEQ CMP BNE JSR Page 155 (55) ; TEMP,M.INDEX ; *,%(COUNT) ; COUNT,# 5221 5222 5223 gUTC.TIHR(RO) $ R1 R1,RS5 13 ICTLR, -(SP) PC,GET.RETPKT RO,R1 (SP)+ ; 5219 ; COUNT ; COUNT,ENDIDX 5210 H 5232 ; *,R.INDEX ; R.INDEX ; R.INDEX,* #RETPKT,RO RO,R2 IENV.ADDR, (SP) #4,(SP) #30,-(SP) PC,COPY.BLK ICTLR,RO #177760,R0 #17,2(R2) RO,2(R2) R4 5% IENV.ADDR,RO 20(RO),RO ; *,R.ADDR : ; 5237 R.ADDR,* H ;: 5236 5238 *,%(R.ADDR) ; *,%#(R.ADDR) : M.INDEX 5239 H 5243 : 5244 : 5245 : M.INDEX,* 5249 ; *,%(R.ADDR) ; *,%(R.ADDR) 5250 ; ; *,%(R.ADDR) *,%(R.ADDR) 5252 5253 ; *,%(R.ADDR) #177400,R0 RO,#241 MOV MOV MOV MOV MOV MOV MOV MOV MOV TST USER$1:([AZTEC.CZRCDBJCZRCD3.SRC;17 #104,-(SP) MOV MOV ADD MOV MOV ADD MOV SEQ 0340 PC,BL$MUL (SP)+,(SP)+ BLT 000060 000000G 000000G VAX-11 Bliss-16 V4.0-579 PC,BLS$MUL MSCP.ENV+22(R0),12(R2) MSCP.ENV+24(R0),44(R2) MSCP .ENV+26(R0),46(R2) MSCP .ENV+44(R0),50(R2) MSCP.ENV+46(R0),52(R2) MSCP.ENV+30(R0),24(R2) MSCP.ENV+32(R0),26(R2) (SP)+ ; *,%(R.ADDR) H 5254 5255 5247 CZRCD3 v02.0 000362 000364 000370 000374 000376 000400 000402 000406 000410 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 010116 004737 062706 005704 002404 010446 004737 005726 S$: 000000G 000010 6$: R1,(SP) PC,IN.IODQ #10,5P R4 78 R4,-(SP) PC,PUT.ENV MOV JSR ADD TST BLT 000000G 000207 : Routine Size: : 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 78: 133 words, Maximum stack depth per MOV JSR TST RTS Routine Base: $CODE$ 12 words invocation: SEQ 0341 Page 156 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (55) VAX-11 Bliss-16 V4.0-579 ; R.INDEX,* 5261 : 5234 ; M.INDEX,* 5267 H 5175 ; M.INDEX 5265 (SP)+ PC + 16160 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 ROUTINE DATAGM : VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 NOVALUE = * VIVNEBEBWOOGGNIVMNMN MR MR MMM R RN RN M R M) R R R N RO M) N o s s s s s b s ot ot s s b s ot s 5270 5271 5272 5273 5274 5275 5276 35277 5278 5279 5280 5281 RC25 INTERRUPT SERVICE ROUTINES THIS ROUTINE HANDLES ALL DATAGRAM (ERROR LOG) MESSAGES RECEIVED FROM THE RC25. IF THE DATAGRAM REFERENCES A PARTICULAR UNIT (AND IS NOT CONTROLLER-RELATED), THEN ITS OCCURRENCE IS TALLIED FOR THAT UNIT. IF THE USER DID NOT SUPPRESS THE PRINTING OF ERROR LOG MESSAGES DURING THE SW DIALOG, THEN EACH RELEVANT FIELD IS IDENTIFIED AND PRINTED. IF THE 8&}?GRAH INDICATES AN ECC ERROR, THEN IT IS TALLIED FOR THE APPROPRIATE IMPLICIT INPUTS: IENV_ADDR - ADDRESS OF MSCP ENVELOPE CONTAINING ERROR LOG MESSAGE BEGIN LITERAL EC1 = 8, EC8 = 15, ECO = 4; BIND OWN ' SUB-CODE VALUE FOR 1-SYMBOL ECC ERROR SUB-CODE VALUE FOR 8-SYMBOL ECC ERROR SUB-CODE VALUE FOR ECC-FIELD-ONLY ERROR FMT_CE = UPLIT (%ASCIZ'¥ACONTROLLER ERROR%®N'), FMT_HMA = UPLIT (%ASCIZ'%AHOST MEMCRY ACCESS ERRORSN'), FMT_SDE = UPLIT (#ASCIZ'®ASMALL DISK ERROR®N'); FMT_TB STC_TB LOCAL FMT : : : VECTOR [S5] INITIAL (FMT_CE, = FMT_HMA, 0, O, FMT_SDE), VECTOR [12] INITIAL (STC_00, STC_O1, STC_02, STC_03, STC_04, STC_05, STC_06, STC_07, STC_08, STC_09, STC_10, STC_11); WORD, EVC : WORD, SBC : WORD, PLAD : WORD, UNIT : SIGNED WORD, TAD : REF BLOCK [TALLY_LEN, FMT ! ! ! _IENV_ADDR [FORMAT]; EVC = .IENV_ADDR [EVENT]; SBC = .IENV_ADDR [SuBC]; IF .FMT EQLU FM_SDE THEN BEGIN ! FORMAT CODE ! GET FORMAT CODE ! EVENT CODE ! SuUB-CODE ! PLATTER ADDRESS (MSCP UNIT NO.) ! DRS UNIT NUMBER WORD] FIELD (T_FIELDS); !TALLY ADDRESS ! GET EVENT CODE ! GET SuB-CODE ! IF SMALL DISK ERROR ! THEN PL?? = _IENV_ADDR [PL_ADDR]; UNIT = -1; INCR OFFSET FROM (O +« OF_UN) TO (3 + OF_UN) DO BEGIN ! IF .PLAD EQLU .ICST_ADDR [.OFFSET, P_ADDR] THENBEGI ! ! N SEQ 0342 Page 157 14-Jun-1985 09:41:21 GET PLATTER ADDRESS (MSCP UNIT NO.) ! FOR EACH CST UNIT IF PLAT ADDR MATCHES CST ENTRY THEN (56) CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 - RC25 INTERRUPT SERVICE ROUTINES WHUWHWUHUNWNEHWEHEHNWENEWENAENNWENNNWWSEPVUVNO O NSNNNNO YOOIV BB BBBWWWEWS_ULIULIL 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 UNIT = _ICST_ADDR [.OFFSET, EXITLOOP; ! ! P_UNIT]; SEQ 0343 VAX-11 Bliss-16 V4.0-579 Page 158 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (56) GET DRS UNIT NUMBER DONE SEARCH END; END; ! PLATTER ADDRESS SEARCH LOOP IF .UNIT GEQ O THEN BEGIN ! IF UNIT NUMBER WAS FOUND ! THEN TAD = TALLY + (.UNIT * TALLY_LEN % 2); TAD [ER_LOG] = .TAD [ER_LOG] + 1; IF .EVC EQLU ST_DAT THEN BEGIN IF .SBC EQLV ECO THEN TAD [ECC_ONLY] ELSE BEGIN = CALCULATE UNIT'S TALLY ADDRESS INCR ERROR LOG COUNT IF EVENT CODE = DATA ERROR THEN .TAD [ECC_ONLY]) + 1 IF ((.SBC GEQ EC1) AND (.SBC LEQ EC8)) THEN TAD = TAD [ECC_1] ,.TAD + 1; END; { END; END; Y a IF MANUAL AND (NOT (BIT_TST (SWP_FLAGS, THEN BEGIN TES; : ! IF SUB-CODE IS ECC ERROR ! IF NOT ECC-FIELD-ONLY ERROR IF FORMAT = SMALL DISK ERROR SWF SEL))) ! THEN PRINTF (EX_EL); PRINTF (EX_CRN, .IENV_ADDR [CRN_LO]); IF .FMT EQLU FM_SDE THEN PRINTF (EX_PA, .PLAD); PRINTF (EX_FMT); SELEgE?NE .FMT OF FM_SDE] \ ! CALCULATE EXACT ADDR OF ECC STAT INCREMENT STATISTIC ! IF EVENT CODE = DATA ERROR ! FM_BAD, %:E§UB~CODE INDICATES ECC SYMBOL ERROR ! IF UNIT NUMBER WAS FOUND END; [OTHERWISE] ! + ((C.SBC - 8) = 2): END; [FM_CNT, IF ECC-FIELD-ONLY THEN INCREMENT STAT OTHERWISE ! BEGIN .TAD = ! ! ! ! PRINTF (R FMT_TB : PRINTF (EX_03, ! IF ATTENDED AND ERROR LOG PRINTING WAS NOT SUPPRESSED "ERROR LOG MESSAGE RECEIVED:" " CMD REF NUM: XXXXXX(0)” IF FORMAT CODE = SMALL DISK ERROR THEN » » " PLATTER: XXX.* FORMAT: * [.FMT]); .FMT); ! ! PRINT TEXT UXXX(0)" CZRCD3 v02.0 3 3 3 3 : 3 : : : : 3 : : : 3 CZRCDBO RC25 DISK EXERCISER 1 4-Jun-1985 09:41:21 14-Jun-1985 09:33:42 RC25 INTERRUPT SERVICE ROUTINES 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 539 5397 5398 3 3 3 3 4 3 3 3 3 3 3 3 2 2 1 002554 002554 002556 002560 002562 002564 002566 002570 002572 002574 002576 002600 002602 002604 002606 002610 002612 002614 000036 000064 000000 000000 0C0122°* 0000006 000000G 000000G 000000G 000000G 000000G 000000G 000000G 000000G 000000G 000000G 000000G 000036 000036 000041 000044 000047 000052 000055 000060 000063 000064 000067 000072 000075 000100 000103 000106 000111 000114 045 117 122 114 040 122 045 000 045 117 040 115 131 103 123 105 117 PRINTF (EX_EVC); IF .EVC LEQU 11 THEN PRINTF (.STC_TB [.EVC]) ELSE PRINTF (EX_03, .EVC); PRINTF (EX_SB, .SBC); IF _FMT EQLU FM_BAD THEN PRINTF (EX_HMA, .IENV_ADDR [MA_LO], ! IF PRINTING WAS NOT SUPPRESSED END; ROUTINE DATAGM STC.TB: 101 116 117 105 105 117 116 103 124 114 122 122 122 000 P.AAC: 101 123 115 117 040 103 123 122 122 110 124 105 122 101 105 040 122 045 P.AAD: .PSECT .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .PSECT .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII $GGG$, RO FMT.CE FMT.HMA 0 uT.SDE STC. 00 STC. 01 STC. 02 STC. 03 STC. STC. STC. STC. STC. STC. STC. STC. $PLITS, /%AC/ /0NT/ /ROL/ /LER/ / ER/ /ROR/ /%N/<00> <00> /%AH/ /0ST/ / ME/ /MOR/ /N A/ /CCE/ /SS / /ERR/ /0R%/ RO, D SEQ 0344 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 EVENT CODE: * IF EVENT CODE IS KNOWN THEN PRINT EVENT CODE TEXT OTHERWISE "XXX(0)" E SUB-CODE: XXXX(0) IF HOST MEMORY ACCESS ERROR THEN ! PRINT HOST ADDRESS .IENQ_ADDR [MA_HI)); END; FMT.TB: VAX-11 Bliss-16 V4.0-579 Page 159 (56) CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 000117 000122 000125 000130 000133 000136 000141 000144 000147 RC25 INTERRUPT SERVICE ROUTINES 116 045 115 114 111 040 122 045 000 000 101 101 040 123 105 117 116 000036 000064 000122* 000 123 114 104 113 122 - 004137 024646 013700 005004 156004 116003 042703 016005 006205 006205 006205 006205 006205 042705 005066 020427 001075 005266 016016 012702 012700 010001 063701 111146 105066 025626 001005 011102 000302 042702 000406 062700 020027 003755 005702 002440 010246 012746 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII P.ARE: 122 000 000000G DATAGM: 000562 <00> 000022 174000 000002 000004 000002 000014 177777 000564 1s: 000001 000002 177740 000002 000014 2%: 38: 000060 .SBTTL .PSECT DATAGM RC25 INTERRUPT SERVICE ROUTINES $CODES$, RO JSR CMP R1, $SAVES H CLR BISB R4 : ; FMT %, FMT BIC MOV ASR ASR ASR ASR ASR BIC CLR CMP BNE INC MOV MOV : *,EVC #177740,R3 H ; ; : ; ; ; H ‘.EVC *,S58C SBC SBC SBC SBC SBC ‘.SBC MOVB 177740 000006 P.AAC P.AAD P.AAE MOV 000020 000022 SEQ 0345 Page 160 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (56) VAX-11 Bliss-16 V4.0-579 /N/7<00><00> /%AS/ /MAL/ /L D/ /ISK/ / ER/ /ROR/ /%N/<00> FMT.CE= FMT.HMA= FMT.SDE= 016572 000000 000004 000006 000012 000014 000020 000024 000030 000034 000036 000040 000042 000044 000046 000052 000056 000062 000064 000070 000074 000100 000104 000106 000112 000114 000120 000124 000126 000130 000132 000136 000140 000144 000150 000152 000154 000156 000160 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV MOV ADD MOVB CLRB CMP BNE MOV SWAB BIC BR ADD CMP BLE TST BLT MOV MOV -(SP),-(SP) IENV.ADDR,RO 20(R0O),R4 22(R0),R3 22(R0O),RS RS #174000,R5 2(SP) R4, %4 64 2(SP) 14(R0),(SP) #6,RO RO,R1 ICST.ADDR,R1 (R1),-(SP) 1(SP) 2(SP),(SP)+ 23 (R1),R2 R2 #177740,R2 3 #2,R0 RO,#14 1s R2 63 R2,-(SP) #60, -(SP) 5270 : 5311 5312 5313 H ; FMT,» ; ; *,PLAD *,UNIT 5318 5319 : OFFSET,* 5323 ; PLAD,* ; *,0FFSET ; *,UNIT : UNIT ; *,UNIT : 5314 5320 5327 5325 ; *,0FFSET 5320 : UNIT 5334 ; UNIT,* 5338 ; OFFSET,» CZRCD3 v02.0 000164 000170 000174 000200 000204 000206 000212 000214 000220 000222 000226 000230 000234 000236 000240 000242 000244 000246 000252 000254 000256 000260 000262 000270 000272 000276 000302 000304 000306 000312 000316 000322 000326 000330 000332 000340 000342 000346 000352 000356 000360 000362 000364 000370 000374 000376 000400 000402 000404 060410 000412 000416 000420 000422 000424 000430 000434 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 RC25 INTERRUPT SERVICE ROUTINES 004737 052700 005260 020327 001023 020527 001003 005260 000415 020527 002412 020527 003007 010502 006302 060002 000000G 000000G 000032 000010 JSR PC,BL$MUL #TALLY,RO 32(RO) *(TAD) EVC,* 5339 5340 000004 SBC,* 5344 000056 «(TAD) 5346 5344 5350 R3,#10 000010 4%: SBC,+ 000017 SBC,» SBC,» 000016 *,TAD S$: 6%: 000001 000000G 17 IENV.ADDR,RO 10(R0O),(SP) #EX.CRN, -(SP) 000562 000010 000000G 000002 #2,-(SP) SP,RO 17 000012 TAD SP,* 5372 SP,» 78: 5373 10(SP),(SP) PLAD,* SP,RO SP,* #EX.PA,-(SP) #2,-(SP) 17 (SP)+,(SP)+ #EX.FMT,(SP) SP,.RO 000004 002554 000001 SP,+ FMT,» 8%: FMT, 9s: FMT,» FMT.TB(RO),(SP) SP,RO 5375 5376 FMT 000001 5355 5336 5367 53711 #1,12(SP) 78 000010 000000G 000002 000000G 000001 (SP)+,(SP)+ S0 15$ #1,SWP.FLAGS 15 #EX.EL,-(SP) #1,-(SP) SP,RO 000000G 000001 000001 5354 TAD, * *,TAD 010200 062700 005210 022626 104450 103165 132737 0C1161 012746 012746 010600 104417 013700 016016 012746 012746 010600 104417 032766 001411 016616 012746 012746 010600 104417 022626 012716 012746 010600 104417 005704 002403 020427 003403 020427 001012 010400 006300 016016 012746 010600 SEQ 0346 Page 161 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (56) VAX-11 Bliss-16 V4.0-579 5380 CZRCD3 v02.0 000436 000440 000442 000444 000446 000452 000456 000460 000462 000464 000470 000474 000476 000500 000504 000506 000510 000512 000516 000522 000524 000526 000530 000532 000536 000542 000544 000546 000550 000552 000556 000562 000564 000566 000572 000574 000600 000604 000610 000614 000620 000622 000624 000630 000634 000636 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 RC25 INTERRUPT SERVICE ROUTINES 104417 005726 000410 010416 012746 012746 010600 104417 022626 012716 012746 010600 104417 020327 101011 010300 006300 016016 012746 010600 104417 000410 010316 012746 012746 010600 104417 005726 010516 012746 012746 010600 104417 020427 001016 013700 016016 016046 012746 012746 010600 104417 062706 062706 022626 000207 O b=y Page 162 (56) 17 (SP)+ C00000G 000002 0000001 000001 10s: 11%: 11$ R4,(SP) ®EX.03,-(SP) H SP,RO 17 (SP)+,(SP)+ #EX.EVC, (SP) H SP.‘ SP,RO 000013 002566 000001 000000G 000002 0000006 000002 17 13¢ 12%: R3,(SP) #EX.03,-(SP) #2,-(SP) SP,.RO 17 (SP)+ 13s: 000001 END ELUDOM : 5377 5381 5385 : SP,* ; EVC,» 5386 ; EVC,» 5388 : EVC,» H SP.‘ 17 #6,5P #22,5P (SP)+,(SP)+ PC 5386 5390 : SP,* SP.RO 17 #3,-(SP) SP,.RO RTS H : SBC,#* 14% IENV.ADDR,RO 42(R0O),(SP) 40(RO),-(SP) 14%:; 15¢: ;: SP,» RS,(SP) #EX.SB,-(SP) R4, 01 000562 000042 000040 000000G 000003 000006 000022 i FMT, % STC.TB(RO),(SP) #1,-(SP) SP,.RO 208 words, Rout ine Base: ; Routine Size: $CODES$ + 16572 3 Maximum stack depth per invocation: 22 words 5399 5400 5401 5402 SEQ 0347 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 ;i FMT,» H 5391 5392 5394 i SPO‘ H 3 5369 5270 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:41:21 RC25 INTERRUPT SERVICE ROUTINES 5 0TS 14-Jun-1985 09:33:42 external : : 3 $SAVE4, $SAVE3, BL$SHF, BLSDIV, $SAVE2 BLS$MOD PSECT SUMMARY : 3 $SAVES, BL$ABS, BL$MUL Psect Name Words $GGG$ $CODE$ 3981 SPLITS : Attributes 711 RO, I , RO, O , RO 52 . I , LCL, REL, CON LCL, REL, CON LCL, REL, CON Library Statistics 3 o : 3 : e A T S TR i, PG File L e T - ek Symbols -------Total Loaded Percent USER$1:[AZTEC.CZRCDB]CZRCDL.L16;:6 3 3 SR ESIE 276 249 COMMAND QUALIFIERS BLISS/PDP11 CZRCD3.SRC/LIST/EN:NOEIS Size: Run Time: Elapsed Time: 3981 code + 763 data words 06:47.6 07:16.0 Lines/CPU Min: 795 Lexemes/CPU-Min: 6489 Memory Used: 396 pages Compilation Complete 90 SEQ 0348 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 references .GLOBL .GLOBL .GLOBL : VAX-11 Bliss-16 V4.0-579 Pages Mapped Processing Time 16 00:00.2 Page 163 (56) CZRCD4 0001 0003 vv 0045 1534 1535 1536 1537 1538 1539 g °° 0043 1541 1542 1543 BEGIN #SBTTL 'LASTAD AND SETUP' REQUIRE 'BLSMAC.REQ'; ! DIAGNOSTIC SUPERVISOR LIBRARY LASTAD BGNSETUP (2); BGNPTAB %0'172150', #0'154', S, 0 ENDPTAB ! IP, VECTOR, BR, PLAT ADDR BGNPTAB %0°'172150', %0'154', S5, ENDPTAB ! IP, ENDSETUP 1 .TITLE LIDENT .ENABL .PSECT BLSLAS:: .WORD .WORD P.AAA: .WORD .WORD P.AAB: .WORD .WORD .WORD .WORD P.AAC: .WORD .WORD .WORD LWORD .MORD .WORD 000207 1 (1) QDDRESSI'G_HODE (ABSOLUTE) TSFREE:: .WORD 000000 SEQ 0349 Page STITLE 'CZRCDBO RC2S DISK EXERCISER' IDENT = 'v02.0', P.AAD: 000004 000010 000020’ 000024 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD4.SRC;4 MODULE CZRCD4 ( §, il 1545 1546 1547 HFRRNNVNNRNNVNNNN S e e 00000 14-Jun-1985 09:49:05 14-Jun-1985 09:34:28 CZRCD4 CZRCDBO RC2S DISK EXERCISER /v02.0/ AMA $XYZ$, RO TS$FREE <<TS$FREE-<BLSLAS+4>>/2> LSLAST+20 4 ; Plit count word -5630 154 S O O 4 ; Plit count word -5630 154 S 1 O LSLAST== T$PTHV== S$LAS3= $REM3= $SLASL= $REM2= .SBTTL S$END.LINK:: RTS VECTOR, BR, PLAT ADDR BLSLAS+4 2 P.AAA P.AAB P.AAC P.AAD SEND.LINK LASTAD AND SETUP PC : Routine Size: 1 word, Routine Base: $XYZ$ + 0036 3+ Maximum steck depth per invocetion: 0 words 3 1533 =1 CZRCD4 v02.0 : : 3 3 CZRCDBO RC25 DISK EXERCISER LASTAD AND SETUP 1548 1549 1550 1551 1 1 1 O END ELUDOM : l h : 3 3 PSECT SUMMARY Psect Name Words $XYZ$ 16 ' : 14-Jun-1985 09:49:05 14-Jun-1985 09:34:28 Attributes RO, COMMAND QUALIFIERS BLISS/PDP11 CZRCD4.SRC/LIST/EN:NOEIS Size: 1 code + 15 data words Run Time: 00:22.1 Elepsed Time: 00:22.7 Lines/CPU Min: 4207 Hemory Used: 103 sege Co.“.t ion Complete : pages I , LCL, REL, CON VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD4.SRC; 4 SEQ 0350 P
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies