Digital PDFs
Documents
Guest
Register
Log In
AH-T267B-MC
October 1985
352 pages
Original
13MB
view
download
OCR Version
13MB
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_bw.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 z ¥4 LY.4 ~ [ X SEQ 000 IDENTIFICATION PRODUCT CODE: AC-T266B-MC PRODJCT NAME: CZRCDBO RC2S DISK EXERCISER PRODUCT JUNE OATE: 17, 1985 MAINTAINER: SMALL STORAGE SYSTEMS DIAGNOSTICS AUTHOR; JAMES S. DOUCETTE COPYRIGHT (C) 1983, 1985 CIGITAL EQUIPMENT CORPORATION, THIS SOFTWARE COMPUTER IS FURNISHED SYSTETM AND MAY BE ABOVE COPYRIGHT NOTICE. MAY NOT BE PROVIDED OR MAYNARD, UNDER MASSACHUSETTS 01754 A LICENSE FOR USE COPIED ONLY WITH ONLY ON A SINGLE 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 SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. e he re pe e e uuburu;-o PNNMNMRIRIN ~IO NN -O NGW e O O PERFORMANCE AND PROGRESS REPORTS N O DEVICE INFORMATION TABLES QO SUBTEST SUMMARIES ~4 B ERROR INFORMATION TYPES OF ERROR MESSAGES SPECIFIC ERROR MESSAGES B TABLE OF CONTENTS .0 GENERAL INFORMATION PROGRAM ABSTRACT SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS DIAGNOSTIC HIERARCHY PREREQUISITES ASSUMPTIONS OPERATING INSTRUCTIONS COMMANCS SWITCHES FLAGS HARDWARE QUESTIONS SOF TWARE QUESTIONS EXTENDED P-TABLE DIALOGUE QUICK STARTUP PROCEDURE MAINTENANCE HISTORY APFENDIX A - DATA PATTERNS APPENDIX B - GLOSSARY SEQ 0002 1.0 GENERAL 1.1 PROGRAM ABSTRACT SEQ 0003 INFORMATION THE RC2S 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 RC2S DRIVE WILL FUNCTION EITHER ALONE OR WITH OTHER RC2S DRIVES UNDER STRESSFUL OPERATING SYSTEM CONDITIONS. THESE CONDITIONS ARE CREATED BY ISSUING A HEAVY LOAD OF MSCP I/0 COMMANDS TO ALL ONLINE UNITS. THE USER CAN CONTROL MANY OF THE I/0 COMMAND PARAMETERS THROUGH THE HARDWARE AND SOFTWARE QUESTIONS, INCLUDING FUNCTZON (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 TO 2 DPIVES, AND EACH DRIVE WITH 2 PLATTERS. THIS DIAGNOSTIC HAS BEEN WRITTEN FOR USE WITH THE DIAGNGSTIC 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, THERE IS A BRIEF DESCRIPTION OF THIS DOCUMENT. 1.2 REFER TO THE XXDP+ USER‘'S MANUAL. THE RUNTIME SERVICES IN SECTION 2 OF SYSTEM REQUIREMENTS THE FOLLOWING HARDWARE « POP-11 IS REQUIRED TO RUN THE RC25 DISK EXERCISER: CPU s 28K WORDS OF MEMORY (MEMORY ABOVE 28K, DATA TRANSFERS) ¢ FROM 1 » & IF AVAILABLE, WILL BE USED FOR TO 4 RC25 CONTROLLERS WITH UP TO 2 DRIVES PER CONTROLLER AND EXACTLY 2 PLATTERS PER DRIVE (I.E., A REMOVABLE CARTRIDGE MUST ?E PRESENT IN EACH DRIVE, ALTHOUGH IT NEED NOT PARTICIPATE IN HE TEST) XXDP+. MEDIA DEVICE (I.E., <W1l-L OR XW11 P CLOCK RKOS, RLO2) s CONSOLE TERMINAL 4 MASS OIAGNOSTIC AND UTILITIES PROTOCOL (DUP), V0.5 FRONT PANEL EXERCISER DIAGNOSTIC SPECIFICATION, LK CHQUS XXDP. USER'S MANUAL UNIBUS/Q-BUS STORAGE SYSTEMS PORT (UQSSP), N RELATED DOCUMENTS AND STANDARDS K 1.3 RC2S STORAGE COMMUNICATION PROTOCOL (MSCP), AZTEC ENGINEERING SPECIFICATION, REV S V1.5 V1.2 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 RC2S AZTEC FRONT-END / HOST DIAGNOSTIC. THE FRONT-END / HOST DIAGNOSTIC REQUIRES THAT THE BUS, HOST PROCESSOR, MEMORY, 1.5 ¢« SYSTEM CLOCK AND CONSOLE TERMINAL IS PRESENT IN ARE ALL FUNCTIONING PROPERLY. ASSUMPTIONS REMOVABLE CARTRIDGE EXERCISED ALL RC25 DRIVE-UNITS TO BE s« ALL ¢ ALL RC25 CONTROLLERS WILL INTERRUPT THE HOST AT BR LEVEL 5 OR LESS. 2.0 RC25 DRIVE-UNITS HAVE BEEN SUCCESSFULLY SPUN-UP 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 AR VERY BRIEF DESCRIPTION OF THEM. THE XXDP+ USER'S MANUAL HAS MORE DETAILS. COMMAND EFFECT START RESTART CONTINUE PROCEED 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 EXIT ADD RETURN TO XXDP+ MONITOR (XXDP+ OPERATION ONLY!) ACTIVATE A UNIT FOR TESTING (ALL UNITS ARE CONSIDERED TO BE ACTIVE AT START TIME) DEACTIVATE A UNIT DROP PRINT PRINT STATISTICAL INFORMATION (IF IMPLEMENTED BY THE DIAGNOSTIC - SECTION 4.0) DISPLAY TYPE A LIST OF ALL DEVICE INFORMATION FLAGS TYPE THE STATE OF ALL FLAGS ZFLAGS (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'. FOR THE RC25 DISK EXERCISER, PERFORM SIMILAR FUNCTIONS. BELOW: THE START, RESTART, THE DIFFERENCES ARE AND CONFIGURATION X CLEAR ELAPSED TIME OF EXERCISER 70 00:00:00 X SAVE STATISTICS ACCUMULATED DURING THE LAST INCOMPLETE PASS CONTINUE COMMANDS SUMMARIZED IN THE START ALLOW CHANGES TO HARDWARE SO YOU MAY, RESTART TABLE 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 SWITCHET THERE ARE SEVERAL SWITCHES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. THESE SWITCHES ARE APPENDED TO THE LEGAL COMMANDS. ALL OF EHE LEGAL SWITCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF ACH, IN THE DESCRIPTIONS BELOW, A DECIMAL NUMBER IS DESIGNATED BY SWITCH EFFECT /TESTS:LIST EXECUTE ONLY THOSE TESTS SPECIFIED “DDDDD". 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 T0 BF RUN. ALL OTHER TESTS WILL NOT BE RUN. /PASS:DDDDD /FLAGS :FLGS EXECUTE DCDDD SET SPECIFIED PASSES FLAGS. SECTION 2.3, /ECP :DDDDD (DDDDD = 1 FLAGS ARE REPORT END-OF -PASS MESSAGE TO 64000) DESCRIBED AFTER EVERY IN DDDDD PASSES ONLY. (DDODD = 1 TO 64000) TEST/ADD/DROP ONLY THOSE UNITS SPECIFIED IN THE LIST. LIST EXAMPLE - /UNITS:0:5:10-12 USE UNITS 0,5,10,11,12. ZUNITS:LIST EXAMPLE OF SWITCH USAGE: START/TESTS:1-5/PASS:1000/E0P: 100 THE EFFECT OF THIS COMMAND WILL BE: 1) TESTS 1 THROUGH S 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-S”. BELOW IS A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED BY EACH COMMAND . TESTS PASS FLAGS EOP UNITS START RESTART CONTINUE PROCEED DROP ADD PRINT DISPLAY X X X X X FLAGS X X X X X X X X X X X X ZFLAGS EXIT FOR THE RC25 DISK EXERCISER, THERE IS ONLY ONE TEST. THE /TESTS SWITCH IS MEANINGLESS SINCE 2.3 SEQ 0006 FLAGS FLAGS ARE USED ON ERROR. TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCH A LOOPING AL. SLAGS ARE CLEARED AT STARTUP AND REMAIN CLEARED UNTIL EXPLICITLY SET 'SING THE FLAGS SWITCH. FLAGS ARE ALSO CLEARED START COMMAND UNLESS SET USING THE FLAG SWITCH. ALSO BE USED TO CLEAR ALL FLAGS. AFTER A THE ZFLAGS COMMAND MAY WITH THE EXCEPTION OF THE ZFLAGS COMMANDS, NO COMMANDS AFFECT THE STATE OF THE FLAGS;: SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH. START AND 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) INHIETT STATISTICAL REPORTS INHIBIT PROGRAM DROPPING OF UNITS EXECUTE AUTODROP CODE LOOP ON TEST EXECUTE EVALUATION (ON DIAGNOSTICS WHICH HAVE EVALUARTION SUPPORT) LOE IER+ IBR» IXRs 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 FOR THE RC25 DISK EXERCISER, AND EVL. 2.4 NO EFFECT: ADR HARDWARE QUESTIONS WHEN A DIAGNOSTIC IS STARTED, FOR “Y* THE FOLLOWING FLAGS HAVE THE RUNTIME SERVICES WILL PROMPT THE USER HARDWARE INFORMATION BY TYPING "CHANGE HW (L) AFTER A START COMMAND UNLESS (A) THE HARDWARE ?". YOU MUST ANSWER 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. 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 B8Y THE PROCESSOR WITH MEMORY MANAGEMENT TURNED OFF. THE PROGRAM EXPECTS AN EVEN 16-BIT ADDRESS IN THE RANGE OF 160000 TO 177774, 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) S ? 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 CCRRESPONDS TO THE UNIT PLUG ON THE FRONT OF THE DEVICE. EVEN NUMBERS DESIGNATE THE REMOVABLE PLATTER (1/PPER DISK), ODD NUMBERS REFER 7O THE FIXED PLATTER (LOWER DISK:. ALLOW WRITES TO CUSTOMER DATA AREA ON THIS PLATTER (L) ? NO DEFAULT. IF THE MULTI-DRIVE SUBTEST IS BFING 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. s 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) S ? <«CR> PLATTER ADDRESS ... (D) 0 ? 252<CR> ALLOW WRITES ... (L)Y ? Y<CR> «% WARNING - ... CONFIRM (L) ? N<CR»> UNIT 1 IP ADDRESS (0) 172150 ? <CR> VECTOR (0) 154 ? <CR> BR LEVEL (0) S ? <CR> PLATTER ADDRESS ... (D) 252 ? 253<CR> ALLOW WRITES ... (L) ? Y<CR> & WARNING - ... CONFIRM (L) ? Y<CR> ! USER REVERSES ANSWER 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: PLATTER ADDRESS: ALLOW WRITES? 172150 154 5 0O N UNIT 1 IP ADDRESS: VECTOR: BR LEVEL: PLATTER ADDRESS: ALLOW WRITES? 172150 154 5 1 N THIS CONFIGURATION TAKES EFFECT IF THE USER DOES NOT USE THE SETUP UTILITY AND HAS BYPASSED THE HARDWARE QUESTIONS WHEN THE PROGRAM IS FIRST 2.5 STARTED. 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 O 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 SUBTEST WILL REACH A 2 MEGABYTE LIMIT IN APPROXIMATELY 20 MINUTES. 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 DISX BLOCK NUMBER. ANSWER “N" TO HAVE STARTING BLOCK NUMBERS SELECTED SEQUENTIALLY ON EACH PLATTER. SEQ 0008 STARTING TRACK (D) o0 ? 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 ? ENTER THE ENDING TRACK NUMBER OF THE DISK AREA YOU WISH TO TEST. 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 RESULTS. AFTER ANSWERING THIS QUESTION, THE FOLLOWING MESSAGE APPEARS: 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 70 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-DEFINZD 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 (O FOR SEQUENTIAL SELECTION) (D) 0 ? 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) 16 ° PATTERN VALUE (0) ? THIS QUESTION REPEATED AS APPROPRIATE. 2.6 EXTENDED P-TABLE DIALOGUE el 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. 1IF Y0J HAJE 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. SEQ 0009 "0 ILLUSTRATE AR MORE EFFICIENT METHOD, SUPPOSE YQU 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 B8Y 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) ? SU"-DEVICE & (0) ? Q-FACTOR (0) 0 ? UNIT 2 CSR ADDRESS (0) ? SUB-DEVICE & (0) ? Q-FACTOR (0) 1 ? UNIT 3 CSR ADDRESS (0) ? SUB-DEVICE ¢ (0) ? Q-FACTOR (0) 0 ? 160000<CR> O<CR> 1<CR> 160000<CR> 1<CR> O0«<CR> 160000<CR> 2<CR> <CR» UNIT 4 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE # (0) ? 3<CR> Q-FACTOR (0) 0 ? <CR> UNIT S 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) ? SUB-DEVICE # (0) ? Q-FACTOR (0D 0 ? 160000<CR> 6<CR> 1<CR> UNIT 8 CSR ADDRESS (0) SUB DEVICE # (0) Q-FACTOR (0) 1 NOTICE THAT NON DEFAULT UNITS! 160000<CR> ? 7<CR> ? <CR> THE DEFAULT VALUE FOR THE Q-FACTOR CHANGES WHEN A RESPONSE IS GIVEN. BE CAREFUL WHEN SPECIFYING MULTIPLE AS YOU CAN SEE FROM THE ABOVE EXAMPLE, VARY SIGNIFICANTLY FROM UNIT TO UNIT. EFFICIENT. THE HARDWARE PARAMETERS DO THE PROCEDURE SHOWN IS NOT NOT VERY SEQ 0010 THE RUNTIME SEQ 0011 SERVICES CAN TAKE MULTIPLE UNIT SPECIFICATIONS HOWEVER. LET'S BUILD THE SAME TABLE USING THE MULTIPLE SPECIFICATION FEATURE. & UNITS (D) ? 8<CR> UNIT 1 CSR ADDRESS (0) ? 160000<CR> SUB DEVICE ¢ (0) ? O0,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 & (Q0) ? 6,7<CR> Q-FACTOR (0) 0 ? 1<CR> AS YOU CAN SEE IN THE ABOVE DIALOGUE, THE RUNTIME SERVICES WILL BUILD AS MANY ENTRIES AS IT CAN WITH THE INFORMATION GIVEN IN ANY ONE PASS THROUGH THE QUESTIONS. IN THE FIRST PASS, TWO ENTRIES ARE BUILT SINCE TWO SUB-DEVICES AND Q-FACTORS WERE SPECIFIED. THE SERVICES ASSUME THAT THE CSR ADDRESS IS 160000 FOR BOTH SINCE IT WAS SPECIFIED ONLY ONCE. 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 S 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 THE;DHERE ONLY SPECIFIED ONCE. THE LAST TWO UNITS ARE SPECIFIED IN THE THI ASS. THE WHOLE PROCESS COULD HAVE BEEN ACCOMPLISHED IN ONE PASS AS SHOWN BELOW. & UNITS (D) ? 8<CR> UNIT 1 CSR ADDRESS (0) ? 160000<CR> SUB-DEVICE & (0) ? 0-7<CR> Q-FACTOR (0) 0 2 0,1,0,,,.1,1<CR> AS YOU CAN SEE FROM THIS EXAMPLE, NULL REPLIES (COMMAS ENCLOSING A FIELD) TELL THE RUNTIME SERVICES TO REPEAT THE LAST REPLY. 2.7 QUICK START-UP PROCEDURE NULL (XXDP+) TO START-UP THIS PROGRAM: 1. BOOT XXDP+ 2. GIVE THE DATE AND ANSWER THE LSI AND SOHZ (IF THERE IS A CLOCK) QUESTIONS 3. TYPE "R NAME", FOR WHERE NAME IS THE NAME OF THE BIN OR BIC FILE THIS PROGRAM SEQ 0012 4. TYPE S. ANSWER THE “CHANGE HW” QUESTION WITH “Y* 6. ANSWER ALL THE HARDWARE QUESTIONS 7. ANSWER THE "CHANGE SW” QUESTION WITH "N* "START* WHEN YOU FOLLOW THIS PROCEDURE YOU WILL BE USING ONLY THE DEFAULTS FOR FLgGS 2.3 AND SOFTWARE PARAMETERS. AND 2.5, 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 ERROR MESSAGE IS OF THE FORM: NAME TYPE NUMBER ERROR MESSAGE +WHERE; ON UNIT NUMBER (SECTION 2.3). THE GENERAL TST NUMBER PC:XXXXXX NAME = DIAGNOSTIC NAME TYPE = ERROR TYPE (SYS FATAL, DEV FATAL, HARD OR SOFT) NUMBER = ERROR NUMBER UNIT NUMBER = O - (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 RC2S DISK EXERCISER, ALL BASIC ERROR HgSSAGES CONTAIN THE ELAPSED TIME (THE TIME SINCE THE LAST START OMMAND) . 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 EXCEPT FOR THE ELAPSED TIME OR WHEN THE NUMBER IS FOLLOWED BY A DECIMAL POINT. 3.2.1 SYSTEM-FATAL ERROR MESSAGES THESE CONDITIONS WILL CAUSE THE DIAGNOSTIC TO BE ABORTED. APPEAR AFTER THE SOFTWARE DIALOG. THEY WILL vy A 1 2 SEQ 0013 G B TOO MANY UNITS XX:XX:XX MORE THAN 16. G NEITHER P NOR L CLOCK WAS FOUND ON THE SYSTEM UNITS SPECIFIED 3.2.2 CONFIGURATION ERROR MESSAGES CONF IGURATION 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 APPZAR: MORE THAN 4 DIFFERENT IP ADDRESSES ALL UNITS ASSOCIATED WITH THE 5TH (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) SkLnggTS (BEYOND THE FIRST) WITH IDENTICAL PLATTER ADDRESSES WILL BE 0 . 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(O0) ABOUT TO VERIFY VECTOR XXX(0) FOR DEVICE XXXXXX(0) ... G (FOLLOWED BY EITHER NOTHING OR) VECTOR TEST FAILED G B8 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 UNJBUS / 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(O0) SA: XXXXXX(Q) ERROR 14 MEANS THAT THE ERROR BIT (BIT WAS FOUND SET 146 G B8 TO 1. THE LOW-ORDER 15) OF A DEVICE'S SA REGISTER 11 BITS DESCRIBE THME ERROR. FATAL PORT / CONTROLLER ERROR XX:XX:XX ERROR CODE RECEIVED IN SA REGISTER OF DEVICE X SA: XXXXXX(0) XXXXXX(0) ERROR 15 IS REPORTED WHEN THE RC25 FAILS TO RESPOND TO ONE OF THE LISTED MSCP COMMANDS. 1S G B MESSAGE RESPONSE TIMEOUT XX:XX:XX FAILED TO RECEIVE END MESSAGE FROM DEVICE X 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 SUBTEST. THE STATUS CODE AND SUB CODE ARE TAKEN FPOM THE MSCP END MESSAGE 16 G B (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) X X ERROR 17 IMPLIES THAT (A) YOU HAVE ALLOWED WRITES TO THE CUSTOMER DATA ARER THROUGH THE HARDWARE QUESTION, PUSHBUTTON FOR THE UNIT IS ENGAGED. 17 G B AND (B) THE WRITE-PROTECT WRITE-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 ENARBLED AND THE STATUS CODE AND SUB-CODE DO NOT APPEAR, THEN THE ACCESS COMMAND MAS TIMED OUT REQUIRED INTERVAL). 18 G B X X ERRCR THE (I.E., NO RESPONSE RECEIVED WITHIN THE ACCESS FAILED XX:XX:XX ACCESS FAILED ON PLATTER XXX. STATUS CODE: xx(0) SUB-CODE: XXXX(0) 19 OCCURS WHEN AN MSCP I/0 COMMAND RESULTS IN AN END MESSAGE WITH “UNIT 19 OFFLINE* G B X X X STATUS CODE. FATAL I/0 ERROR XX:XX:XX PLATTER XXX. WENT OFFLINE CMD REF NUM: XXXXXX(O) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ -COMPARE (OR) WRITE (OR) WRITE COMPARE (OR) XXX(0) SEQ 0014 2 M X X - 20 G B8 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) XXX¥XX(0) CONTROLLER TIMEOUT XX:XX:XX DEVICE XXXXXX(0) NOT PROCESSING COMMAND PACKETS ERRCR 21 ARISES IF YOU ARE RUNNING 1HE DM EXERCISER SUBTEST, AND ONE OF THE INITIAL OUP COMMANDS WAS REJECTED WITH A STATUS CODE OTHER SUCCESS'. NOTE THAT THE STATUS CODE IS NOT FROM MSCP. 21 G B X X X THAN OuP COMMAND FAILED XX:XX:XX MESSAGE REJECTED BY DUP “ERVER ON DEVICE XXXXXX(0) EXECUTE SUPPLIED PROGRAM (OR) SEND DATA STATUS CODE: X. COMMAND: DUP EPROR 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 SET OF QPERATING STATISTICS WITHIN A PRE-DETERMINED TIME INTERVAL. THE FPT IS ASSUMED TO BE DEAD. 22 G B DM EXERCISER TIMEOUT XX:XX:XX NO RESPONSE FROM FRONT PANEL TEST EXECUTING IN DEVICE XXXXXX(0) 3.2.4 HARD ERROR MESSAGES 31 XX X DO XX > X X 30 XX XDV MOST HARD ERRORS ARE REPORTED TO THE HOST THROUGH THE END MESSAGES ASSOCIATED WITH MSCP READ AND WRITE COMMANDS. ERRCR NUMBERS 31 - 41 ARE BASED ON MSCP STATUS CODES 1 - 11. I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - STATUS CODE: XX(0) 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. ACTUAL & BYTES TRANSFERRED: I/0 BUFFER DESCRIPTOR: ! ! EITHER THIS OR THIS XXXXX. XXXXXX(Q) XXXXXX(0) I1/0 REQUEST FAILED XX:XX:XX PLATTER XXX. INVALID COMMAND CMD REF NUM: XXXXXX(Q) 5UB-CODE: XXXX(0) COMMAND: READ (OR) READ -COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXx(0) SEQ 0015 XXX > MO > X > X 34 > X X WE 2 > X > X 32 BAD BLOCK REPORTED: LBN: XXXXX. XXXXX, ! ! EITHER THIS OR BYTE COUNT IN COMMAND: XXXXX, I7/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) ACTUAL & BYTES TRANSFERRED: THIS XXXXX. I/0 REQUEST FAIL ED 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 4 BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I/0 REQUEST FAILED XX:XX: XX PLATTER XXX. UNIT-AVATL_ABLE CMD REF NUM: XXXXxX(0) SUB-CODE: XXXX(Q) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) 26 XX XX®@O M X XX 35 > X X DO 2 3 X 2 X 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(O) XXXXXX(Q) I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - MEDIA FORMAT CMD REF NUM: XXXXXX(0) ERROR 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) 1/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - WRITE PROTECTED CMD REF NUM: XXXXXX(O) SUB-CODE: XXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) WRITE (OR) WRITE COMPARE (OR) XXX(0) SEQ 0016 X > X X X X > X DO 37 BAD BLOCK REPORTED: XXXXX, ! EITHER THIS LBN: XXXXX. ! OR BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. 170 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - THIS DEVICE COMPARE ERROR CMD REF NUM: XXXXXX(0) SUB-CODE: XXXX(0) COMMAND: READ (OR) > > X X X 38 BAD BLOCK REPORTED: XXXXX. LBN: XXXXX. BYTE COUNT IN COMMAND: XXXXX. XX XXDO READ-COMPARE (OR) WRITE (OR) WRITE-COMPARE (OR) XXX(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) ! ! EITHER THIS OR THIS ACTUAL & BYTES TRANSFERRED: XXXXX. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) MK X X > X 39 I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - HOST BUFFER ACCESS ERRCR CMD REF NUM: XXXXXX(O) 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(O) 40 > X XX X X 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(O) > > X MO (OR) XXX DO WRITE-COMPARE XXX(0) I1/0 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 2 X X > X XXX XD I/0 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. I/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(0) M X XXX 4] 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) 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 SAME DISK ADDRESS. 42 G B X X X 1I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. ERROR - HOST-DETECTED WRITE-COMPARE LBN: XXXXX. BYTE COUNT IN COMMAND: XXXXX. ACTUAL & BYTES TRANSFERRED: XXXXX. ERROR 43 DESCRIBES A SINGLE I/O COMMAND FOR WHICH NO MSCP END MESSAGE WAS EVER RECEIVED. 43 G B X X I/0 REQUEST FAILED XX:XX:XX PLATTER XXX. - COMMAND TIMEOUT CMD REF NUM: XXXXXX(0) COMMAND: READ (OR) READ-COMPARE (OR) X X X WRITE (OR) WRITE-COMPARE (OR) XXX(0) LBN: XXXXX. BYTE COUNT IN COMMAND: XXXXX. I7/0 BUFFER DESCRIPTOR: XXXXXX(0) XXXXXX(Q) 3.2.5 ERROR LOG MESSAGES L ERROR LOG MESSAGES {DATAGRAMS) DESCRIBE MINOR ERRORS ENCOUNTERED BY THE CONTROLLER. THEIR OCCAISIONAL OCCURRENCE IS NORMAL. RELEVANT FIELDS OF AR 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 REGARDLESS OF WHETHER THEIR PRINTING HAS BEEN SUPPRESSED. RS FOLLOWS: THE FORMAT IS ERROR LOG MESSAGE RECEIVED: CMD REF NUM: XXXXXX(0Q) PLATTER: XXX. ! FOR SMALL DISK ERRORS ONLY FORMAT: CONTROLLER ERROR (OR) HOST MEMORY ACCESS ERROR SMALL DISK ERROR (OR) XXX(0) EVENT CODE: SUCCESS (OR) INVALID COMMAND (OR) (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. SECTION 2.2 DESCRIBES SWITCHES. 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 “i” FORMAT WILL BE USED IF THE STATISTIC IS GREATER THAN 65,000. ALL VALUES ARE IN DECIMAL RADIX. SEQ 0019 4.1 SEQ 0020 MULTI-DRIVE SUBTEST REPORTS S 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# Xo XXX & 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 XX XX XX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX 4.2 N = 3 N = 4 N = 5 N = 6 N = 7 N = 8 XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX XXXXX 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 R II keI ) PP YRR P Qi QY IP ADDRESS LR R R R R R ) R R ) Ll LY L Lk LT LY el Rl TX X N iy Qe iiyy VECTOR ADDRESS LR R R R e A R R R ) A Rt ) X ey ey Gy BR LEVEL L R R S YPR) L PR T R L ) ) R R R R EX TRy ey iy Sy PLATTER ADDRESS R R R LT LT Y ) ey - 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 R R R ) R R R R Rk il N E )CS) Y R IR ) NUMBER OF UNITS L R R JPRIUPIUS) L e R R LR R JPRIUPIUS) R R YPRIUPIUS) LR l AP SRRy QU o R Y i Gy QP QY R R R ek ik TR A R R A A SO Sy I R R oy TR D RS Sy el ) QPR P A ) PP PLATTER ADDRESS SRy Qi R PLATTER ADDRESS el A SO BR LEVEL TP bl LY Xy Quer Qs S PLATTER ADDRESS R L UNIT NUMBER ) R LTy Yy N ) I UNIT NUMBER )} A X VECTOR ADDRESS T UNIT NUMBER ) R ) Bl UNIT NUMBER ) R PRIUPIUS) LR LR l ) LR CS T IP ADDRESS LR PR ek bk LK Y Rtuy Quupiy iy Gy PLATTER ADDRESS R T T UTE JEpuy Sty QU S ) O ) Gy ) Sy ) Y - CONTROLLER STATUS BIT (ONLINE / OFFLINE) - UNIT PROTECTION BIT UP - UNIT PRESENT BIT US - 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 EXECUTION 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. ~ O wn 4. A DEVICE REGISTER EXISTENCE TEST - TO VERIFY THAT THE —ONTROLLER'S IP AND SA REGISTERS APPEAR ON THE UNIBUS, R VECTOR INTERRUPT TEST - TO INSURE THAT THE DEVICE CAN INITIATE VECTORED INTERRUPTS TO THE PROCESSOR, A BR LEVEL TEST - 7O 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%NDIN? OF THE “SET CONTROLLER CHARACTERISTICS” COMMAND MSCP), 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 ELATTER UNgER THE CONTROLLER TO VERIFIY THAT EACH DISK AN BE READ. ANY CONTROLLER-FATAL ERRORS ENCOUNTERED DURING THE INITIALIZATION SUBTEST WILL CAUSE ALL ITS UNITS TO BE DROPPED FROM TESTING. ANY UNITFATAL ERRORS WILL CAUSE ONLY THE APPROPRIATE UNIT TQO 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 ENOQUGH 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 I7/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 LOGF 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 2 MEGABYTE TRANSFER LIMIT). TAKES ABOUT 10 MINUTES PER UNIT TO REACH A 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 TO 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 5 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, 3ND 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 MODE?. 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 mod fied to run on the PDP 11/84. The four steps of In‘tialization routines now measure t me off of the real-time clock. APPENDIX A - SEQ 0024 DATA PATTERNS THERE ARE 21 PRE-DEFINED DATA PATTERNS SUPPLIED WITH THE MULTI-DRIVE SJBTEST. THROUGH THE SOF TWARE 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 B8LOCK NUMBER OF THE CURRENT WRITE REQUEST. HEX PATTERN 1t OCTAL RANDOM BINARY NUMBERS PATTERN 2 0000 000000 0 000 000 000 000 000 PATTERN 3 FFFF 177777 1111 PATTERN 4 8888 105613 1 000 101 110 001 011 PATTERN 5 3333 031463 0 011 001 100 110 V11 PRTTERN 6 3091 030221 0 011 000 010 010 001 PATTERN 7 0001 €003 0007 000F 001F 000001 000003 000007 000017 000037 0 0 0 0 0 003F 007F 00FF O1FF O3FF O7FF OFFF 1FFF 3FFF 7FFF FFFF PATTERN 8 000077 000177 000377 000777 001777 003777 007777 017777 037777 077777 171nmn 0 0 000 000 000 000 000 000 000 000 000 000 000 000 001 011 111 111 000 000 000 000 000 000 000 000 000 001 011 111 111 111 111 111 000 000 000 000 000 000 001 011 111 111 111 111 111 111 111 111 111 000 001 000 000 001 O11 111 111 111 111 111 111 111 111 111 111 0 0 0 0 0 0 0 0 1 111 111 111 111 011 111 111 111 111 111 111 111 111 111 111 111 111 111 11t FFFE 177776 1111 111 111 111 110 FFFC FFF8 FFFO FFCO 111 111 111 111 111 111 111 111 111 177700 1 1 1 1 1 111 111 110 100 000 100 FFEO 177774 177770 177760 177740 111 000 000 000 FFB80 FFOO0 FEOD FCOO0 177600 177400 177000 176000 1 1 111 111 111 111 111 111 000 000 000 000 111 111 110 000 000 111 111 100 000 000 1 111 111 1 111 110 000 000 000 F800 174000 1 F000 170000 €000 C000 8000 0000 160000 140000 100000 000000 1 100 000 000 000 111 000 000 000 000 1 110 000 1 100 000 1 000 000 0 000 000 000 000 000 000 000 000 000 000 000 000 000 000 PATTERN 9 PATTERN 11 5555 5555 5555 052525 052525 052525 125252 FHFOFOFORROOMMHEFOOO 133331 K 8609 011 011 011 011 001 101 101 101 010 010 010 101 101 010 019 101 010 101 010 AARA 125252 125252 052525 052525 125252 125252 052525 125252 052525 125252 052525 125252 FHOFRFROFOMMOOFRFEREROOO PATTERN 10 000 000 000 111 111 111 000 000 111 111 000 111 000 111 000 111 010 010 010 101 101 102 010 010 101 101 010 101 010 101 101 010 010 101 202D 2020 2020 D202 D202 D202 202D 202D D202 D202 202D 2020 D202 2020 D202 2020 0202 2020 D202 2020 026455 026455 026455 151322 151322 151322 026455 026455 151322 151322 026455 026455 151322 026455 151322 026455 151322 026455 151322 026455 OroOorOoroOroOOrRrrFPOOFR OO0 FFFF 000000 000000 000000 177777 17717 177N 000000 000000 177777 1777717 000000 17717717 000000 177777 000000 177777 010 010 010 101 101 101 010 010 101 101 010 010 101 010 010 101 010 101 010 6086 066666 O 0000 0000 0000 110 110 110 110 110 FFFF FFFF FFFF 0000 0000 FFFF FFFF 0000 FFFF 0000 FFFF 0000 AAAA AAAA AAAA 5555 5555 AAAA AAAA 5555 AAAA 5555 AARAR 5555 PATTERN 12 PATTERN 13 101 000 000 000 i1 111 111 000 000 111 111 000 111 000 111 000 111 000 000 000 111 111 111 000 000 000 111 111 111 000 000 000 111 111 111 111 000 111 111 000 000 111 111 000 000 111 111 000 000 000 111 111 111 000 000 111 111 000 111 000 111 000 111 101 101 01 910 010 010 101 101 010 010 101 010 101 010 101 010 010 010 010 101 101 101 010 010 101 101 010 101 010 101 010 101 010 010 101 010 101 010 101 010 110 100 101 110 100 101 110 100 101 001 011 010 001 011 010 001 011 010 110 100 101 110 100 101 001 011 010 001 011 010 110 100 101 110 100 101 001 011 010 110 100 101 001 011 010 110 100 101 001 011 010 11¢ 100 101 001 011 010 110 100 101 101 101 101 010 010 010 101 104 010 010 101 101 010 101 010 101 010 101 010 101 101 101 101 010 010 010 101 101 SEQ 0025 PATTERN 16 OO0 0000000000000 e 133331 133331 133331 155554 155554 155554 133331 133331 155554 155554 133331 155554 133331 155554 133331 155554 EFFF DFFF BFFF e e 8609 B609 8609 DB6C D86C D86C 8609 8609 086C 086C 8609 086C 8609 DB6C 8609 DB6c FFEF FFOF FFBF FFIF FEFF FDFF FBFF FIFF e e TFFF 177776 177775 177773 177767 177757 177737 177677 177577 177377 176777 175777 173777 167777 157777 137777 ornn O FFFE FFFD FFFB FFF? 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 001 010 100 000 001 010 111 111 111 111 111 111 111 111 111 111 111 111 110 001 010 100 000 000 000 000 000 000 000 000 000 000 000 000 000 100 000 000 000 000 111 111 111 111 111 111 111 111 111 110 101 011 111 101 111 011 111 111 111 011 011 011 101 101 101 0l1 011 101 101 011 101 011 101 011 101 e PATTERN 1S e 0008 0010 0020 0040 0080 0100 0200 0400 0800 1000 2000 4000 8000 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 e 0001 0002 FEE R PATTERN 14 110 101 011 111 111 111 111 011 011 011 011 011 011 101 101 101 101 101 101 011 011 011 011 011 o11 101 101 101 101 011 011 101 101 011 011 101 101 011 011 101 101 101 SEQ 0026 72C9 72C9 72C9 72C9 72C9 8036 8036 8036 8036 8036 8036 PRTTERN 18 8036 LBN 72C9 8036 8036 8036 72C9 72C9 72C9 72C9 8036 8036 8036 8036 8036 72C9 72C9 72C9 72C9 72C9 72C9 PATTERN 19 LBN 8999 8999 4666 4666 4666 8999 8999 8999 8999 4666 4666 4666 4666 4666 106466 LBN 071311 106466 106466 106466 071311 071311 071311 071311 106466 106466 106466 106466 106466 e kOO0~ 8036 8036 8036 8036 FErre et et 00000 72C9 72C9 7209 LBN 106466 106466 071311 071311 071311 106466 106466 106466 106466 071311 071311 071311 071311 071311 106466 106466 106466 106466 106466 106466 FH LBN 8036 8036 071311 071311 071311 COOO0O0OHKHHFLFROOOOMMKIEO 17 L8N 134631 134631 043146 043146 043146 134631 134631 134631 134631 043146 043146 043146 043146 043146 OCOOQOCOOrH I e s OO O = 1 PATTERN 07131 071311 071311 000 111 111 111 000 000 000 000 111 111 111 111 111 000 000 000 000 000 000 LBN 110 100 110 100 001 011 001 011 001 011 110 100 110 100 110 100 110 100 001 011 001 011 001 011 001 011 001 011 110 100 110 100 110 100 110 100 110 100 110 100 SEQ 0027 110 110 110 110 001 001 001 110 110 110 110 001 001 110 110 110 110 001 001 001 001 001 001 001 001 110 110 110 110 110 110 110 110 110 110 110 110 000 110 100 110 110 LBN 111 001 011 001 001 000 110 100 110 110 000 110 100 110 110 000 110 100 110 110 111 001 011 001 001 111 001 011 001 001 111 001 011 001 111 001 011 001 001 000 110 100 110 110 000 110 100 110 110 000 110 100 110 110 000 110 100 110 110 000 11C 100 110 110 111 001 111 001 011 001 001 111 001 011 001 001 111 001 011 001 001 111 001 011 001 001 111 001 011 001 001 011 0ol1 100 100 100 011 011 011 011 100 100 100 100 100 100 100 011 011 011 100 100 100 100 011 011 011 011 011 LBN 110 110 001 001 001 110 110 110 110 001 001 001 001 001 011 011 100 100 100 011 011 011 011 100 100 001 001 110 110 110 001 001 001 001 110 110 100 110 100 110 100 110 134631 LBN 043146 134631 134631 134631 043146 043146 043146 LBN 4666 8999 8999 8999 4666 4666 4666 4666 8999 8999 8999 8999 8999 4666 4666 4666 4666 4666 PATTERN 21 047146 134631 134631 134631 134631 134631 043146 043146 NA43146 043146 4666 043146 043146 LBN LBN oo s pt ot gt bt 8999 011 011 011 011 011 011 100 100 100 100 100 100 110 110 110 110 110 110 011 011 011 o011 011 011 1o 134631 134631 134631 134631 134631 134631 011 100 o11 011 011 100 100 100 100 011 011 o1l 011 011 100 100 100 100 100 100 100 110 LBN 011 001 100 110 100 110 100 110 011 001 011 001 0l1 001 011 001 100 110 100 110 100 110 100 110 100 110 011 001 011 001 011 QOOOOOFIere e bt OO OO It it O PATTERN 20 8999 8999 8999 8999 8999 8999 011 011 011 011 001 001 001 001 LBN 100 011 011 011 100 100 100 100 011 011 011 011 011 100 100 100 106 100 100 SEQ 0028 110 110 110 110 110 110 APPENDIX B AZTEC MASS - - SEQ 0029 GLOSSARY PROJECT NAME FOR THE RC2S STORAGE COMMUNICATION PROTOCOL (MSCP) - THE METHOD OF COMMUNICATION USED BETWEEN THE HOST AND RC25 CONTROLLER. DIAGNOSTIC MACHINE (DM) - AN INTERPRETER BUILT INTO THE RC25 FIRMWARE THAT IS USED TO EXECUTE RESIDENT OR DOWNLINE LOADED PROGRAMS. INITIALIZATION SEQUENCE - THE SERIES OF COMMANDS EXECUTED TO BRING AN RC2S ONLINE TO THE HOST. THIS SEQUENCE IS A STRICTLY-DEFINED SET OF FOUR STEPS WHICH INFORMS THE DEVICE OF SUCH THINGS AS RING LOCATION AND SIZE. 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 B8Y THE DIAGNOSTIC SUPERVISOR DURING THE HARDWARE CONFIGURATION QUESTIONS. THERE IS NO RELATIONSHIP RETWEEN A DISK'S UNIT NLMBER AND ITS PLATTER ADDRESS. PLATTER ADDRESS - ONE RC25 PLATTER. FRONT PANEL OF AN A NUMBER BETWEEN O AND 253 THAT UNIQUELY IDENTIFIES THIS NUMBER IS ASSIGNED THROUGH THE UNIT PLUG ON THE RC25. EVEN PLATTER ADDRESSES ALWAYS DESIGNATE REMOVABLE DISK AND ODD PLATTER ADDRESSES ALWAYS DESIGNATE THE THE FIXED DISK. CUSTOMER DATA AREA (ALSO HOST APPLICATION AREA) - BLOCKS RESERVED ON AN RC25 PLATTER FOR FREE USE BY THE CUSTOMER. THIS AREA EXCLUDES THE DIAGNOSTIC TRACKS (DBN), THE FCT, THE RCT, AND RBN'S. PROTECTED CUSTOMER DATA AREA AN RC25 PLATTER WHOSE CUSTOMER TRACKS ARE WRITE-PROTECTED BY THE USER THROUGH THE HARDWARE CONFIGURATION SECTION. LBN (LOGICAL BLOCK NUMBER) - GIVEN THAT N IS THE NUMBER OF BLOCKS THE HOST APPLICATION AREA, LBN IS A NUMBER BETWEEN O AND (N - 1) INCLUSIVE WHICH IDENTIFIES A SINGLE SUCH BLOCK. )L IN SEQ 0030 CZRCD.EXE Memory allocation map TKB M40.02 14 JUN-85 09:50 SEQ 0031 Page 1 Partition name : DUMMY Identif cation : V02.0 Task UIC : [200,250] 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. *++ Root segment: R/l mem Disk blk Memory limits: limits: allocation CZRCD1 002000 073307 071310 29384. 000002 000073 000072 00058. synopsis: Section . BLK,:(RW,I,LCL,REL,CON) $CODES :(RC,I.LCL,REL,CON) $FFFs :(RO,I,LCL,REL,CON) $GGGs :(RO,I,.LCL,REL,CON) $PLITS$:(RO,D,LCL,REL,CON) File 002000 000000 00000. 16662. 002000 006550 03432. 010550 011544 04964 . 022314 017432 07962. 041746 000034 00028. 042002 000316 00206 . 042320 000106 00070. 042426 023714 10188. 042426 023714 10188. 066342 002616 01422, 066342 002616 01422. 071160 002066 01078. 071160 001716 00974. 073076 000150 00104, 002000 040426 CZRCD1 CZRCD2 CZRCD3 B16ABS B16MUL B16SAV CZRCD1.0BJ;4 CZRCD2.0BJ; 3 CZRCD3.0BJ; 11 AZLIB.OLB;1 AZLIB.0LB;1 AZLIB.OLB:1 CZRCD1 CZRCD1.0BJ; 4 CZRCD3 CZRCD3.08J; 11 CZRCD2 CZRCD3 CZRCD2.0BJ;3 CZRCD3.08J;11 $XYZ$ :(RO,I,LCL,.REL,CON) 073246 000040 00032, 073246 000040 00032, SEQ 0032 CZRCD4 v02.0 CZRCD4.0BJ;3 Giobal symbols: ADR B8ITO B8IT0O BIT01 B8IT02 BIT03 BIT04 BITO5 BIT06 8IT07 BIT08 8IT09 BIT1 000020 000001 000001 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 BIT10 BIT11 8IT1e BIT13 81714 BIT1S BIT2 BIT3 8IT4 BITS BIT6 BIT7 BIT8 002000 004000 010000 020000 040000 100000 000004 000010 000020 000040 000100 000200 000400 BIT9 BL$ABS BLSDIV BLSLAS BL$MOD BL$MUL BL$SGN BL$SHF BOE BUFF.D BUFF .0 BUFF .5 CCTLR 001000 041770 R 042226-R 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.UE DUM.00 DUR DSPCNT EBD.10 EBD.12 EBD.13 EBD.14 €B8D0.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 €80. 20 EBD. 21 EBD. 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 0066G2-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 £B8S5.01 005332-R EF .CON 000036 EF .NEW 000035 EF .PWR 000034 EF .RES 000037 EF.STA 000040 €GD. 10 004654 -R €GD. 11 004714-R EGD.12 004740-R €GD.13 004766-R £GD. i4 005014-R €GD. 15 005052-R EGD. 16 005104-R €GD.17 005122-R £EGD. 18 005152-R EGD. 19 005170-R €GD. 20 005210-R EGD.21 005234-R EGD.22 005260-R EGH. 30 005306-R EGS.01 004556-R £GS. 02 004576-R EMS.01 020706 -R EMS.10 020750-R EMS.12 021016-R EMS.13 021060-R EMS. 14 021132-R EM5.15 021200-R EM5.16 021246-R EM5.17 021320-R EOP.FL ERRBLK ERRMSG ERRNBR ERRTYP ETIME EvL EX.WRT FREE.M GET.EN GET.IO 066234 -R 002134 -R 002132-R 002130-R -R 002126 010372-R 000004 007654 -R 010012-R 010070-R 007744 -R 007474 -R 007636 -R 007304 -R 007400-R 010150-R 007546 -R 010262-R 010242-R 010306 -R 007720-R 007534 -R 010356-R 010212-R 007616 -R 007256 -R 007440-R 007342 -R 007514 -R 007602 -R 007626 -R 066276 -R 015412-R 015720-R GP$17 GP$18 GP$19 GP$2 GP$20 GP$21 GP$3 011044-R 011054-R 011064-R 010636-R 011102-R 011114-R 010646-R GP$4 010660-R GP$5 010672-R GP$6 010702-R GP$7 010716-R GP$8 010730-R GP$9 010742-R HARD .E 016502-R HOE 100000 HOURS 066314-R HWPT .8 010454-R HWPT.I 010450-R HWPT .P 010456-R HWPT .V 010452-R HWG@1 002136-R HWQ@2 002152-R HWQ3 002162-R HWQ4 002174-R HWQ5 002230-R HWQ@6 002314-R IBE 010000 IDV 000040 IER 020000 IIP.FL 066236-R IN.IOD 016174-R 100Q 066166-R 100Q.1 066226 -R I00Q.0 066230-R SEQ 0033 Page 2 L$CCP L$CLEA L$CO L $DEPO L$DESC L $DESP L$DEVP L$DISP Ls$OLY L$DTP LsDTYP L$OU L $DUT L$OVTY L SEF LSENVI L SERRT LSETP LSEXP1 LSEXP4 L $EXPS L $HARD LSHIME L $HPCP L $HPTP L $HROL L$HW L $HWLE L$ICP LSINIT L $LADP LS$LAST L$LOAD LSLUN 002106 -R 014254 -R 002032-R 002011 -R 010576-R 002076 -R 002060-R 002124 -R 002116-R 002040-R 002034 -R 014646 -R 002072 -R 010550-R 002052 -R 002044 -R 002126 -R 002102 -R 002046 -R 002064 -R 002066 -R 010626 -R 002120-R 002016 -R 002022-R 010624 -R 010450-R 010446-R 002104 -R 014032-R 002026 -R 073252 -R 002100-R 002074 -R LSREV 002010-R LSRPT 012236-R L$SFTL 010714-R L$SOFT 010716-R L$SPC 002056-R L$sSPCP 002020-R LS$SPTP 002024 -R L$STA 002030-R L$SW 010464-R L$SULE 010462-R LS$TEST 002114-R LSTIML 002014-R L$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. 05 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 0CL.Xx2 044056-R OF .RC 066332-R OUTC.L 043554-R ouTC.T 043654-R PRIO4 PRIOS PRIO6 PRIO7 PUTA.B PUTA.E PUT.EN PUT.IO PUT.RE QIO 000200 000240 000300 000340 016074 -R 015536 -R 015522-R 016010-R 015704 -R 066270-R 037326 -R 037344 -R 037364 -R 037404 -R RCINTO RCINT1 RCINT2 RCINT3 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 S8.C00 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-k SWP. oP 010475-R SWP. ER 010464-R SWP. ET 010472-R SWP. FL 010474-R SWP., ST 010470-R SWP. uc 010476-R SWP, ub 010500-R SWP, XF 010466-R SwQl 002413-R SWQ1 0 003024-R SWQ1 1 003100-R SWQ1 2 003144-R SWQ1 3 003176-R swai 4 003274-R SWQ1 S 003352-R SW@2 002452-R SWQ3 00253G-R SWQ4 002576-R SWQ5 002656-R SWQ6 002700-R SWQ7 002720-R SWQs 002736-R SWQ9 003010-R TALL Y 044060-R TICK S 066322-R T$FR EE 073302-R T$PT HV 000002 T.RAD DR 045460-R T.FL AG 066233-R T1 022420-R UAM 000200 UPD. I0 016572-R WAIT 017372-R XFR. CH 016734-R EMS. 18 EMS. 19 EMS. 20 EMS. 21 EMS. 22 EMS. 30 EMS. 42 EMS. 43 ENTRY, ENV. us 443 021362-R 021434-R 021502-R -R 021544 021632-R 021674-R -R 022044 022132-R 066232-R 062262-R Task GET.RE GP$DIS GPs1 GPs$10 GPs11 GPs12 GP$13 GPs14 GP$15 GPs16 015576-R 011022-R 010626 -R 010750-R 010760-R -R 010766 011000-R 011014-R 011026-R 011034-R L$SACP L$APT 002110-R 002036-R L$SAU L$AUT 014736-R 002070-R L$AUTO 014044-R builder statistics: Total work file references: Work Work IRC25. 043164-R ISR 000100 IXE 004000 LOE 040000 Lot 000010 73188. file reads: 0. file writes: 0. Size of core pool: 4816. Size of work file: 3840. Elapsed time:00:00:57 words (18. words (15. pages) pages) L$MREV L $NAME L $NDHR L $NDHW L $NDSF L $NDSW L $PRIO L $PROT L $PRT L $REPP 002050-R 002000-R 010712-R 010460-R 011134-R 010540-R 002042-R 010542-R 002112-R 002062 -R 0UT.I0 OVF.CH PATCH PLATT PNT PRI PRIOO PRIO1 PRIO2 PRIO3 016136 R 016660-R 042426 R 010416-R 001000 002000 000000 000040 000100 000140 STC. 05 STC. 06 STC. 07 STC .08 STC .09 STC. 10 STC. 11 STEP ST.C 0D SWM1 -R 006674 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 TKk8 ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE CZRCD3 CZRCD2 K XXX XX ¥ E X AR AR X X ¥ ¥ ¥ E- X E-X.F R X A2 E-E Z- 2 X K X X KA A LA A GG WP ¥ F XK ¥ X B X LA K- E- X E-R-E- L E-XE E- X E-E X B16ABS B816MUL CZRCD4 B16MUL Bi6MUL 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 CZRCO3 CZRCD3 A CZRCD1 CZRCOD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCO1 CZRCD1 CZRCOD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 E 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 -R 073246 042240-R 042002 -R LA A ADR B8ITO BIT00 BITO1 BITO2 B8IT03 8IT04 BITOS B8IT06 BITO? BIT08 B8IT09 BIT1 BIT10 8IT11 BIT12 BIT13 B8IT14 BIT1S B8IT2 BIT3 8IT4 BITS BIT6 BIT7 BIT8 8IT9 BL $ABS BLSDIV BL$LAS BL $MOD BL $MUL F¥.Y REFERENCES.. . GGG VALUE X F ¥ CREF SYMBOL CZRCD3 CZRCD3 CZRCD3 CZRCO3 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 BLS$SGN BLSSHF BOE BUFF.D BUFF.0 BUFF.S e CCTLR CER.01 CER.02 CER.03 CLK.CS CLK.HE CLK.IN CLK.TY CLK.VE COPY.B CPLAT ceT CRLF CRN 041746-R 042252-R 000400 065466-R 056066-R 066300-R 066240-R 004140-R 004224-R 004270-R 066310-R 066306-R 014756-R 066304-R 066312-R 0:5060-R 066242-R 042736-R 010442-R 066340-R 4 & ¢ & & & B16ABS Bl6MUL CZRCDY1 CZRCD1 CZRCD1 CZRCD1 & CZRCD1 ¢ CZRCD1 & CZRCD1 # CZRCD1 & CZRCD1 & CZRCD1 & CZRCD2 & CZRCD1 & CZRCD1 & CZRCD2 & CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 SEQ 0036 CZRCO3 & CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRI"2 CZRCD2 CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 & CZRCO3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCO CREATED BY TKB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE CREF VALUE REFERENCES. .. CsT CST.AD 042756 -R 043046 -R 066246 R 066244 -R 043050-R 043160-R 010450-R 043506 -R 043166 -R 016262-R CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCOD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 I W F-F % B KX X X K X XN B X KA L & X R X A A 016366 -R 004420 -R 004470-R 004450-R 004376 -R -R 004526 004344 -R 066250 -R 002122 -R 005400-R -R 0C5444 005526 -R -R 005604 -R 005676 -R 005766 006062 -R 006160 -R 006224 -R 006264 -R 006350-R 006436 R -R 006556 006602 -R LA A CUOFF OCT DCY.AD DFPTBL DMC. AD DM.COM OROP.C ORV.CT DUM.CE DUM.HE DUM. IE DUM. UC DUM. UE DUM. 00 DUR D$PCNT €8D.10 €BD.12 EB8D.13 €8D.14 €B8D.15 £B8D. 16 £80.17 £B8D.18 €8D0.19 €80.20 £80.21 EBD.22 EBH. 31 EBH. 32 PPN SYMBOL CTLR.C PAGE 2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 SEQ voO1 0037 4008 b J K CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCOD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 LA XX 007022-R 007060-R 007106 -R -R 007126 007174 -R 005332-R 000036 000035 000034 000037 000040 004654 -R 004714 -R 004740-R OVDOVHDLDLOOO 006650 -R -R 006674 -R 006724 006750-R -R 007002 00DV EBH. 34 EBH.35 EBH. 36 EBH.37 EBH. 38 EBH. 39 £BH. 40 EBH.41 EBH. 42 EBH. 43 £85.01 EF.CON EF .NEW EF .PWR EF .RES EF.STA €GD. 10 EGD.11 EGD. 12 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 SEQ 0038 ¢ # & 4 ¢ CZRCO3 CZRCD3 CZRCOD3 CZRCD3 CZRCD3 CZRCO CREATEN BY TKB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE CREF VALUE REFERENCES. .. EGD. 13 EGD. 14 EGD. 15 EGD. 16 EGD. 17 EGD. 18 EGD. 19 EGD. 20 EGD. 21 EGD. 22 EGH, EGS. EGS. EMS. EMS. EMS. EMS, EMS. EMS. EMS. EMS. EMS. EMS. EMS. EMS. EMS. EMS. EMS. EMS 004766 -R 005014 -R 005052 -R 005104 -R 005122-R 005152-R CZRCD1 CZRCO1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCO1 CZRCD1 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCOD1 ENTRY. ENV. US EOP. FL ERRBLK ERRMSG 005170-R 005210-R 005234 -R 005260-R 005306 -R 004556 -R 004576 -R 020706 -R 020750-R 021016-R 021060-R 021132-R 021200-R 021246 -R 021320-R 021362 -R -R 021434 021502-R -R 021544 021632-R -R 021674 -R 022044 022132-R 066232 -R 062262 -R -R 066234 002134 -R 002132-R TS0V VDOVCVVOODVOVOVODVDOOVOVODOOD SYMBOL CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCOD3 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 CZRCO3 CZRCD3 SEQ 0039 PAGE 3 VOl 010150-R -R 007546 010262 -R -R 010242 -R 010336 00"720-R WY W W W N ¥ N N X N X 00°400-R KX N 002130 -R -R 002126 010372-R 030004 007654 R 010012-R 010070-R -R 007744 007474 R 007636 -R -R 007304 LA R ERARNSBR ERRT Y £7IME EVL £x.88 Ex.8C £x.80 E£x.C8C Ex.C Ex.Cw EX.CRN Ex.D5C EX.EL EX.ESP Ex.€uC EX.FMT EX.HMA EX..8N CZRCD1 CZRCO1 CZRCD1 CZRCDL CZRCD1 CZRCD1 CZRCD1 CZRCD1L CZRCD1 CZRCO1 CZRCD1 CZRCDL CZRCD1 CZRCO1 CZRCOD1 CZRCD1 CZRCC1 CZRCO1 SEQ 0040 CZRCD2 CZRCD2 CZRCD2 CZRCO2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD2 @ CZRCD3 CZRCD3 CZRCD CREATED By T8 ON 14-UUN-85 AT 09:50 GLOBAL CROSS REFERENCE FREE .M GET.EN GET.J0 GEY.RE GP$DIS GPs1 GP$10 GPs11 GPs12 GPs13 GPsi4 GPs15 oPslé6 GPs1” GPs18 GPs19 GPs2 GPs2¢C GPs2l GPs3 GPsa GPsS GP36 GPs” 007602 -R -R 007626 -R 066276 -R 015412 015720-R -R 015576 -R 011022 -R 10626 -R 010750 01076C-R 210766-R 011000-R 011014-R -R 011026 01i034-R 011044-R -R 011054 -R 011064 -R 010636 011102-R 011114-R -R 010646 010660-R 010672-R 010702-R 0iCT16-R XX XNEREENENERENNREYRERENYRW WYY WW W WP -R 007534 -R 010356 -R 010212 007616 -R 007256 -R 007440-R -R 007342 -R 007514 X EX.CNL Ex.03 Ex.PA Ex.RD EX.SA Ex.S8 Ex.sC Ex.SCC Ex.SND EX.WRT CREF REFERENCES. .. XA A VALUE LA A SYMBOL CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCO1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD2 CZRCO2 C2RCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCO2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCO3 CZRCD2 CZRCD2 CZRCOD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCO3 SEQ 0041 PAGE 4 VOl WY W W ¥ W ¥ N ¥ N X N KX X R 010742 -R -R 016502 100000 -R 056314 -R 010454 -R 010450 -R 010456 010452 R 002136 -R -R 002152 -R 002162 002174 R -R 002230 -R 002314 010000 000040 020000 LA X 010730 R C2RCOD2 CZRCOD2 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCOD1 CZRCO1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 SEQ 0042 CZRCD3 @ CZRCD2 CZRCO2 CZRCD2 CZRCD2 CZRCDe2 CZRCD2 CZRCOZ CZRCD2 & CZRCD2 ¢ CZRCD2 & CZRCD2 & CZRCD3 CZRCO3 & CZRCD3 & CZRCD3 & CZRCD3 CZRCOD CREATED BY TkB ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE g CREF VALUE REFERENCES .. . IIP.FL IN.IOD 100Q I00Q.1 I100Q.0 IRC2S. ISR IXE LOE LOoT L$ACP LS$APT L$AU LS$AUT L$AUTO LsCcep LS$CLEAR L$CO L$DEPO L$DESC L$DESP L$DEVP LSDISP Ls$DLY LsOTP L$OTYP LsDU L$DUT L$OVTY LSEF -R 066236 -R 016174 -R 066166 -R 066226 066230-R -R 043164 000100 004000 040000 000010 002110-R 002036 -R 014736-R 002070-R -R 014044 002106 -R -R 014254 -R 002032 -R 002011 010576 -R 0C2076-R 002060-R -R 002124 002116-R 002040-R 002034-R 014646-R 002072-R 010550-R 002052 -R -R 002044 002126 -R 002102 R 002046 -R -R 002064 CZRCD1 CZRCOD2 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 DOOBOOL & OSSO DO O O SOV OOHLOOOOO SYMBOL L$ENVI LSERRT LSETP LS$EXPL LS$EXPA PAGE & & & # CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 & & 4 & CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 & CZRCOD2 # CZRCD2 & CZRCD2 & CZRCD2 CZRCD2 & CZRCD2 & CZRCD2 CZRCD3 SEQ 0043 5 vOi1 O DOOOHOHS O L$HW LSHWLE LsICP L$INIT L$LADP L$LAST L$LOAD LS$LUN L$MREV LSNAME L$NDHR 002066 R -R 010626 002120-R -R 002016 -R 002022 -R 010624 010450-R -R 010446 002104 R 014032-R 002026 -R 073252-R 002100-R 002074 -R 002050-R 002000-R 010712-R BHDOL LS$EXPS L $HARD LSHIME LSHFCP LSHPTP L$HRDL CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 SEQ 0044 @ CZRCD2 CZRCD3 & CZRCD2 4 CZRCD4 CZRCD2 CZRCO3 CZRCD CREATED BY TKk8 ON 14-JUN-85 AT 09:50 GLOBAL CROSS REFERENCE CREF VALUE REFERENCES .. . L $NDHNW L$NDSF L$NDSW L$PRIO L$PROT L$PRT LS$REPP LS$REV 010460-R 011134-R 010540-R 002042 -R 010542-R 002112-R 002062 -R 002010-R 012236 -R 010714-R 010716-R 002056 -R 002020-R 002024 -R 002030-R 010464 -R 010462-R 002114 -R 002014 -R 002012-R 0€6235-R 066274 -R 066316-R -R 045462 -R 003466 003520-R -R 003616 003636 -R 003670-R 003730-R 003772-R -P 004044 -R 066336 014746-R -R 003464 066302 R CZRCD1 CZRCD2 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD1 CZRCOD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD1 CZRCD1 NEX NEX.TR NULL NUM.BU b & DODDODODONE MEM. MG MEM. SI MINUTE MSCP.E MSG.01 MSG. 02 MSG.03 MSG. 04 MSG. 05 MSG. 06 MSG. 07 MSG.08 OO L$RPT LS$SFTL L$SOFT L$SPC L$SPCP L$SPTP L$STA L$SW L$SWLE LS$TEST L$TIML LSUNIT DOOOOLOOO SYMBOL # CZRCD2 ¢ CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCO3 CZRCD3 CZRCD3 CZRCD2 CZRCD3 CZRCD2 CZRCD3 CZRCOD2 CZRCD3 CZRCD3 CZRCO3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 SEQ 0045 PAGE 6 VOl CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCDR2 CZRCD3 CZRCOD3 CZRCD3 CZRCDZ CZRCD3 CZRCD3 L E-X-2-X XX 002000 000000 000040 000100 000140 000200 CZRCD1 AR XK X X PLATT PNT PRI PRIOO PRIOL PRIO2 PRIO3 PRIO4 -R 044054 -R 044056 -R 066332 043554 -R -R 043654 016136-R 016660-R 042426 -R 010416 -R 001000 SOOI OOOOND ocL.x1 oCL.Xe OF .RC ouTC.L ouTC.7 0UT.I0 . CH OVF PATCH CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 SEQ 0046 CZRCD CREATED BY ON 14-JUN-85 AT 09:50 TKkB GLOBAL CROSS REFERENCE SYMBoL VALUE PRIOS PRIO6 PRIO7 PUTA.B PUTA.E PUT. EN PUT. 10 PUT. RE 000240 000300 000340 016074 -R 015536-R 015522 -R 016010-R 015704 -R 066270-R 0357326 -R 037344 -R 037364 -R 037404 -R 043162-R 062422 -R 043550-R QI0 RCINTO RCINTL RCINT2 RCINT3 RC25.A RETPKT RPS, X1 RPS. X2 RP.ADD RP.IND RP.SAV RP .USE SA.REG SB.C0D SECOND SEND SET. ce SET. uP SFPTBL STC. 00 STC. 01 STC. 02 STC. 03 STC. 04 STC. 05 STC. 06 STC. 07 STC. 08 043552 -R 065464 -R 065462 -R 043510-R -R 065422 066334 -R 066326 -R 066320-R 017126-R 015120-R 015314-R -R 010464 006542 -R -R 006556 006602 -R 006626 R 006650-R -R 006674 006724 -R 006750-R -R 007002 CREF REFERENCES.. . @ CZRCD1 ] CZRCD1 & CZRCD1 ¢ CZRCD2 & CZRCD2 & CZRCD2 ] CZRCD2 4 CZRCD2 CZRCD3 CZRCD3 CZRCD3 CZRCD2 & CZRCD2 & CZRCD2 & CZRCD1 CZRCD3 & CZRCD3 ] CZRCD3 ] CZRCD3 ] CZRCD1 & CZRCD1 ] CZRCD1 ] CZRCD1 & CZRCD1 & CZRCOD1 ] CZRCD1 & CZRCD1 & CZRCD1 & CZRCD1 ¢ CZRCD1 & CZRCD2 ] CZRCD2 & CZRCD2 @ CZRCD1 # CZRCD1 ¢ CZRCD1 & CZRCD1 8 CZRCO1 # CZRCD1 & CZRCD1 $ CZRCD1 # CZRCD1 & CZRCD1 ] PAGE 7 ] CZRCD2 CZRCD3 CZRCD2 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 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 5£Q 00 voO1 47 SWP.UD XF .P SW SkQ@l 007022 -R -R 007060 -R 007106 066330-R -R 056324 003370-R 010475-R -R 010464 010472 -R -R 010474 010470-R 010476-R 010500-R 010466 -R 002414 -R OO OODD S1C.09 STC.10 STC.11 STEP S7.C0D SWM1 Suwp.DP SWP.ER SWP.ET SWP.FL SWP. 57 SWP. UC CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD3 CZRCOD3 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD3 CZRCD3 CZRCD2 CZRCD2 SEQ 0048 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD3 CZRCD GLOBAL CREATED BY TKkB ON 14-JUN-85 AT 09:50 CROSS REFERENCE CREF VALUE REFERENCES. .. SWQ10 SWQ11 SWQ12 SWQ13 SWQ@14 SWQ15 003024-R 003100-R 003144-R 003176-R 003274-R 003352-R SWQ3 5WQ4 Swas SW@6 SWQ? SWQ8 SWQ9 TALLY TICKS T$FREE T$PTHV T.ADDOR T.FLAG T1 UAM UPD.I0O WAIT XFR.CH $END.L $SAVE2 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 016734-R 073304-R 042320-R CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCO1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD4 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD1 CZRCD2 CZRCO2 CZRCD2 CZRCD4 $SAVE3 $SAVE4 $SAVES 042334-R 042352-R 042372-R VOOV DO V000 002452 -R T SWQ@2 OLNOODOO SYMBOL B16MUL B16SAV B16SAV Bl6MUL CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCO2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 CZRCD2 ¢ CZRCD4 CZRCD2 CZRCD2 & CZRCD3 & CZRCD2 CZRCD3 CZRCD3 CZRCD3 & B16SAV CZRCDe2 CZRCD2 ¢ B16SAV CZRCD3 CZRCO3 CZRCD3 CZRCD3 4 CZRCD3 CZRCD2 CZRCO3 CZRCO3 CZRCD2 CZRCD3 CZRCD3 SEQ 0049 PAGE B8 V01 SEQ 0050 1800800208 84844404048088884848848884488088884808888088808844048008048400880400448 ‘ & ! LITERALS L] [3 18886880¢008000045008408884088400084448A080082808884400840084888040000040000004 LITERAL 1 tssssse HARDWARE LIMITS AND PARAMETERS ] MAX_CTLR MAX_UNITS MAX_TRACK MAX_SECT SEC_PER_TRK BLK_SIZE = 4, = MAX_CTLR » 4, = 1641, = 30, = 31, = 512, ! H ' ! MAXIMUM NUMBER OF RC25 CONTROLLERS ALLOWED MAXIMUM NUMBER OF UNITS TO TEST 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 COMMAND RING LENGTH RESPONSE RING LENGTH ! ! ] tasssss U/7Q PORT RING SIZES ] CR_LOG RR_LOG CPING_LEN RRING_LEN = 3, = 3, = 1 ¢+ CR_LOG, =1 t RR_LOG, ] 'ssssss TABLE AND OTHER STRUCTURE SIZES 1) HWPT _LEN = COMM_LEN CST_LEN * = ! SIZE (WORDS) OF HW P-TABLE (CRING _LEN & 2) + 4, ! SIZE (WORDS) OF U/Q PORT COMM AREA FOR ONE CTLR ! SIZE (WORDS) OF A CONTROLLER STATUS TABLE 24. ! SIZE (WORDS) OF A UNIT'S STATISTICS TABLE 24, ! SIZE (WORDS) OF A RETURN PACKET CRING_LEN, H SIZE (BYTES) OF A CONTROLLER'S RETPKT SAVE AREA MAX_CTLR &« RRING_LEN, ! NUMBER OF ENTRIES IN I/0 DONE QUEUE (I00Q) 30, ! SIZE (WORDS) OF AN MSCP MESSAGE (TEXT PORTION) MSG_LEN + 4, ! SIZE (WORDS) OF AN MSCP ENVELOPE 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 (RRING _LEN & 2) 7, » TALLY_LEN RP_LEN RPS_LEN 3 = = JODQ_LEN = ENV_LEN OCT_LEN BST_LEN = = = RDM_LEN = DESC_LEN OMC_LEN = = = MARX_CTLR & RRING_LEN, MSG_LEN RP _CNT MAX_UDP_CNT MAX_BUF _CNT ENV_CNT QUTC _CNT DP _CNT = = ! NUMBER OF RETURN PACKETS IN POOL ! MAX SIZE (WORDS) OF USER DATA PATTERN & 2) & MAX CTLR ! MAX NO. OF I/0 BUFFERS (SIZE OF BUFF _DESC AND BUFF _OWN) ((CRING _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, H NUMBER OF PRE-DEFINED DATA PATTERNS = 3, = = = = [] tesssss 4, 16, (CRING LEN QFFSETS ] OF _UN ! WORD COFFSET FROM START OF CST TO FIRST UNIT SEQ 0051 tesssss SW P-TABLE FLAGS (SWP_FLAGS) [] ENTRY_REASON VALUES NDBWN - DROP UNIT REASONS DU USER DU_CONF DU_INIT DU _HERR DU_FATAL CONT PWR_FAIL Yessasse ] Iy Iy ] 70_I7 T0_DH TA YN Sy R CONTINUE POWER FAIL NEW PASS LOADED INTO DUR VECTOR) USER COMMAND CONFIGURATION ERROR INITIALIZATION ERROR HARD ERROR LIMIT REACHED UNRECOVERABLE DEVICE EPROR 120, 30, 300, 360, INIT SUBTEST COMMANDS OUP COMMANDS I1/0 TRANSFER COMMANDS ONE FPT PASS (DM EXERCISER SUBTEST) MISCELLANEOUS LITERALS INI_ATY WR_RING QIO_PER_CTLR FYYYIY) START RESTART TIMEOUT VALUES (IN SECONDS) TO_INIT TO_LUP tassnssa (HOW CURRENT PASS WAS INVOKED) NEW_PASS START RESTART SUPPRESS PRINTING ERROR LOG MESSAGES RUN DM £XERCISER 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) R %0'40°, %0100’ , %0200, %0'6’, A~ ] %04, %0'10’, %0'20’, PBLWOEFHO 1088840 %0'1’, s0'2', Y SWF _SEL SWF _DM SWF _RDM SWF _CRC SWF _W0 SWF _CWC SWF _HWC SWF _UDP SWF _PHWC 2, = ((%0'200') OR (CR_LOG = CRING_LEN = 2, NUMBER OF HARD INIT ATTEMPTS BEFQORE FAILURE IS ASSUMED 3) OR (RR_LOG)), ! USED IN HARD INIT SEQUENCE MAXIMUM NUMBER OF OUTSTANDING QIOS PER CONTROLLER MSCP ENVELOPE DESCRIPTOR ] ED _OWN YT Y ! ! = #%0'100000', OWNERSHIP BIT CONNECTION ID VALUES (MSCP_ENV, RETPKT) (SERVE AS SOURCES AND DESTINATIONS OF MSCP MESSAGES) CID_DISK CID_TAPE CID_bup CID_DRIVER 0. 1, 2. 3, DISK MSCP TAPE MSCP DIAGNOSTIC AND UTILITIES PROTOCOL EXERCISER “DRIVER* SEQ 0052 16848es 1 MESSAGE TYPE VALUES MT_SEQ MT_DG MT_CRD MT_FATAL MT_TIMEOUT YY) ] [] ] ] FM_CNT YT TS ] ' ) ‘ EXECUTE SUPPLIED PROGRAM SEND DATA = %0’ 200000, - %0'40000', ! ! EXPRESS REQUEST COMPARE - FORMAT FIELD CODES = 0, =1, = 4, ! ! ! CONTROLLER ERROR HOST MEMORY ACCESS ERROR SMALL DISK ERROR = %0'100', = %0'20', ! ! ENABLE MISCELLANEOUS ERROR LOG MESSAGES ENABLE THIS HOST'S ERROR LOG MESSAGES ! WRITE PROTECT (HARDWARE) ! ! ! SUCCESS UNIT OFFLINE DATA ERROR = #0'200°', ! BAD BLOCK REPORTED = 0, =1, ! ! IP REGISTER SA REGISTER = #%0'20000', = %0'0’, = %0'3, = %010, END MESSAGE FLAGS EF BBR lesssas ! ! STATUS / EVENT CODE DEFINITIONS ST_SUC ST_OFL ST_OAT [ IYYYY] = %0'2', = %0'4’, UNIT FLAGS (IN ONLINE RESPONSE) UF _WPH tadssesn ! SET CONTROLLER CHARACTERISTICS COMMAND ! ONLINE COMMAND ! ACCESS COMMAND ! READ COMMAND ! WRITE COMMAND ! OPCODE MASK ! ENDCODE DESIGNATOR CONTROLLER FLAGS (IN SET CONTROLLER CHARACTERISTICS COMMAND) CF_MSC CF_THS TITI T %0'4’, %0'11', %0'20', %0'41°', %0'42’', %0177, %0'200’, MSCP ERROR LOG MESSAGES FM_BAD FM_SDE 1] = = = = = = = MSCP COMMAND MODIFIERS MC _EXP MD _CMP 1addans SEQUENTIAL (FR0M PORT) DATAGRAM (FROM PORT) CREDIT NOTIFICATION (FROM PORT) FATAL DEVICE ERROR (FROM “DR1VER") COMMAND TIMEOUT (FROM “DRIVER") DUP COMMAND OPCODES OP_ESP OF _SND Tadasas ! ! ! ! ! MSCP COMMAND PACKET OPCODES oP_SCC OP _ONL 0P _ACC OP_RD OP _WRT 0P _MSK OP _END FYTIIT =0, =1, = 2, = 3, = 4, RC25 LITERALS RCIP RCSA SEQ 0053 SA REGISTER BIT DEFINITIONS + = « = 40°'004000°, #%0°'010000°, €0'020000°, #0°' 040000, = ¢0'100000°, = 40'000200', = %0 000001, INITIALIZATION SEQUENCE READ MASKS = %0'176000° , S1_MASK = 401743577, 52 _MASK S3_MASK = 40174377, = 40174000, S& _MASK MEMORY MANAGEMENT KTPDRO KTPDR1 KTPDR2 KTPDR3 KTPDR4 KTPDRS KTPDR6 KTPDR? KTPARO KTPARL KTPAR2 KTPAR3Z KTPARA KTPARS KTPAR6 KTPAR? "MRO MMR3 80172300, €)' 172302, ! H STEP : ! : ! vV 1 READ BITS 2 3 4 ' PAGE ! PAGE ADDPESS REGISTERS ! ! MEMORY MANAGEMENT REGISTER O MEMORY MANAGEMENT REGISTER 3 ! ! PLATTER IS PRESENT IN CONTROLLER PLATTER IS NOT PRESENT IN CONTROLLER DESCRIPTOR REGISTERS %0'172316 , €0°172340", %0 172342" , %0°172344 %0 172386 %0 172350 %0 172352 , , ., €0 172354, %0'172356 , %0 177572 , %0 172516’ , FOUND NOT_FOUND PR-ZENT NOT_PRESENT I N R I R T SUCCESS FAILURE UNPROTECTED ALL _ONES T I ONL INE OFFLINE 1, DI PROTECTED YYY Y] GO BIT TO START FIRMWARE 80172304, %0°172306° , %0 172310 , %0r172312", 0 172314°, R FALSE Y ERROR INDICATOR INTERRUPT ENABLE DURING INITIALIZATION LITERALS FOR READABILITY YES NO TRUE ] ! ! ! (KT-11) REGISTER LOCATIONS R [T TR Y Y] STEP 1 STATUS BIT : 2 : 3 vV 4 o ! ! ! ! t %0 177777, CLICK FLAGS FOR CLK TYPE = 0, NO_CLOZK s -1. L_cLocv P_CLOCv * L ! ! PLATTER HAS UNPROTECTED CUSTOMER LBN'S PLATTER HAS PROTECTED CUSTOMER LBN'S 1006000000000000000000080000000000000000000000000000000000000000000808000000000008 . FIELDS ' . 0006000000000000000000000000000000000000000000000000000000800080000000800008000 1] FIELD L3 tesssse HARDWARE P-TABLE FIELDS [] MP_FIELDS = SET MWP_IP_ADDR HWP_JECTOR P _BR _LEVEL HWP _PLATY HWP_PLAT _ADDR HWP _PLAT_CP TES, = *» = [0, (1, (2., 0, 0, 0, = = 3, {3, O, &, 0], 15, 1, 0] « 13, 0, 16, 16, 16, 0], 0], 0], 16, 0], ! ! ! IP ADDRESS VECTOR ADDRESS BUS REQUEST LEVEL ! ! PLATTER PROTECT ! PLATTER (ALL FIELDS) ADDRESS (MSCP UNIT CUSTOMER DATA BIT NO.) tesssss U/Q PORT COMMUNICATION AREA HEADER FIELDS ) COM_FIELDS = SET |] ADAP _CH (1, c*D_INT REP_INT €S, (2. 0, (3. 0, 8, 8, 0], 16, 16, 0], 0) ' ADAPTER CHANNEL ! ! COMMAND RING INTERRUPT RESPONSE RING INTERRUPT NUMBER FOR PURGES ' ' * IP ADDRESS VECTOR ADDRESS CONTROLLER STATUS ' NUMBER OF TESTABLE UNITS UNDER THIS CONTROLLER tassass CONTROLLER STATUS TABLE (CST) FIELDS |] C_FIELDS = SET IP_ADDR VEC_ADDR STATE + « = [0, [1, [1, 0, 16, O], 0, 9, 0], 15, 1, 0], u_CNT B8R _LEV [] : [2, 0. 8, 0], = [2, 8, ! BUS REQUEST LEVEL PL_ALL « 13, 0, 16, ' 1ST PLATTER P1_ADOR = (3, 0, 8, ' 1ST PLATTER ADDRESS PL_UNIT PL_STAT = = - [3, (3, (3, 8, 5, 0], 13, 1, 0], 14, 1. 0], ' ' ! 1ST PLATTER UNIT NUMBER (DRS UNIT NO.) 1ST PLATTER STATUS BIT P1_PROT = {3, 15, 1, 0] ' 1ST PLATTER PROTECT CUSTOMER DATA BIT P1_PRES ! H ! H H H H ! ! ! THE REMAINING C_FIELDS AND MATROS. P2 _AL. P2 _ADDR P2 _UNIT P2 _STAT P2 _PRES P2 PRYY 8, ARE THE FIELDS ARE = = = = « = (3, [4, (4, (4, (4, [4, O], O], 0], NOT REFERENCED DEFINED HERE 0, 16, 0], 0, 8, 0], 8, 5, 0], 13, 1, 0], 14, 1, 0], 15, 1, 0], 1ST DIRECTLY, ONLY ! ! ! ! ' ! PLATTER 2ND 2ND 2ND 2ND 2ND (ALL FIELDS) PPESENT BUT RATHER (MSCP UNIT NO.) BIT WITH CFFSETS FOR DOCUMENTATION PURPOSES. PLATTER PLATTER PLATTER PLATTER PLATTER (ALL FIELDS) ADDRESS (MSCP UNIT NO.) UNIT NUMBER (DRS UNIT NO.) STATUS BIT PRESENT BIT @ND PLATTER PROTECT CJUSTOMER DATA BI1T SEQ 0054 SEQ 1055 P3 ALL P3 ADDR P3_UNIT P3_SIAT P3_PRES P3_PROT = = *« = * = [S5, {5, (5. [S, [5. (S5, 0, 16, 0], 0, 8, 0], 8, 5, 0], 13, 1, 0], 14, 1, 0], 15, 1, 0], ! ! ! ! ! ! P& _ALL P4 _ADDR = = * [6, [6, 0, 16, 0], 0, 8, 0], 8, 5, 0], 13, 1, 0], ! 4TH PLATTER (ALL FIELDS) ! 4TH PLATTER ADDRESS (MSCP UNIT NO.) P4 UNIT P& _STAT Moo o ioio 1o e P4 _PRES P4 PROT = = TES. sassse MSCP ENVELOPE (NOTE: [6, (6, [6, (6, 14, 15, 1, 1, ! ! O], 0] ! H 3RD 3RD 3RD 3RD 3RD 3RD 4TH 4TH 4TH ATH PLATTER PLATTER PLATTER PLATTER 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 UNIT NUMBER (DRS UNIT NO.) STATUS BIT PRESENT BIT PROTECT CUSTOMER DATA BIT FIELDS THE FIRST ADDRESS) CONTAIN MESSAGE B0DY TWO WORDS OF AN MSCP ENVELOPE (ITS BASE THE ENVELOPE'S (TEXT « 0). 0, 0, 0], 0], OWN DESCRIPTOR, RATHER THAN THE THE MESSAGE BODY BEGINS AT WORD 4. _FIELDS = SET HEADER FIELDS ENV_LO ENV_HI ENV_V ENV_Q ENV_F ENV_O = = = = = = (0. {1, (1, [1, (1. (1, 0, 2, 16, 16, 2, 0], 4, 0], 14, 1, 0], 15, 1, 0], MSGLEN CREDITS = = CONNID = (3, 4, 4, = 0], (3, 8, 8, 0], MSGTYP [2, 0. 16, 0], (3, 0, 4, 0], ENVELOPE DESCRIPTOR ENVELOPE DESCRIPTOR ' ENVELOPE DESCRIPTOR ! ENVELOPE DESCRIPTOR ! ENVELOPE DESCRIPTOR ! ENVELOPE DESCRIPTOR ! MESSAGE LENGTH ! 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 CAN_LO CRN_HI PL _ADDR 0PCODE MODIFY RERD, WRITE, BC_LO BC _MHI BUF _0 BLF_1 BUF _2 Bur_3 BUF _4 BUF _S LBN_L LBN_H = = = = = (4, {5, [6, [8, [9, 0, 0, 0, 0, 0, 16, 0], 16, 0], 16, O], 8, 0], 16, O], AND ACCESS COMMAND FIELDS = = = = = = = = = = [10, 0, {11, 0, [12, 0, (13, 0, (14, 0, [15, 0, (16, 0, [17, 0, (18, 0, [19, 0, 16, 0], 16, 16, 16, 16, 16, 16, 16, 16, 0], 0], 0], O], 0], 0], 0], 0], 16, 0], ' ! ! ! ! COMMAND REF NUMBER (LO ORDER) COMMAND REF NUMBER (HI ORDER) PLATTER ADDRESS (MSCP OPCODE AND ENDCODE COMMAND MODIFIERS UNIT NUMBER) (FOR COMMAND AND END PACKETS) ! BYTE COUNT (LO ORDER, ! BYTE COUNT (HI ORDER) ! I/0 BUFFER DESCRIPTOR ! ! ! ! ! ! LOGICAL BLOCK NUMBER (LO ORDER) ! LOGICAL BLOCK NUMBER (HI OQRDER) SEQ 0056 SET CONTROLLER CHARACTERISTICS COMMAND FIELDS C_FLAGS = (11, 0. 16. 0], CONTROLLER FLAGS DEVICE -DEPENDENT PARAMETERS ONLINE COMMAND FIELDS DDPAR (18, 0, 16, O], 10, {11, (12, 0, 0, o, 0, 0, 0, O, 0, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 0], 0], 0}, 0], 0], 0], 0], 0], 0], 0], 0], 0], 0], DuP COMMAND FIELDS 08C_LO DBC_HZ DBUF _0 DBUF _3 DBUF _2 DBUF _3 DBUF _4 DBUF S OBUF _0 0BUF _1 0BUF _2 OBUF _3 _4 0BUF 0BUF _5 (13, (14, (15, (16, {17, (18, {19, (20, (21, (22, {23, 0, BYTE COUNT (LO ORDER) BYTE COUNT (HI ORDER) BUFFER DESCRIPTOR OVERLAY BUFFER DESCRIPTOR 16. 0], ERROR LOG MESSAGE FIELDS FORMAT (9. 0. EVENT susC {9, 5, (16, 0, {17, 0, MA_LO MA_HI TES, 11, (SIMILAR, EVENT CODE SUB-CODE HOST MEMORY ADDRESS (LO ORDER) HOST MEMORY ADDRESS (HI ORDER) 0], 16, 0], 16, 0] Etttttt RETURN PACKET (RETPKT) FIELDS |) FORMAT 5, 0], BUT NOT IDENTICAL, TO MSCP ENVELOPE FIELDS) RP_FIELDS = SET -t 5, 0], i1, 0], s Sem e b Dt T P 16, 0], 8, 0], 8, 0], 16, 0], YD 0], 0], COMMAND REFERENCE NUMBER (HI ORDER) PLATTER ADDRESS (MSCP UNIT NUMBER) COMMAND MODIFIERS END CODE R 16, 16, 0], FLAGS D 8, MESSAGE LENGTH CONTROLLER NUMBER (CREDITS OVERWRITTEN) MESSAGE TYPE CONNECTION ID COMMAND REFERENCE NUMSER (LO ORDER) STATUS AND SuB-CODE SR Yo L 16, 0], 4, 0], 4. 0]0 STATUS CODE SuUB CODE T T Yo Yo Ko Lo o T NMOOWOOOOO®TMPOO ] T Mo e I} TR B T T Lo STATUS ST5COD SusCaoD L CMOMOD ENDCOD FLAGS L PLAT (I CONID CR=_LO CRF_HI TN MESTYP LT CTLR [ LI MESLEN NNNOONLBWNE O COMMON TO ALL RETURN PACKETS FROM DISK MSCP SEQ 0057 ! READ, WRITE, BCNT_LO BINT _HI BUFF _0 BUFF _1 BUFF _2 BUFF _3 BUFF _4 BUFF _5 BBLK_LO BBLK _HI CBCNT_LO CBCONT HI LBN_LO LBN_HI ! ! ! ! ] ! AND ACCESS COMMAND RETURN PACKETS = = = = = = = = = = = = = = (8, 0, 156, 0], (9, 0, 16, 0], (10, 0, 16, O] [11, O, 16, O] [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] (19, 0, 16, 0O) [20, 0, 16, 0) (21, 0, 16, O] 1 . ] . ] . BYTE COUNT (LO ORDER) BYTE COUNT (HI ORDER) I/0 BUFFER DESCRIPTOR ] . ] . ] . ' M ] . ] FIRST BAD BLOCK ] FIRST ¢ BYTE COUNT FROM CMD PACKET H . . 1 H ! . ' . BAD BLOCK (LO ORDER) (HI ORDER) (LO ORDER) BYTE COUNT FROM CMD PACKET (HI ORDER) LOGICAL BLOCK NUMBER (LO ORDER) LOGICAL BLOCK NUMBER (HI ORDER) UNIT ONLINE RETURN PACKET |] U_FLGS USIZ_LO USIZ _HI TES. = = = {9, 0, 16, 0], (20, 0, 16, O] {21, O, 16, O] UNIT FLAGS UNIT SIZE (LO ORDER) UNIT SIZE (HI ORDER) " teassss STATISTICS TABLE (TALLY) FIELDS | ] Nn = = (3, 0, 16, 0], .9, 0, 16, 0], [10, 0, 16, 0] [11, 0, 16, O] [12, 0, 16, 0} [13, 0, 16, O] [14, 0, 16, 0] [15, 0, 16, 0] (16, 0, 16, 0] (17, 0, 16, 0] [18, 0, 16, O] (19, [20, {21, (22, (23, 0, O, 0, 0, 0, 16, 16, 16, 16, 16, 0] 0] 0] 0] O] ® ® o o = = 0], ® = = = = = = = = = 16, 0], 0], 0], 0], 0], 0], 0], ® = = = 0, 16, 16, 16, 16, 16, 16, 16, @ =, 0, 0, 0, 0, 0, 0, 0, ® ER_SFT ECC_1 ECC_2 ECC_3 ECC_4 ECC_S ECC_6 ECC_7 ECC_8 ECC_ONLY TES, [0, (1, (2, (3, [4, [5, [¢, @ MB_WRIT ER_HRD ER_LOG = = = = = = ® = SET READ LO READ_HI WRIT_LO WRIT_HI SEEK_LO SEEK _HI BR_LO BR _HI MB_READ BW_LO BW HI e T_FIELDS NUMBER OF READS (LO ORDER) NUMBER OF READS (HI ORDER) NUMBER OF WRITES (LO ORDER) NUMBER OF WRITES (H1 ORDER) NUMBER OF DM EXERCISER SEEKS (LO ORDER) NUMBER OF DM EXERCISER SEEKS (HI ORDER) NUMBER OF BYTES READ (LO ORDER 1000) NUMBER OF gYTES READ (HI ORDER 1000) MEGABYTES EAD NUMBER OF BYTES WRITTEN (LO ORDER 1000) NUMBER OF BYTES WRITTEN (HI ORDER 1000) MEGABYTES WRITTEN NUMBER OF HARD ERRORS NUMBER OF ERROR LOG MESSAGES NUMBER OF DM SOFT ERRORS NUMBER OF 1-SYMBOL ECC ERRORS NUMBER OF 2-SYMBOL ECC ERRORS NUMBER OF 3-SYMBOL ECC ERRORS NUMBER OF 4-SYMBOL ECC ERRORS NUMBER OF 5-SYMBOL ECC ERRORS NUMBER OF 6 SYMBOL ECC ERRORS NUMBER OF 7-SYMBOL ECC ERRORS NUMBER OF 8 SYMBOL ECC ERRORS ECC FIELD- ONLY ERRORS SEQ 0058 tessess 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], 0, 16, 0], ! ! ! ! ! ! ! ! 0, 0, 16, 16, 0], 0], ! ! 15, 1, 0, 16, 0, 16, 0, 16, 0, 0, 16, 16, 0], 0], 0], 0], 0], 0] ! ! ALL FIELDS IN WORD O NUMBER OF SLOTS IN CRING NOT YET RETURNED TO HOST IGNORE INTERRUPT BIT ONLINE / OFFLINE STATUS SA REGISTER SAVE WORD FIXED ADDRESSES OF START END OF EACH RING AND v ADDR OF NEXT RRING SLOT 70 BE POLLED ADDR OF NEXT CRING SLOT TO BE POLLED ADDR OF NEXT AVAIL CRING SLOT Tasssss DM EXERCISER COMMUNICATION AREA (DM_COMM) FIELDS ] DMC_FIELDS = SET FPT_RCC HOST _ACC ' ' ' ' = = (24, [25, 0, 0, 16, 16, 0], 0] ! ! FRONT PANEL TEST HOST ACCESS WORD ACCESS WORD THE REMAINING DMC_FIELDS ARE REFERENCED BY ADDRESS POINTERS. ARE DEFINED HERE ONLY FOR DOCUMENTATION PURPOSES. THE FIELDS ' ! DM_P1 DM_P2 = (0, 0, 16, 0], = (1, 0, 16, 0], ' PLATTER ADDRESSES (UNIT PLUG NUMBERS) OF DISKS TO BE ! ! OM_P4 = [3, 0, 16, 0], ! ' ' ' ' P1_SEEKS P1_READS P1_WRITES P1_SOFT = = = = (4, (5, [6, [7, ' ' ' ' ' 1ST 1ST 1ST 1ST 1ST PLATTER PLATTER PLATTER PLATTER PLATTER NO. NO. NO. NO. NO. OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS P2 _SEEKS P2_READS P2 _WRITES P2 SOFT P2 _HARD = = = = = {9, 0, 16, 0], (10, 0, 16, 0], (11, 0, 16, 0], (12, 0, 16, 0], [13, 0, 16, O], ' ' ' ' ' 2ND 2ND 2ND 2ND PLATTER PLATTER PLATTER PLATTER NO. NO. NO. NO. NO. OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS P3_SEEKS P3_READS P3_WRITES P3_SOFT P3_HARD = = = = = (14, (15, (16, [17, (18, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 0], 0], 0], 0], 0], ' ' ' ' ' 3RD 3RD 3RD 3RD 3RD PLATTER NO. PLATTER NO. PLATTER NO. PLATTER - NO. PLATTER - NO. OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS P4 _SEEKS P4_READS P4 _WRITES P4_SOFT P4 "HARD TES, = = = = = (19, [20, (21, (22, (23, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 0], O], 0], 0], 0] ' ' ' ' ' 4TH 4TH 4TH 4TH 4TH PLATTER PLATTER PLATTER PLATTER PLATTER OF OF OF OF OF SEEKS READS WRITES SOFT ERRORS HARD ERRORS (8, 0, 0, 0, 0, 0, 16, 16, 16, 16, 16, 16, 0], 0], 0], 0], 0], 0], ' ] ' ' ' ' ' ] ' ' ' ' ' ] ' ' ' ' ' DM-EXERCISED 2ND PLA1TER + = 0, [} P1_HARD (2, ] ' = [] ] OM_P3 ] ' - NO. NO. - NO. - NO. - NO. SEQ 0059 tessses BLOCK SEQUENCE TABLE (BST) FIELDS L 8 FIELDS = SET SECTOR TRACK TES, = = [0, (1, 0. 0, 16, 16, 0], 0] ! ! SECTOR TRACK ! ! LOW-ORDER 16 BITS HIGH-ORDER U/Q BITS ! DEFINE ALL BITS tssssss /0 BUFFER DESCRIPTOR FIELDS (BUFF _DESC) 1] BD_FIELDS = SFT 80_LO 80 _MHI TES, = [0, 0. = {1, 0, 16, 0], 16, 0] tesssss RC2S REGISTER FIELDS [] RC REG = SET RC_ALL TES; = [0, 16, 0] 1460848888388 500842482080 00 0004040080000t dbdtdddtddddddddidibibbhibbbdbdng ! * ' MACROS * [ & 1d8dddtttdtddddddsddddtdidbtdtdhtddbdibbdbddddddtdtdddidbbbbbbddtdddbhbbhbbtd L] MACRO [} tesssss ALL FIELDS OF A WORD [} ALLBIT = 0, 16, 0%, ' ALL FIELDS =0, 8, 0%, = 8, 5, 0%, = 13, 1, 0%, = 14, 1, 0%, = 15, 1, 0%, ! ! ! PLATTER ADDRESS (MSCP UNIT NO.) PLATTER UNIT NUMBER (DRS UNIT NO.) PLATTER STATUS BIT ! ! PLATTER PRESENT BIT PLATTER PROTECTION BIT taswsss CST FIELDS C(WORDS 3 - 6) ] P_ADDR P_UNIT P_STAT P_PRES P_PROT tessess BIT TEST [] BIT_TST (IF THEN (ADDTM EXPECTED) = (.ADDr AND EXPECTED) EQLU EXPECTED TRUE ELSE FALSE )%, ' Etttttt RC25 WRITE ] WRT_RC2S (0, FIELDNAM, IMAGE) = BEGIN LOCAL RC_REG; RC_REG <wFIELDEXPAND (FIELDNAM)> (.RC2S_ADDR END%; + (#UPVAL * 0)) = = IMAGE; .RC_REG; SEQ 0060 1808688240004 0404 0404484528884 sddddbdbddddtdtddddddtdddshtddsddddtddttdssttod ' . ! STRUCTURES . ' ) Iadtdsbdetsdsdddddddtbdddiibdisdtdddddbbhddiddddddbddtddddsdtsssdsttdtstttdsttts ] ] tesssas RC2S ACCESS ALGORITHM [] STRUCTURE RC2S (0, P, S, E] = BEGIN LOCAL RC_REG; RC_REG = .(RC25 RC_REG END <P, S, E>; + #UPVAL & 0) <0, %BPVAL, 0>; SEQ 0061 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 et e ot et el et et it et b b e et et e 2 O O O O O 0001 0002 0003 0004 0005 0006 0007 0043 0044 0045 0046 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 0 10 =2 b 8 (et (et b (e et o b (et B B @0 BE BE B¢ W @0 BE T W W B G B¢ TS WS VS We W TS Ve Ve B B We VS ©F B0 WS We G5 G W @ e CZRCD1 MODULE CZRCD1 ( STITLE VAX-11 Blies-16 V4.0-579 USERS$1:[AZTEC.CZRCDBICZRCD1.SRC;6 *CZRCDBO RC2S DISK EXERCISER' IDENT = 'v02.0', gDDRESSING_HODE (ABSOLUTE) B8EGIN %SBTTL 'PROGRAM HEADER’ LIBRARY REQUIRE 'CZRCOL’; 'BLSMAC.REQ'; LITERAL DS$NBR_OF _TESTS = 1; ! ! RC2S 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 0 = SEQUENTIAL DIAGNOSTIC, 1 = EXERCISER), AND, OPTIONALLY, THE PROCESSOR PRIORITY TO BE SET WHEN STARTING THE DIAGNOSTIC. HEADER (%ASCII' ] ! ! ! CZRCD', %ASCII'B', %ASCII'O’, 65535, 1. PRIOO); * THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. IT IS USED BY THE SUPERVISOR TO DISPATCH 70 EACH TEST. THE LITERAL “OSSNBR_OF _TESTS" REPRESENTS THE NUMBER OF TESTS (1) IN THIS PROGRAM. 4 DISPATCH (DS$NBR_OF _TESTS); SEQ 0062 Page 1 1) CZRCD1 v02.0 H H é $ i H : H H 4 H 4 H $ H 4 i 4 H ; : H 4 H 3 3 ; 3 4 $ $ H : : i i 4 ‘ 4 i i i H 3 3 H H 3 3 H H é [ H 3 H 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 o-r-anr—o-o-ao-v-o-o---o---o-.ar-.-o-—o-»-v-o-wv-»—-o—-v—-o-rao-o-o-v-'-n-a.-t-n-r-r-.-b-o-r-‘o-o-n-v-o-o-r-o-.-o-wv-»- H CZRCDOBO RC25 DISK EXERCISER GLOBAL DATA SECTION %SBTTL 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD1.SRC;6 'GLOBAL DATA SECTION' te ! THE GLOBAL DATA SECTION CONTAINS ALL DYNAMICALLY-MODIFIED DATA. | PSECT GLOBAL GLOBAL PATCH ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! CPT CST : : = $FFF$ VECTOR (READ, (100, NOWRITE, EXECUTE, LOCAL, WORD], ! VECTOR [MAX_UNITS, BYTE), CONCATENATE); PATCH AREA CURRENT PASS TESTING (YES / NO) PER UNIT : BLOCKVECTOR [MAX_CTLR, CST_LEN, RUN-TIME CONTROLLER STATUS CST_ADDR : REF BLOCK [CST_LEN, TABLES WORD] FIELD (C_FIELDS), WORD) FIELD (C_FIELDS), CONTROLLER STATUS TABLE ADDRESS OF “CURRENT” CONTROLLER DCT : 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 RC2S5 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 DMC_ADDR : REF BLOCK [DMC_LEN, WORD) FIELD (DMC_FIELDS), TEST) 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, OUTSTANDING COMMAND TIMERS OCL_X1 : WORD, WORD], STARTINGDINDEX 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_FIELD S), 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 (RP_FIEL DS), 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 Page 3 (3 CZRCDBO RC25 DISK EXERCISER GLOBAL DATA SECTION H ‘ : H b 1642 1661 1662 1663 1664 O ol o} Y T O O ol 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 e e O e H H : H H H H H 3 H H H H : H H : $ H e el e ol el el e e el e e o ey e e e e e e 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 e H : H H H H : H H H 3 : ; : 3 : H : H H 1 : H : H U U, V0.0 14 Jun-1985 09:35:23 14-Jun-1985 09:28:52 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB)CZRCD1.SRC; 6 BUFF _OWN : VECTOR [MAX_BUF _CNT, BYTE, SIGNED], 170 BUFFER OWNERSHIP (CONTROLLER NUMBER) 100Q : VECTOR (IODQ_LEN, BYTE], I/0 DONE QUEUE - CIRCULAR QUEUE OF RETPKT INDECES IODQ_IN : WORD, I70 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, IIP_FLAG : BYTE, CCTLR : WORD, CPLAT : WORD, CUOFF : WORD, CTLR_CNT : WORD, DUR : VECTOR [MAX_UNITS, BYTE], QI0 : VECTOR [MAX_CTLR, BYTE], MEM_SIZE : WORD, FREE_MEM_ADDR, BUFF _SIZE : WORD, NUM_BUFF : WORD, CLK_TYPE : CLK_HERTZ : CLK_CSR, CLK_VECTOR, WORD, WORD, HOURS : WORD, MINUTES : WORD, SECONDS : WORD, TICKS : WORD, ST_CODE : WORD, SB_CODE : WORD, STEP : WORD, OF _RC : SIGNED WORD, SA_REG : WORD, NEX CRN : : WORD, WORD; D SN D D YD VP LD TP D SUD D PR CEP TR WD TUD YU SUD Sab SN CAD SAD SAD CD Sab SEb SEb WD SuD Pum Saw tem o CZRCD1 MEMORY MANAGEMENT FLAG INITIALIZATION-IN-PROGRESS FLAG NUMBER OF “CURRENT" CONTROLLER CURRENT PLATTER ADORESS (MSCP UNIT NUMBER) CST OFFSET FOR CURRENT UNIT TOTAL NUMBER OF CONFIGURED CONTROLLERS DROP UNIT REASON NUMBER OF OQUTSTANDING QIOS PER CONTROLLER AVAILABLE MEMORY (IN WORDS) UP 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 (O 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; TO 28K START OF FREE MEMORY BELOW 28K SIZE (BYTES) OF AN I/0 BUFFER SEQ 0064 Page 4 (3 CZRCO1 CZRCOBO RC25 DISK EXERCISER GLOBAL TEXT SECTION 4 ; H i H $ 3 4 4 i $ $ 4 i L 3 4 H H 4 i $ i i H 1 4 3 i i i 4 i i 3 i i 3 ' [ $ 3 $ i ] 4 i } $ L 3 i 3 $ 3 3 h— 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 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 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 O PR A 3 S S 1 0 bl 8 8 S 0 et et e e 8 e e B s et 8 1 8 8 b h s s e 8 h b (o h b s e s 8 a1t (e b b (b (b s (b (et e et m v02.0 sSBTTL 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 VAX-11 Bliss-16 vV4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 'GLOBAL TEXT SECTION' L4 THE GLOBAL TEXT SECTION CONTAINS ALL MESSAGES OUTPUT TO THE OPERATOR DUPING THE OPERATION OF THE EXERCISER. THIS INCLUDES HARDWARE AND SOFTWARE DIALOG PROMPTS, ERROR MESSAGES, AND DROP UNIT MESSAGES. GLOBAL BIND [] 'sssess HARDWARE DIALOG [] HWQl = UPLIT (%ASCIZ'IP ADDRESS'), HWQ2 HWQ3 HWQ4 HWQS HW@6 = = = = = ] UPLIT UPLIT UPLIT UPLIT UPLIT (¥ASCIZ'VECTOR'), (%ASCIZ'BR LEVEL'), (#ASCIZ'PLATTER ADDRESS (UNIT PLUG)'), (#ASCIZ'ALLOW WRITES TO CUSTOMER DATA AREA ON THIS PLATTER'), (%ASCIZ'ss WARNING - CUSTOMER DATA AREA MAY BE OVtRWRITTEN! ... CONFIRM'), tessass SOFTWARE DIALOG ] t SWA1 = UPLIT (#ASCIZ'ERROR LIMIT (O FOR NO LIMIT)'), SWQ2 = UPLIT (#ASCIZ'TRANSFER LIMIT IN MEGABYTES (O FOR NO LIMIT)'), SWQ3 = UPLIT (#ASCIZ'SUPPRESS PRINTING ERROR LOG MESSAGES'), SWQ4 = UPLIT (#ASCIZ'RUN DM EXERCISER INSTEAD OF MULTI-DRIVE SUBTEST'), SWQS = UPLIT (%ASCIZ'RANDOM SEEK MODE'), SWQ@6 = UPLIT (%ASCIZ'STARTING TRACK'), SWQ7 = UPLIT (#ASCIZ'ENDING TRACK'), SWQ8 = UPLIT (#ASCIZ'READ-COMPARES PERFORMED AT THE CONTROLLER'), SWQ9 = UPLIT (%ASCIZ'WRITE ONLY'), SWQR10 = 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 (%ASCIZ'SELECT PRE-DEFINED DATA PATTERN (0 FOR SEQUENTIAL SELECTION)'), SWQ14 = UPLIT (®ASCIZ'NUMBER OF WORDS IN DATA PATTERN (16 MAXIMUM)'), SWQ1S = 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 ALSG PRINTED) !ssssss INFORMATION MESSAGES (IF ATTENDED MODE, ' MSG_O1 MSG_02 MSG_03 MSG_04 MSG_05S MSG_06 MSG_07 MSG_08 = = = = = = UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT THEN PRINTF) (#ASCIZ'SAPOMER DELAY - WAITINGSN'), (#ASCIZ'%N#AABOUT TO VERIFY VECTOR %03%A(0) FOR DEVICE %06%AC0) (#ASCIZ'SACOMPLETED.®N'), (%ASCIZ'#NSAINIT SUBTEST STARTHSN'), (#ASCIZ'sSNsAMULTI-DRIVE SUBTEST STARTSN'), (#ASCIZ'®NwADM EXERCISER SUBTEST STARTSN'), '), = UPLIT (#ASCIZ'SAUNIT #D2#A. - TRANSFER LIMIT REACHED®N'), = UPLIT (#ASCIZ'#DS%A. BLOCKS TRANSFERRED ON UNIT #D2#A. (PLATTER sD3%A.)$N‘), tesssss CONFIGURATION ERROR MESSAGES (IF ATTENDED MODE, THEN PRINTF) ] 1 ... CER_O1 = UPLIT (#ASCIZ'sNSADUPLICATE PLATTER ADDRESS #D3%A. AT IP s06%A(0)’), CER_02 = UPLIT (#ASCIZ'sNwAALREADY & UNITS AT IP %06%A(0)'), CER_03 = UPLIT (®ASCIZ'®N#AMORE THAN #D1%A DIFFERENT IP ADDRESSSES'), E...... OROP UNIT MESSAGES SEQ 0065 Page S (4) CZRCD: CZRCOBO RC25 DISK EXERCISER GLOBAL TEXT SECTION 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 177¢ 1773 1774 1778 1776 1177 1778 i P e P P P P [} UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT OUM_HE puM_uE Ysssess GENERAL VAX-11 Bliss 16 V4.0-579 USER$1:(AZTEC.CZRCDB ICZRCD1.SRC: 6 (wASCIZ'SAUNIT «#D2#A. DROPPED e (wASCIZ sAUSER COMMANDSN' ), (SASCIZ'SACONFIGURATION ERRORSN'), (wASCIZ'#AINIT ERRORSN'), (#ASCIZ'#AHARD ERROR LIMIT REACHEDSN'), (#ASCIZ'SAUNRECOVERABLE ERRORSN'), ERROR MESSAGES SYSTEM FATAL (ERRSF) €GS_01 EGS_02 = UPLIT = JPLIT ($ASCIZ'TOO MANY UNITS'), (WASCIZ NEITHER P NOR L CLOCK WAS FOUND ON THE SYSTEM'), DEVICE FATAL (ERRDF) EGD_10 = UPLIT (%ASCIZ REGISTER EXISTENCE TEST FAILED'), €GD_11 UPLIT («ASCIZ'VECTOR TEST FAILED ), EGD_12 UPLIT (wASCIZ'BR LEVEL TEST FAILLD'), EGD_13 UPLIT (#ASCIZ'INIT SEQUENCE FAILLED'), €GD_14 UPLIT (®ASCIZ'FATAL PORT / CONTROLLER ERROR'), EGD_15 UPLIT (ASCIZ'MESSAGE RESPONSE TIMEOUT'), EGD_16 UPLIT («ASCIZ'ONLINE FAILED ), UPLIT (#ASCIZ'WRITC-PROTECT CONFLICT'), EGD_17 EGD_18 UPLIT (#ASCIZ'ACCESS FAILED'), eGD_19 UPLIT (#ASCIZ'FATAL I/0 ERROR'), €GD_20 UPLIT ($ASCIZ'CONTROLLER TIMEOUT'), EGD_21 UPLIT (#ASCIZ'DUP COMMAND FAILED'), EGD_22 UPLIT (#ASCIZ'DM EXERCISER TIMEQUT'), '@ 1731 1°32 1733 1734 1735 1736 17137 1738 1739 1740 1741 1742 1743 1744 1745 DuM_00 DuM_uC ouM_CE ouM_IE - o 1730 b Pt Pt e (B 8 P P 1°28 1729 B 8 Pt (ot 8 et Pt b Pt 8 b (B et 8 P o8 (0 (b (8 Bl 8 S b (i e $t P 1726 1727 n s 48 e D D 8 8 P B8 P P 1722 ~e3 1724 1725 00 WS B 40 00 00 0 00 V0 B4 W W B0 B8 B G B0 B0 B T B 00 G0 S0 B0 T B0 G0 G2 GF G0 B0 VT B0 00 ¢ G0 G4 B0 BF 5 O G G0 BF GF OV S8 00 G0 G5 G0 Gr B9 B¢ G0 Ve O R v0e.0 14-Jun-1985 09:35:23 14 Jun-1985 09:28:52 HARD (ERRHRD) UPLIT (#ASCIZ'I/0 REQUEST FAILED'), EGH_30 "esssss BASIC ERROR MESSAGES (PRINTB) : SYSTEM FATAL (ERRSF) €BS_01 = UPLIT (wASCIZ'#AMORE THAN #D2%A. UNITS SPECIFIEDSN'), DEVICE FATAL (ERROF) EBD_10 = UPLIT (%ASCIZ'#ANO RESPONSE AT ADDRESS %06%A(Q)®N'), €BD_12 UPLIT (%ASCIZ'#AINCORRECT BR LEVEL GIVEN FOR DEVICE %O06%A(0)SN' ), €80_13 UPLIT ($ASCIZ'#ASTEP #D1%A READ ERROR ON DEVICE s%D6sA(0)N'), €8D_14 UPLIT (wASCIZ'#AERROR CODE RECEIVED IN SA REGISTER OF DEVICE #06%A(Q)¥N'), £E8D0_15 UPLIT (wASCIZ'#AFAILED TO RECEIVE END MESSAGE FROM DEVICE %06%A(0)%N'), £80_16 UPLIT (%ASCIZ'SAERROR IN RESPONSE TO ONLINE COMMAND FOR PLATTER ®D3%A.%N'), EBD_17 UPLIT (#ASCIZ'sAPLATTER #D3%A. IS SW WRITE-ENABLED BUT HW WRITE-PROTECTEDSN'), €EBD_18 UPLIT (®ASCIZ'#AACCESS FAILED ON PLATTER wD3%A %N'), UPLIT (#ASCIZ'wAPLATTER #D3%A., WENT OFFLINE®N'), £8D0_19 €80_20 UPLIT (#ASCIZ'¥ADEVICE #06%A(0) NOT PROCESSING COMMAND PACKETSSN'), €8D_21 UPLIT (#ASCIZ'#AMESSAGE REJECTED BY DUP SERVER ON DEVICE #Q6%A(0)®N'), £E8D_22 UPLIT (®ASCIZ'#ANO RESPONSE FROM FRONT PANEL TEST EXECUTING IN DfviCE #06%A(0)SN' ), HARD (ERRHRD) MAINLY BASED ON MSCP STATUS CODES SEQ 0066 Page 6 (3) ZRCO1 CZRCDOBO RC25 DISK EXERCISER GLOBAL TEXT SECTION 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 .809 1810 1011 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1929 1330 1334 b b Pt b P P - e e D P (8 0 Pt P P D P (6 Pl P P 178" 1788 1789 1790 1791 1792 1793 1794 1795 1796 h et Pt Db P D P P 1785 1786 8 b 8 P 1784 P P (8 Pt b b o Do (0 P 179 1°80 1781 1782 1783 S8 D 8 D s 8 8 B ©6 2 B9 B8 @0 @0 B B0 0% G T B G0 G0 06 B0 T8 G0 G0 B0 B0 T 0 B0 B B B0 GF P S0 B T OV G0 T GF G2 G0 ©0 B0 G0 G5 B¢ 06 Gv SO 00 G0 G5 OS¢ Gs s G v02.0 STC_00 STC_O01 STC_02 STC_03 STC_04 STC_05 STC_06 STC_07 STC_08 STC_09 STC_10 STC_11 = = = = = = = = = = = = UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT UPLIT EBH_31 EBH_32 EBH_34 EBH_35 = = = = STC_01, STC_02, STC 04, £TC_0S5, €EBH_37 €EBH_38 EBH_39 EBH_40 eEBn_41 EBH_42 EBH_43 = = = = = = = EBH_36 = 14 -Jun-198S 09:35:23 14-Jun-1955 09:28:52 (wASCIZ'SASUCCESSHN'), (®ASCIZ'wAINVALID COMMANDSN'), (wASCIZ'ACOMMAND ABORTEDSN'), ($ASCIZ'#AUNIT OFFLINESN'), (®ASCIZ'SAUNIT-AVAILABLESN'), (®ASCIZ'SAMEDIA FORMAT ERRORSN'), (SASCIZ'<AWRITE-PROTECTEDSN'), (#ASCIZ «ADEVICE COMPARE ERRORSN'), (wASCIZ wADATA ERRORsN'), (wASCIZ €AMOST BUFFER ACCESS ERRORSN ($ASCIZ'SACONTROLLER ERRORSN ), (®ASCIZ'sADRIVE ERROR®N'), SEQ 0067 VAX-11 Blies-16 v4.,0-579 Page USER$1:[AZTEC.CZRCDBICZRCD1.SRC;: (8) 6 ), 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'), vesasss EXTENDED ERROR (PRINTX) AND ERROR LOG (PRINTF) MESSAGES ] EX_SA = UPLIT (wASCIZ <A SA: %06%A(0)%N’), EX_CRN = UPLIT (wASCIZ wA CMD REF NUM: s068A(Q)SN'), EXx_SC = UPLIT (wASCIZ'sA STATUS CODE: #02%A(0)%N’ ), EX_DSC = UPLIT (wASCIZ'%A DUP STATUS CODE: wD1sA %N'), EX_SB = UPLIT («ASCIZ'®A SUB-CODE: w04%A(OXsN'), EX_CMD = UPLIT (wASCIZ'«A COMMAND: '), Ex_SCC = UPLIT (wASCIZ'#ASET CTLR CHAR'?Y, EX_ONL = UPLIT (%ASCIZ'®AONLINE'), EX_ESP = UPLIT (wASCIZ'#AEXECUTE SUPPLIED PROGRAM'), EX_SND = UPLIT (wASCIZ'#ASEND DATA'), EX_RD = UPLIT (SASCIZ'%AREAD'), EX_WRT = UPLIT (®ASCIZ'#AWRITE'), EX_CMP = UPLIT (%ASCIZ'#A-COMPARESN' ), Ex_B8 = UPLIT (wASCIZ'®A BAD BLOCK REPORTED: #DS#A.%N'), EX_LBN = UPLIT (#ASCIZ'#A LBN: «D5%A . %N'), EX_CBC = UPLIT (wASCIZ'sA BYTE COUNT IN COMMAND: #DSsA.s#N'), EX_BC = UPLIT (wASCIZ'sA ACTUAL & OF BYTES TRANSFERRED: «#DS#A.sN'), EX_BD = UPLIT (%ASCIZ' #A 1/0 BUFFER DESCRIPTOR:%07%A(0)%07%A(0)%N" ), EX_EL = UPLIT (wASCIZ'NSAERROR LOG MESSAGE RECEIVED:®#N'), EX_PA = UPLIT (swASCIZ'sA PLATTER: #D3%A %N’ ), EX_FMT = UPLIT (wASCIZ'#A FORMAT: '), E£_EVC = UPLIT ($ASCIZ'¥A EVENT CODE: '), EX_HMA = UPLIT (#ASCIZ'wA HOST MEM ADDR:%07%A(0)%07s ACD)ISN' ), EX_C3 = JPLIT ($ASCIZ'«03%A(0)SN'), 7 L4 1841 +342 1843 1844 1845 1646 1847 1848 1849 1850 1851 1852 1852 1854 1855 1856 1857 B Pt P Pt b (b b P P GLOBAL TEXT SECTION Dot 10 =0 Pt P Pt (o0 P8 PP P P 1832 1832 1834 1835 1836 1837 1838 1839 1840 CZRCOBO RC2S DISK EXERCISER P8 10 00 -5 (=0 P W B0 S¢ G0 G0 G0 OV B0 U5 B¢ S8 G DS OF G G0 OF S: O B¢ S0 6 Be O» G B <RCD1 v02.0 14 Jun-1985 09:35:23 VAX-11 Bliss-16 v4.0-579 14-Jun USER$1:[AZTEC.CZRCDBJCZRCD1.SRC: 6 1985 09:28:52 tessess MISCELLANEOUS [] ETIME PLATT CRLF 4SBTTL = UPLIT (SASCIZ #D2s%A:%D2%A:SD2SA « UPLIT (#ASCIZ ' WAPLATTER SD3sA. - = UPLIT (®ASCIZ'SN'); '), ‘). DEFAULT HARDWARE P TABLE THE DEFALLT 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_ADO : WORD INITIAL (w0 172150'), HWPT _VECTOR . WORD INITIAL (#0'154'), HWPT _BR_LEVEL : WORD INITIAL (S), HWPT _PLAT : WOKD INITIAL (0); ENOHUW; ! ! ! ] IP ADDRESS VECTOR ADDRESS BR LEVEL PLATTER ADDR, PROTECTON BIT SEQ 0068 Page 8 (5) CZRCD1 v02.0 ps P Pt #SBTTL SOFTWARE 14 Jun-1985 09:35:23 14-Jun-1985 09:28:52 VAX-11 Blise-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD1.SRC; 6 P-TABLE® * THE SOFTWARE P-TABLE CONTAINS VARIOUS DATA USED BY s e e P b Pt b et Pt b 1869 1870 1871 1872 i873 1874 1875 1876 1877 1878 1879 P P 1865 1866 1867 1868 b o P 1863 1864 b (o 1862 10 1 1858 1859 1860 1861 CZRCOBO RC25S DISK EXERCISER SOF TWARE P-TABLE THE PROGRAM AS OPERATIONAL PARAMETERS. THESE PAIAMETERS 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'S55'), 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 CZRCOBO RC25 DISK EXERCISER v02.0 O #SB8TTL ‘PROTECTION 040 122 000 000 102 060 0000006 1777717 0000006 000000G 006450 006464 0000006 000000 000000 000001 000000 000124 000000 000000 000000 003 003 000000 14-Jun-1985 09:28:52 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC;6 TABLE' 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. 1IF THE UNIT BEING REQUESTED MATCHES THE LOAD DEVICE, THEN THE RUNTIME SERVICES RETURN AN INCOMPLETE FLAG ON THE GPHARD. BGNPROT (-1, -1, -1); ENOPROT; END ELUDOM .TITLE .IDENT .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 000059 000051 000052 VAX-11 Bliss-16 V4.0-579 * 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 o 10 12 10 |0 ot pd ot o |t ot (ot (8 b b e b ot P Pt s Pt PROTECTION TABLE 14-Jun-1985 09:35:23 103 103 132 104 .PSECT LS$NAME:: .ASCII .ASCII .BYTE .BYTE LS$SREV:: .ASCII .ASCII LSUNIT::.WORD LSTIML:: .WORD L$HPCP:: .WORD L$SPCP::.WORD L$HPTP:: .WORD L$SPTP:: .WORD L$LADP:: .WORD L$STA:: .WORD L$CO:: .WORD L$OTYP:: .WORD L$APT:: .WORD L$DTP:: .WORD L$PRIO::.WORD LSENVI:: . WORD L$SEXPL1::.WORD LSMREV:: L$EF:: .BYTE .BYTE .WORD CZRCD1 CZRCDBO RC25 DISK EXERCISER /V02.0/ AMA $CODES$, / CZ/ /RCD/ 0 © RO /B/ /0/ T$PTHY -1 L$HARD L$SOFT LSHW L$SuW L$LAST 0 0 1 0 L$DISPATCH 0 0 0 3 3 0 SEQ 0070 Page 10 7 CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE 000054 000056 000060 000062 000064 000066 000070 000072 000074 000076 000100 000102 000104 000106 000110 000112 000114 000116 000120 000122 000124 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 0000006 0000006 000000 000000 0000006 .WORD L$SPC:: .WORD LSDEVP:: .WORD LSREPP:: .WORD LSEXP4:: WORD LSEXPS:: .WORD L$AUT:: .WORD L$DUT:: .WORD LSLUN:: .WORD L$DESP:: .WORD L$LOAD: : .WORD LSETP:: .WORD L$ICP:: .WORD L$CCP:: .WORD L$ACP:: .WORD L$PRT:: .WORD L$STEST:: .WORD L$DLY:: .WORD L$HIME:: .WORD 0000006 000000 0000006 104035 000126 0000006 000000G 000000G 006542 000000 000000 000000 000001 000000G 111 101 122 123 126 ¢ 124 000 102 114 105 000 120 124 122 104 105 040 116 040 125 000 101 117 127 124 040 040 123 115 040 124 D$PCNT:: .WORD 120 104 105 000 105 117 000 122 105 114 040 104 123 000 103 122 L$DISPATCH:: .WORD ERRTYP:: .BLKW ERRNBR:: .BLKW ERRMSG:: .BLKW ERRBLK: : .BLKW P.AAA: .ASCII .ASCII .ASCII .ASCII P.AAB: .ASCII .ASCII 040 126 000 P.AARC: .ASCII 114 124 040 104 123 050 111 120 107 101 105 101 122 123 125 124 114 051 P.AAD: 114 127 122 105 124 114 040 111 123 117 P.AAE: 124 105 104 101 122 101 040 103 125 117 LASCII /1P / /RDD/ /RES/ /57/<00><00»> /VEC/ /TOR/ <00><00»> /BR / /LEV/ .ASCII .ASCII /PLA/ .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII SEQ 0071 Page 0 0 LSDOVTYP LS$RPT 0 0 L$AU L$DU 0 L$DESC -73743 L$ERRTBL L$INIT L$CLEAN L$AUTO L$PROT .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD1.SRC; 6 pr-wrn:: ¥ Y=Xe vo2.0 14-Jun-1985 09:35-23 14-Jun-1985 09:28:52 /EL/<00> <00> /TTE/ /R A/ /DDR/ /ESS/ /7 v/ /NIT/ / PL/ /UG)/ <00»> /ALL/ /0W / /WRI/ /TES/ /7 10/ /7 Cu/s /5707 /MER/ / DA/ /TA 7/ . 11 D) CZRCO1 CZRCDBO RC25 DISK EXERCISER 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 00040S 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 14-Jun-1985 09:35:23 14-Jun 1985 09:28:52 PROTECTION TABLFE 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 122 040 040 111 120 124 122 105 117 124 123 114 124 000 052 101 111 040 103 124 105 104 101 122 040 131 105 126 040 122 116 055 127 124 116 056 040 116 122 122 122 111 124 060 117 116 114 111 000 122 125 117 122 101 040 105 115 040 040 105 122 124 041 056 103 106 115 050 106 040 040 115 051 122 040 115 040 040 122 117 111 124 000 101 106 040 115 040 040 107 131 123 060 117 116 114 111 000 125 12Q 123 122 111 124 116 105 102 105 P.AAF: P.AAG: P.AAH: P.AAI: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .+SCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .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/ /7ER/<Q0O> <00> /a% / /WAR/ /NIN/ /G -/ / Cus /75T0Q/ /MER/ /7 DA/ /TR / /ARE/ /A M/ /RY / /8E / /0VE/ /RWR/ /1T1/ /EN'/ / ../ /. C/ /0NF / /IRM/ <00»> /ERR/ /0R / /LIM/ /1T 7/ /(0 7/ /FOR/ / NO/ / LI/ /MIT/ /)/<00><00> /TRA/ /NSF/ /ER / /LIMN/ 71T 7/ /IN / /MEG/ /ABY/ /TES/ /7 (O/ / FOQ/ /R N/ /0 L/ /IMI/ /T)/<00 <00> /SUP/ - VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCOB]CZRCD1.SRC; 6 SEQ 0072 Page 12 "N CZRCD1 vo2.0 000533 000536 000541 000544 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 CZRCDBO RC25 DISK EXERCISER 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 000 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 000 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 104 117 123 113 117 000 124 124 107 122 113 105 040 111 111 040 122 040 107 105 101 123 116 115 130 103 105 111 124 104 106 125 111 122 105 125 105 000 116 115 105 P.AAJ: P.ARAK: 040 104 000 101 111 040 101 P.AAL: 000 116 116 124 103 104 107 122 113 P.AAM: 105 101 103 120 105 120 106 115 040 P.AAN: 000 055 115 122 040 122 122 104 124 110 103 124 040 105 117 122 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /PRE/ /58 7/ /PRI1/ /NTI1/ /NG / /ERR/ /0R / /L0G/ / ME/ /SSA/ /GES/ <Q0><00> /RUN/ / DM/ / EX/ /ERC/ /ISE/ /R I/ /NST/ /ERD/ / OF/ /7 MU/ /LTY/ /-DR/ /IVE/ / SV’ /BTE/ /8T7/<00> /RAN/ /00M/ / SE/ /EK / /M0D/ /E/<00><00> /STAR/ /RT1/ /NG / /TRA/ /CK/<00> <00> /END/ /ING/ / TR/ /ACK/ <00><00> /REA/ /D0-C/ /0MP/ /ARE/ /S P/ /ERF/ /0RM/ /ED / /AT 7/ /THE/ /7 CO/ /NTR/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB)CZRCD1.SRC;6 SEQ 0073 Page 13 (7 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 106 115 040 040 105 117 122 114 000 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 106 105 104 101 101 105 040 040 122 105 105 114 000 111 040 114 000 111 055 115 122 040 122 122 104 124 110 103 124 114 122 105 P.AAQ: P.KAP: P.AAQ: 040 114 122 105 101 110 124 131 105 111 000 105 P.AAR: 104 111 104 101 040 124 122 114 124 122 104 111 104 101 040 124 122 050 106 040 121 116 P.ARS: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1I .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 .ASCII .ASCII .ASCII .ASCII /0LL/ /ER/<00> /WRI/ /TE / /0NL/ /Y/7<00><00> /WRI/ /TE-/ /COM/ /PAR/ /€S 7/ /PER/ /FOR/ /MED/ / AT/ /7 TH/ /E C/ /0NT/ /ROL/ /LER/ <00><00> /CHE/ /CK / /ALL/ / WR/ /ITE/ /S A/ /T H/ /708T/ /7 BY/ / RE/ /RD1/ /NG/ <00> /USE/ /R-D/ /EFI/ /NED/ / DA/ /TR / /PAT/ /TER/ /N/<00> /SEL/ /ECT/ / PR/ /E-D/ /EF1/ /NED/ / DA/ /TA / /PAT/ /TER/ /N (/ /0 F/ /0R / /SEQ/ /UEN/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB)JCZRCD1.SRC: 6 SEQ 0074 Page 14 ) CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE 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 124 114 105 103 117 000 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 000 045 117 122 105 131 040 111 116 116 111 040 114 124 116 00V 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 000 101 127 040 114 040 127 124 107 000 101 123 105 111 051 115 P.AAT: 122 106 117 123 116 101 040 124 122 050 040 130 125 000 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 900 P.AAV: 120 105 104 1C1 055 101 111 045 P.AAW: P.AAX: 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /TIA/ /L S/ /ELE/ /CTI/ /0N)/ <00><00> /NUM/ /BER/ /7 QF/ / W0/ /RDS/ /7 IN/ /7 DA/ /TR / /PAT/ /TER/ /N (/ /16 / /MAX/ /IMU/ /M)/<00> <00»> /PAT/ /TER/ /N V/ /ALU/ /E/<00> /THE/ / RE/ /MA1/ /NIN/ /G Q/ /UES/ /T10/ /NS / /0NL/ /Y A/ /PPL/ /Y T/ /70 U/ /NPR/ /0TE/ /CTE/ /0 P/ /LAT/ /TER/ /5.7/<00> <00><00> /%AP/ /0ME/ /R D/ /ELA/ Y -/ / WA/ /IT1/ /NG / /N/<00> VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD1.SRC;6 SEQ 0075 Page 15 "M CZRCD1 v0e2.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 201632 i635 001636 001641 001644 001647 001652 001655 001660 001663 001666 001670 001673 001676 001701 001704 001707 001712 001715 001720 001723 001726 001730 001733 001736 001741 001744 001747 001752 001755 001760 001763 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 045 101 117 040 040 122 131 105 117 045 045 117 106 040 126 105 117 101 051 056 000 045 117 114 105 04€< 000 045 101 111 123 124 124 124 124 000 045 101 114 055 111 040 102 123 123 122 116 045 101 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 in 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 135 106 126 124 040 063 050 040 122 105 103 045 045 117 056 040 P.AAY: 103 120 124 056 000 P.AARZ: 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: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASC1I .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCIX .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASC1I .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /%N / /AAB/ /0UT/ /7 10/ / VE/ /RIF/ /Y N/ /ECT/ /0R / /%03/ /%AC/ /70) 7/ /FOR/ /7 DE/ /NIC/ /E 8/ /706%/ /A(0/ /) ./ /.. / <00><00> /%AC/ /0MP/ /LET/ /€ED./ /%N/ <Q0> <00» / /%N /AIN/ /1T / /5U8/ /TES/ /T S/ /TAR/ /THN/ <00><00> /%N / /RMY/ LTI/ /7-DR/ /IVE/ /7 SU/ /BTE/ /8T 7 /STR/ /RT%/ /N/<00> /%N / /RDM/ /7 EX/ /ERC/ /ISE/ /R S/ /UBT/ /EST/ / ST/ /ART/ VAX-11 Bliss-16 vV4.0-579 USER$1:[AZTEC.CZRCDB]JCZRCD1.SRC;6 SEQ 0076 Page 16 7 CZRCD1 CZRCDBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 001766 001771 001772 001775 002000 002003 002006 002011 002014 002017 002022 002025 002030 002033 002036 002041 002044 002047 002052 002055 002060 002063 002066 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 14-Jun-1985 09:35:23 14-Jun 1985 09:28:52 045 000 045 116 040 062 056 040 101 106 040 115 040 101 105 116 045 045 040 117 123 122 123 122 104 116 116 040 062 056 120 124 122 104 101 045 045 101 120 103 105 114 124 040 104 123 045 045 040 040 040 066 050 000 045 101 122 116 000 101 111 045 045 040 124 116 105 114 111 122 103 104 000 104 101 102 103 125 124 104 101 055 122 123 122 111 124 105 110 045 000 065 056 114 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 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 117 063 056 124 120 117 101 051 116 101 105 045 114 101 P.ABD: P.ABE: .ASCI1I .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII LASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII P.ABF: 040 P.ABG: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCIX .ASCII .ASCII .ASCI1 .ASCII /%N/ <00> <00> /%AY/ /NIT/ / %D/ /2%A/ /. -/ / TR/ /ANS/ /FER/ / L1/ /MIT/ / RE/ /ACH/ /ED%/ /N/<00><00> /9057 /%A./ / BL/ 70CK/ /S8 1/ /RAN/ /SFE/ /RRE/ /0 O/ /N U/ /NIT/ / %D/ /2%R/ /. ¢/ /PLA/ /TTE/ /R o/ /03%/ /R.)/ /%N/ <Q00> /%N / /ADV/ /PLY/ /CAT/ /E P/ /LAT/ /TER/ / RAD/ /DRE/ /58S / /%037 /%RA./ / AT/ /7 1P/ /7 %0/ /76%RA/ /7CQ)/ <00> /%N / /AAL/ /REA/ VAX-11 Bliss-16 vV4.0-579 USER$1:FAZTEC.CZRCOBICZRCD1.SRC;6 SEQ 0077 Page 17 N CZRCOD1 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 CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 104 064 116 123 124 120 117 101 051 045 101 122 124 116 101 111 105 116 111 101 122 123 123 045 116 040 062 056 122 120 040 000 045 123 040 115 116 116 045 117 111 122 111 040 122 045 045 116 040 122 045 000 045 101 040 122 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 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 040 125 124 101 111 045 045 117 000 045 117 040 101 045 045 104 106 P.ABH: 105 040 040 104 123 105 125 124 104 101 104 120 104 P.ABI: 040 125 122 117 101 P.ABJ: 103 106 125 124 116 122 122 000 111 124 122 122 000 P.ABK: 045 000 110 104 122 122 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 /DY / /4 Y/ /N11/ /S A/ /T 1/ /P o/ /706%/ /AC0Q/ /)/<00><00> /%Nt / /AMO/ /RE / /THA/ /N o/ /01%/ /R D/ /IFF/ /ERE/ /NT / /1P / /RDD/ /RES/ /SSE/ /757<00> /%RAU/ /NIT/ / %D/ /2%A/ /. D/ /R0OP/ /PED/ / -/ <00><00> /%AY/ /SER/ /7 CO/ /MMA/ /ND« / /N/7<00><00> /%AC/ /0NF / /7IGU/ /RAT/ /I0ON/ / ER/ /ROR/ /9N/ <Q0> /%AY/ /NIT/ / ER/ /ROR/ /4N/<00> <00»> /9AH/ /ARD/ / ER/ /ROR/ VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDBICZRCDL.SRC; 6 SEQ 0078 Page 18 N 2RCDY v02.0 002504 002507 002512 002515 002520 002523 Q02526 002531 002534 002537 002542 0C254S 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 002708 002704 002707 002712 002714 002717 002722 002725 002730 002733 002736 002740 002743 002745 CZRCDOBO RC2S DISK EXERCISER PROTECTION TABLE 040 115 040 103 105 116 04S 116 103 105 102 040 122 045 124 040 116 125 124 000 11¢ 124 122 040 122 040 117 040 123 117 104 116 110 123 124 000 122 111 105 105 123 116 040 123 106 114 000 126 124 040 123 106 114 102 114 105 114 111 12¢ 103 104 000 105 110 045 101 122 117 122 114 105 117 116 117 115 131 125 105 126 101 105 122 122 000 117 101 040 123 000 105 110 111 105 116 040 116 P.ABP: 11° 040 106 040 040 117 124 105 131 105 P.ABO: 120 114 114 113 125 P.ABN: 111 040 103 103 127 . 1 124 000 101 116 040 123 115 105 123 122 130 124 103 124 124 101 105 107 124 040 114 105 105 105 040 111 104 P.ABQ: 105 103 P.ABR: 000 117 124 124 101 105 000 122 122 105 040 111 104 114 040 105 040 126 14 Jun-1985 09:35:23 18 Jun-1985 09:28:52 P.ABS: .ASCII .ASCII .ASCIX .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1I .ASCII .ASCII LASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASC1I .ASCII .ASCI1 .ASC1I .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCI11 .ASCII .ASCII / L1/ /MIT/ / RE/ /ACH/ /7ED%/ /N/<00><00> /4AY/ /NRE/ /COV/ /ERA/ /BLE/ / ER/ /ROR/ /78N/<Q0> /100/ / MA/ / /NY /UN1/ /775/7<00> <00» /NEI/ /THE/ /R P/ / NOQ/ /R L/ /7 CL/ /70CK/ / WA/ /8 F/ /QUN/ /0 0/ /N T/ /HE / /5YS/ /TEM/ <Q0> /REG/ 7151/ /ER / /EXI/ /STE/ /NCE/ / TE/ /ST 7 /FRAY/ /LED/ <00><00> /VEC/ /T0R/ /7 TE/ /5T 7/ /FAI/ /LED/ <00><00> /BR 7 /LEV/ /EL 7/ VAX-11 Blies-16 V4,0-579 USER$1:(AZTEC.CZRCDBICZRCD1.SRC: 6 SEQ 0079 Page 19 D) C2RCD1 CZRCDBO RC25 DISK EXERCISER voe.ce 002751 002754 002757 <762 002765 002766 00277 002774 002777 003002 003005 0C3010 003013 003014 003017 003022 003025 003030 003033 003036 003041 003044 003047 003052 003055 003060 003063 003066 003071 003074 00307 003102 003204 003107 003112 003115 003120 003122 03125 003130 003133 003126 003141 003144 0032147 003152 003155 ¢02160 003163 003166 003170 002173 003176 003201 0032204 0032¢7 002219 PROTECTION 124 124 101 105 000 111 124 105 105 105 1< 10% 00« 1J¢ 101 120 124 040 116 117 108 105 117 115 123 105 105 117 105 111 117 000 117 112 040 118 104 127 124 120 124 124 11?7 114 124 101 105 040 111 104 10€ 101 111 040 122 000 103 105 040 111 104 116 040 121 116 040 1i1 104 1C1 114 117 040 103 ic4 114 122 122 122 105 101 040 23 116 040 115 125 000 116 116 106 114 000 122 105 122 105 040 116 111 000 103 123 106 114 000 101 114 057 14-Jun-1985 09:35:23 14 Jun-1985 09:28:52 TABLE 123 106 114 000 111 123 125 103 .ABT: 106 114 000 124 040 122 .ABU: 057 117 122 114 040 122 000 123 107 122 120 123 124 105 124 114 105 .ABV: .ABMW: 10! 105 111 055 117 103 103 106 103 000 103 123 101 105 124 040 105 117 117 122 122 117 116 .RBX: .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 .ASCIIX .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ABT: .ABZ: .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ACA: .ASCII .ASCII .ASCII /TES/ /1 F/ /AIL/ /7ED/ <Q0> <Q0» /7IN1/ /T S/ 7EQU/ 7ENC/ /€ F/ /AIL/ /ED/<00> <Q0> /FART/ /AL 7/ /POR/ /T /7 /7¢S7> CO/ /NTR/ /0LL/ /ER / /ERR/ /0R/ <00> /MES/ /SAG/ /E R/ /ESP/ /ONS/ /E T/ /IME/ /70UT/ <00><00> /0NL/ /INE/ / FA/ /ILE/ /D/<00> /WRI/ /TE-7 /PRO/ /TEC/ /T C/ /0ONF/ /LIC/ /T/7¢00><00> /RCC/ /ESS/ / FA/ /ILE/ /D/<00> /FAT/ /AL 7/ /1/7¢57>70/7 / ER/ /ROR/ <00> /CON/ VAX-11 Bliss 16 V4.0-579 USER$1:(AZTEC.CZRCDBICZRCD1.SRC; 6 SEQ 0080 Page 20 () CZRCD} CZRCDBO RC25 DISK EXERCISER v02.0 003213 003216 003221 003224 003227 003232 003234 003237 003242 003245 003250 0C3253 003256 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 003373 003376 003400 003403 003406 003411 003414 003417 al 003422 003425 003430 003433 003436 003441 003444 003447 003452 003455 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 124 114 12¢ 111 117 000 104 040 115 116 106 114 000 104 105 122 123 040 115 125 00¢ 111 040 121 123 106 114 000 045 117 040 101 045 045 040 111 040 105 104 000 045 117 105 117 105 124 104 10S ice 114 040 115 125 000 125 103 115 104 101 105 000 115 130 103 105 124 105 124 057 122 125 124 101 105 000 101 122 124 116 104 101 125 124 123 103 111 045 0900 101 040 123 116 040 040 104 123 040 045 066 050 045 04s 116 122 045 103 117 116 101 103 122 124 117 105 124 105 124 12¢ 117 101 040 111 104 P.ACB: 040 P.ACC: 105 111 122 111 117 000 117 105 105 P.ACD: 040 111 104 115 105 110 P.ACE: 040 062 056 116 123 120 111 105 116 116 122 120 P.ACF: 123 101 101 122 123 117 101 051 000 111 117 105 040 P.ACG: .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1I .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII LASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /TRO/ /LLE/ /R 1/ /IME/ /0UT/ <00> <00 70UP/ /7 CO/ /MMA/ /ND / /FRI/ /LED/ <00><00> /DM / /EXE/ /RCI/ /SER/ /7 11/ /MEQ/ /UT/<00> <00> /1/7¢<57>70/ / RE/ /QUE/ 7 /ST /FAY/ /LED/ <00><00> /%AM/ /70RE/ /7 TH/ /AN / /4027 /%A./ / UN/ /711S/7 / SP/ /ECL/ /FIE/ /D%N/ <00><00> /%AN/ /0 R/ /ESP/ /0ONS/ /E A/ /T AR/ /DDR/ /ESS/ / %0/ /6%A/ /7(0)/ /4N/ <Q0> /%AY/ /NCO/ /RRE/ /CT 7/ VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD1.SRC: 6 SEQ 0081 Page 21 (7)) CZRCD1 CZRCOBO RC25 DISK EXERCISER PROTECTION TABLE v02.0 003460 003463 003466 003471 003474 003477 003502 003505 003510 003513 003516 003521 003524 003526 03531 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 14 Jun-1985 09:35:23 14 Jun-198S 09:28:52 102 114 105 107 105 106 040 126 105 117 10 oSt V00 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 122 105 114 111 116 117 104 111 040 066 050 045 000 101 105 045 045 122 104 122 122 116 103 045 045 117 116 123 120 104 101 105 126 105 117 101 051 000 101 122 040 104 122 105 105 111 123 122 111 105 117 104 111 105 045 117 116 040 066 050 045 105 105 116 101 111 104 117 105 111 040 104 P.ACH: 040 122 040 040 105 103 045 105 117 101 051 000 045 101 105 124 122 040 126 040 126 040 122 105 P.ACI: 117 103 105 105 111 104 116 101 105 123 122 106 105 103 045 045 117 116 106 114 040 040 103 126 105 040 P.ACJ: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .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 / /GIv/ /EN / /FOR/ /7 OE/ /NIC/ /E %/ /Q06%/ /AR(0/ /)8N/ <00><00> /%AS/ /TEP/ / %0/ /1%A/ / RE/ /ARD / /ERR/ /0R / /0N / /DEV/ /ICE/ / %0/ /6%A/ /7(Q)/ /9N/<Q0> <00> /%AE/ /RR0O/ /R C/ /00E/ / RE/ /CE1/ /VNED/ / / IN/ SA/ / RE/ /GIS/ /TER/ / OF/ / DE/ /NIC/ /E %/ /706%/ /A(0/ /)8N/ <00> /%AF / /RIL/ /ED / /10 /7 /REC/ /EIV/ /E E/ /ND / SEQ 0082 Page 22 USER$1:[AZTEC.CZRCOB JCZRCD1.SRC; 6 (7 VAX-11 Blies-16 vV4.0-579 CZRCD1 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 CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 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 10Z 101 040 117 104 111 040 06€ 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 111 040 115 116 106 040 101 105 045 045 045 000 120 124 122 104 101 111 123 127 124 105 102 104 125 110 127 124 120 124 124 045 101 105 040 111 104 P.ACK: P.ACL: P.ACM: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /MES/ /SAG/ /E F/ /R0OM/ /7 DE/ /VIC/ /E %/ /06%/ /R(0Q/ /)uN/ <00><00> /%AE/ /RRO/ /R 1/ /N R/ /ESP/ /70NS/ /E T/ /0 0/ /NLI/ /NE / /COM/ /MAN/ /D F/ /0R / /PLA/ /TTE/ /R %/ /03%/ /A . %/ /N/<00><00> /%AP/ /LAT/ /TER/ / %D/ /3%A/ /. 17 /8 S/ /W W/ /RIT/ /E-E/ /NAB/ /LED/ / BU/ /T H/ /W W/ /RIT/ /E-P/ /R0OT/ /ECT/ /ED%/ /N/<00> /%AR/ /CCE/ /58 / /FAl/ /LED/ VAX-11 Bliss-16 V4.0-579 USER$1.[AZTEC.CZRCDBICZRCD1.SRC;6 SEQ 0083 Page 23 D) 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 VAX-11 Bliss 16 V4.0-579 PROTECTION TABLE 18 Jun-1985 09:28:52 USERS$1:[AZTEC.CZRCOBICZRCD1.SRC;6 040 040 117 120 116 114 101 105 045 045 045 045 114 124 040 063 056 105 040 106 116 116 045 105 103 045 045 117 116 040 117 123 116 103 115 104 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 124 122 104 101 116 124 040 063 056 000 120 124 122 104 101 127 124 106 111 045 101 101 105 045 045 040 116 117 114 105 000 101 126 105 117 101 051 117 120 103 P.ACN: P.ACO: 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 105 105 102 104 040 122 122 116 105 103 045 045 117 116 101 040 23 115 123 105 105 103 104 131 125 123 126 040 040 gég { 117 101 051 000 116 122 120 P.ACP: P.ACQ: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII ASCII .ASCII .ASCII .ASCII .ASCII LASCII ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCITI .ASCII .ASCIT .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII JASCII .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%R/ /. W/ /ENT/ / OF/ /FLI/ /NES/ /N/<00> /%AD/ /EVI/ /CE / /%06/ /#AC/ /0) / /NOT/ / PR/ /0CE/ /SSI/ /NG / /COM/ /MAN/ /D P/ /ACK/ /ETS/ /%N/<00> <00> /%AM/ /ESS/ /AGE/ / RE/ /JEC/ /TED/ / BY/ / DU/ /P S/ /ERV/ /ER / /ON / /DEV/ /ICE/ / %0/ /6%A/ /(0)/ /%N/<00> /%AN/ /0 R/ /ESP/ SEQ 0084 Page 24 7 CZRCD1 v02.0 004447 004452 004455 004460 004463 004466 004471 004474 004477 004502 004505 004510 004513 004516 004521 004524 004527 C04532 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 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 000 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 000 045 105 101 117 101 105 116 123 040 106 106 116 120 105 124 124 130 122 124 101 114 105 040 105 116 111 107 116 040 066 050 045 000 101 103 123 116 101 126 111 103 115 104 000 101 045 045 117 116 117 125 104 111 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 115 124 105 103 123 103 123 000 111 101 104 117 101 045 P.ACR: P.ACS: 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.ACV: P.ACU: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /0NS/ /E F/ /ROM/ / FR/ /0ONT/ / PA/ /NEL/ / TE/ /5T 7 /EXE/ /CUT/ /ING/ / IN/ / DE/ /VIC/ /E %/ /706%/ /R(0/ /)%N/ <00><00> /%ARS/ /UCC/ /ESS/ /%N/ <Q0> /%AY/ /NVRA/ /LID/ / CO/ /MMA/ /NDs/ /N/<0Q0> /%AC/ /0MM/ /AND/ / AB/ /0RT/ /ED%/ /N/<Q0> /%RAU/ /NIT/ /-0F/ /FLY/ /NE%/ /N/<00><00> /%AY/ /NIT/ /-AV/ /RIL/ /RBL/ /E%SN/ <00><00> /%AM/ /EDI/ /A F/ /0RM/ /AT / /ERR/ VAX-11 Bliss-16 V4.0-579 USER$1:{AZTEC.CZRCDB]CZRCD1.SRC;:6 SEQ 008S Page 25 N CZRCD1 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 CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 117 116 045 122 105 122 105 105 116 045 105 103 103 120 105 122 122 000 045 101 040 122 045 000 045 117 040 106 122 103 123 105 117 116 045 117 122 114 040 122 045 000 045 122 105 122 122 000 045 117 055 124 124 040 111 055 115 122 045 000 101 111 055 117 103 104 000 101 126 105 117 101 040 122 045 000 101 124 105 117 116 104 111 040 115 122 105 117 116 P.ACY: 104 101 122 122 000 P.ACZ: 101 123 102 106 040 103 110 124 125 105 101 105 P.ADA: 123 000 127 124 120 124 124 045 P.ACX: 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 .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /0R%/ /N/<00><00> /%AW/ /RIT/ /E-P/ /ROT/ /ECT/ /ED%/ /N/<Q0> /%AD/ /EVI/ /CE / /COM/ /PAR/ /E E/ /RRQ/ /R¥N/ <00><00> /%AD/ /RTA/ /7 ER/ /ROR/ /%N/<Q0> <00> /%AH/ /70817 / BU/ /FFE/ /R A/ /CCE/ /78S / /ERR/ /0Rs/ /N/<00><00> /%AC/ /ONT/ /ROL/ /LER/ / ER/ /ROR/ /9N/ <00> <00> /%AD/ /RIV/ /E E/ /RRO/ /R¥N/ <00> /%AH/ 7081/ /-DE/ /TEC/ /TED/ / WR/ /1TE/ /7-CQ/ /MPA/ VAX 11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD1.SR(;6 SEG 0086 Page 26 N CZRCD1 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 CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 122 105 117 116 045 101 105 124 122 105 105 116 115 123 105 117 111 040 115 116 116 045 040 123 040 066 050 045 000 045 040 103 040 106 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 040 122 045 000 101 111 104 117 105 111 040 10« 105 101 040 122 057 103 115 104 000 101 040 101 045 045 117 116 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 106 114 040 040 103 126 105 040 123 P.ADE: 107 106 040 117 117 101 045 040 040 072 117 101 051 000 P.ADF: 040 040 104 105 116 072 117 101 051 000 P.ADG: 040 P.ADH: 040 101 123 117 072 117 101 051 000 040 040 120 124 125 103 105 045 P.ADI: .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCITM .ASCI. .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII /RE / /ERR/ /0Rs%/ /N/<00> /%AF / /RIL/ /ED 7/ /70 7 /REC/ /EIV/ /E €/ /ND / /MES/ /SAG/ /€ F/ /0R / /71/<57>/70/ / CO/ /MMA/ /NDs/ /N/<Q0> /%A / / / /SA:/ / %0/ /6%A/ /7(0)/ /%N/ <00> <00> /%R / / / /CMD/ / RE/ /F N/ /UM: / / %0/ /6%A/ /7(0)/ /%N/<00> /%R / / / /STA/ /TUS/ /7 CO/ /DE:/ / %0/ /2%A/ 7(0)/ /%N/ <00> /%A / / / /0UpP/ / ST/ /ATU/ 75 C/ /Q00E/ /: %/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB]CZRCD1.SRC;6 SEQ 0087 Page 27 N CZRCO1 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 905570 005573 005576 005601 005602 005605 005610 005613 005616 005621 005624 005626 005631 005634 005636 005641 005644 005647 005652 005654 005657 005662 104 101 116 045 040 123 055 104 040 064 050 045 000 045 040 103 115 104 000 045 061 056 000 101 040 125 103 105 045 045 117 116 101 040 117 101 072 045 045 040 040 102 117 072 117 101 051 000 .ADJ: 040 .ADK: 040 115 116 040 101 124 124 040 101 123 040 114 103 122 .ADL: 045 116 116 000 045 101 114 105 117 111 000 . ADM: 130 125 101 105 105 103 105 125 114 104 122 122 000 . ADN: 123 104 101 000 122 104 .ADO: 105 103 122 110 000 040 120 111 040 117 101 000 045 105 040 124 045 105 000 045 122 105 045 102 120 105 000 045 040 102 124 123 120 105 120 107 115 101 116 104 101 101 101 000 101 111 000 101 117 101 045 000 101 040 101 127 124 .ADP: .ADQ: 055 115 122 116 .ADR: 040 040 .ADS: 104 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 .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII LASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /D1%/ /A.%/ /N/<Q0> /%A / / / /5UB/ /7-C0/ /DE:/ / %0/ /4%RA/ /7(0)/ /7%N/ <Q0> <00> /%A / / / /COM/ /MAN/ /D: / <00»> /%AS/ /ET 7/ /CTL/ /R C/ /HAR/ <00> /%R0/ /NLI/ /NE/ <00> <00> /%AE/ /XEC/ /VUTE/ / SU/ /PPL/ /1ED/ / PR/ /0GR/ /7AM/ <00> <00> /%AS/ /END/ /7 DA/ /TA/<00> /%AR/ /ERD/ <00><00> /%AW/ /RIT/ /E/<Q0> /%A-/ /COM/ /PAR/ /E%N/ <00><00> /%A / / / /BAD/ SEQ 0088 Page 28 USER$1:(AZTEC.CZRCDBICZRCD1.SRC;6 o)) VAX-11 Bliss-16 V4.0-579 CZRCD1 CZRCOBO RC25 DISK EXERCISER PROTECTION TABLE 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 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 040 117 040 120 124 072 104 101 116 045 040 114 072 104 101 116 045 040 102 105 117 124 116 117 101 072 104 101 116 045 040 101 125 040 117 102 105 124 116 105 105 040 065 056 000 045 040 111 040 106 122 105 122 124 072 067 050 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 101 040 057 102 106 040 123 111 117 045 045 117 114 113 105 122 104 045 045 045 000 040 040 116 045 045 P.ADT: 040 040 124 103 116 111 103 P.ADU: 045 115 104 045 045 045 040 040 124 114 040 040 124 040 101 106 122 072 104 1C1 116 P.ADV: 040 940 117 125 105 104 P.ADW: 103 120 122 117 101 051 .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCI1 .ASCII .ASCII .ASCII /7 8L/ /70CK/ / RE/ /POR/ /TED/ /: %/ /D5%/ /R.%/ /N/<Q0><00> /%R / / / /LBN/ /: w/ /D5%/ /R.%/ /N/<00> /%A / / / /8YT/ /€ C/ /0UN/ /T 1/ /N C/ /0MM/ /AND/ /: %/ /05%/ /A . %/ /N/<Q0> /%R / / / /RCT/ /UAL/ / @/ /0F / /8YT/ /€S / /TRA/ /NSF/ /ERR/ /ED:/ / %D/ /S%A/ /.%nN/ <Q0> /%R / / / /71/7¢<57>/0/ / BU/ /FFE/ /R O/ /ESC/ /RIP/ /TOR/ /:%0/ /T1%A/ /7(0)/ VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD1.SRC: 6 SEQ 0089 Page 29 ) CZRCO1 CZRCOBO RC25 DISK EXERCISER PROTECTION TABLE 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 006256 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 14-Jun-1985 09:35:23 14-Jun-1985S 09:28:52 045 045 117 116 045 101 122 040 107 105 101 040 103 126 072 000 045 040 120 124 122 045 045 045 045 040 106 115 072 000 045 040 105 116 103 105 000 045 040 110 124 105 104 122 117 101 051 067 050 045 000 045 045 117 116 045 045 117 101 051 000 116 105 067 050 045 000 045 122 117 114 040 123 107 122 105 105 045 122 117 115 123 105 105 111 104 101 040 114 124 072 104 040 040 101 105 040 063 056 000 040 040 122 124 000 101 116 101 040 117 101 040 P.ADX: 11° 101 040 126 124 117 072 000 101 040 117 040 115 104 072 067 050 045 045 117 116 123 115 040 104 045 045 117 117 101 051 000 117 101 051 000 104 101 063 050 045 000 062 072 P.ADY: P.ADZ: 040 040 105 040 104 040 P.AEA: 040 040 P.AEB: P.AEC: P.AED: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1I .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /%07/ /%AC/ /0)%/ /N/<00><00> /%N / /RER/ /ROR/ /7 LO/ /G M/ /ESS/ /AGE/ / RE/ /CEI/ /VED/ / : 9N/ <00> /%A / / / /PLA/ /TTE/ /R: / /%D3/ /%RA./ /%N/ <00> /%A / / / /FOR/ /MAT/ S /<00 00> /%A / / / /EVE/ /NT / /7C00/ /E: / <00><00> /%R / / /H0S/ /T W/ /EM / /A0D/ / /R:%/ /07%/ /A(0Q/ /7)%0/ /T%A/ /7(0)/ /4N/ <Q0Q> <00> /%03/ /%A / /70)%/ /N/<Q0><Q0> / /%02 /%A:/ VAX-11 Bliss-16 V4.0-579 SEQ 0090 USER$1:(AZTEC.CZRCDBICZRCD1.SRC; 6 Page 30 N CZRCD1 CZRCOBO RC25 DISK EXERCISER v02.0 PROTECTION TABLE 006400 006403 006406 006411 006414 006416 006421 006424 006427 006432 006435 006440 006442 006445 006446 045 045 045 045 040 045 114 124 040 063 056 040 045 000 000000C 006450 172150 006452 000154 006454 000005 006456 000000 006460 006462 000000C 006464 000040 006466 000002 006470 000000 006472 003151 006474 055 006475 000 006476 000020 006500 006540 006542 006544 006546 000000 000000 000310 000330 000420 000422 14-Jun-1985 09:35:23 14-Jun-198S 09:28:52 17mn 171717 1777717 104 101 104 101 000 101 101 105 045 045 040 000 116 062 072 062 040 120 124 122 104 101 055 P.AEE: 000 P.REF: .ASCII .ASCII .ASCII .ASCII LASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII _ASCII .ASCII L$HWLEN: : .WORD HWPT .IP.ADDR:: /%D2/ /%A:/ /%02/ /%R / / /7<00> /%AP/ /LAT/ /TER/ / %D/ /73%A/ /. -/ / /7<00» /%N/ <00> <00> <<L$NDHW-L $HWLEN>/2> -5630 .WORD HWPT.VECTOR: : .WORD 154 HWPT.BR.LEVEL: : .WORD 5 HWPT .PLAT: : .WORD 0 L$NDHW: : .BLKW 1 L$SWLEN: : .WORD <<L$NDSW-L $SWLEN>/2> SWP.ERROR: : 40 .WORD SWP.XFER:: .WORD SWP.STRACK:: .WORD SWP.ETRACK: : .WORD SWP.FLAGS: : .BYTE SWP.DPAT:: .BYTE SWP.UCNT:: .WORD SWP.UDPAT: : BLKW LNDSW: : .BLKW L$PROT : : . WORD WORD WORD PATCH:: .PSECT .BLKW CPT:: .BLKW CST:: .BLKW CST.ADDR:: .BLKW OCT:: .BLKW 2 0 3151 55 20 20 -1 -1 -1 SFFFS, 144 10 34 1 44 RO VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD1.SRC; 6 SEQ 0091 Page 31 N C2RCO1 v0e2.0 000532 000534 000536 CZRCDOBO RC2S DISK EXERCISER 14 Jun-1985 09:35:23 14 Jun-1985 09:28:52 PROTECTION TABLE OCT.ADDR:: BLKW RC2S.ADDR: : .BLKW IRC2S.ADDR:: 000540 001060 001062 001122 001124 001126 001226 .BLKUW RPS.X1::.BLKW RPS.X2::.BLKMW OUTC.LIST:: .BLKW OUTC.TIMR:: 001426 001430 001432 003032 003034 TALLY:: ,BLKW T.ADDR:: .BLKMW MSCP.ENV:: 017634 ENV.USE:: 01777 02274 023034 RETP :: .BLKW KT RP.USE::.BLKW RP.INDX: : 023036 RP . ADDR:: OCL.X1::.BLKMW OCL.X2::.BLKW 100 600 6300 60 1400 20 023040 200 023610 027612 023614 023616 023629 0236c2 s s pa MEM.MGMT -: .BLKB IIP.FLAG:: .BLKB .EVEN CCTLR:: .BLKW CPLAT:: .BLKW CUOFF:: .BLKW CTLR.CNT:: .BLKW DUR: : BLKW - 023607 — 023605 023%606 20 o 023604 40 - 023602 .BLKW I0DQ:: .BLKW I0DQ.IN:: .BLKW I0DQ.0UT:: .BLKW ENTRY . REASON: : .BLKB T.FLAG::.BLKB EOP.FLAG:: .BLKB —t 023540 023600 - 023440 VAX-11 Bliss 16 v4.0-579 USER$1:(AZTEC.CZRCDBICZRCD1.SRC; 6 SEQ 0092 Page 32 (7) C2RCD1 CZRCDBO RC2S DISK EXERCISER 14 Jun-198S 09:35:23 14-Jun 1985 09:28:52 MEM.SIZE:: 0236590 FREE .MEM.ADDR: : QIO : .BLKMW .BLKW BLKW BUFF _SIZE:: I 023652 o T 023642 023646 N, VY PROTECTION TABLE v02.0 - 023654 (S 023656 [ 03600 023674 023676 023700 023702 023704 023706 0237:0 023712 .GLOBL .GLOBL .GLOBL -y 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 002010 000004 000002 000001 001000 002400 BIT15== BIT14=BIT13== B8IT12== BIT1ls=» BIT10== BIT09:== P - BLKW SECONDS: : .BLKMW TICKS:: .BLKW ST.CODE:: .BLKW SB8.CODE: : .BLKW STEP:: .BLKW OF RC.: .BLKW SA.REG::.BLKW .BLKW NEX: : .BLKMW CRN:: 023672 = Pt HOURS:: .BLKW MINUTES:: - 023666 023670 DB Pt b Pt b pud .BLKW CLK.VECTOR:: .BLKMW 023664 [ 023662 LSSOFT, -100000 40000 20000 10000 4000 2000 1000 BIT08== 400 31T07=s 200 100 B8I17T06== BITOS== BIT04:== BIT03== BIT02=» BITO1== B8I100=» BIT9a= BIT8== TsPTHMV, LSRPT, LSINIT LSCLEAN, LSLAST, L$HARD, LS$OVTYP L$DESC, LsDOU, LSAU, LS$AUTO, T1 40 20 10 4 2 1 1000 400 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD1.SRC; 6 SEQ 0093 Page 133 7 CZRCOBO RC25 DISK EXERCISER C2RCD1 v02.0 14 Jun PROTECTION TABLE 040000 100000 000126 006464 006450 000011 000136 000152 000162 000174 000230 002314 000414 000452 000530 003576 000656 000700 009720 000736 001010 001024001100 001144 BIT7:BIT6== BITS== BITa:se BIT3s BIT2ss BITy=s BIT0=+ == EF .START EF .RESTART == EF . CONTINUE =» EF .NEW=+ EF .PUR =+ PRIO7 == PRI06= PRIOS== PRIO4= = PRIO3== PRI02= = PRIOL== PRI0O0== EVi== LOT== ADR== IDU== ISR== UAMs = BOE == PNT== PRI== IXE:: IBE== IER== LOE== 14 -Jun 1985 09:28:52 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 LSERRTBL == 40000 100000 ERRTYP LSHW=- L$SWLEN.2 L$HWLEN.2 HOE == L$DEPD== HW@l=HWQ@-2 HWQ3== HWQ4 == HWQ-S= HWQ6 == SWQL== SWQ@c== SWQR3=s SWQ@S== SWQR6== SWQ8 == SWQ@10== SWQ11== SWQ@12== LSREV.1 . AAA .AAB .AAC .ARD . ARE . ARF . AAG . AAH .AAI .ARJ . AAK . AAL .AAM .AAN .ARQ . AAP .AAQ .AAR VUV UVUVOVOVUVOUVVUVUUVDLDUVUOVDIUOODO 030200 020100 000040 000020 000010 000004 000002 000001 000040 000037 000036 000035 000034 000340 000300 000240 000200 000140 000100 000040 00000C 006004 000010 0€0020 0C0040 000100 000200 000400 001000 002060 004000 010000 020000 1985 09:35:23 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD1.SRC;:6 SEQ 0094 Pege 34 (7) CZRCD1 voe.0 CZRCDBO RC25 DISK EXERCISER 14 -Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 004160 004224 004264 004350 004436 004542 004556 004602 004626 004650 004674 CER. Q1== CER. 02== CER. 03:3 DUM. Q00== DUM. Uc:: DUM. CE== DUM, IE== DUM. HE== DUM, UE== EGS. Q01== EGS. Q2== EGD. 10== EGD. 11 == EGD. 12== EGD. 13== EGD. 14== EGD. 1S== EGD. 16== EGD. 17== EGD. 18== EGD. 19== EGD .20== EGD. 21== EGD. 22== EGH. 30== EBS. 0l== EBD. 10== EBD. 12== EBD. 13== EBD. 14== EBD. 15== EBD. 16== €8D. 17== €BD. EBD. EB0. EBD. EBD. STC. STC. STC. STC. STC. STC. VD VU VD U U 0O U U U U U U U U U U U DU DO UV DVOUVUVUUVUUVVUVUUVVUUVUUVD 003400 003444 003526 003604 003676 003766 004062 NULL == MSG. Q01== MSG. 02== MSG. 03’: MSG. 04== MSG. 0S5== MSG. 06== MSG. 07== MSG. 08== 0 VU U U 001520 001616 001636 001670 001730 001772° 002044 002140 002224 002270 002344 002376 002420 002450’ 002470 002526 002556 0C2576 0C2654" 002714 002740 002766 003014 003052 003104 003122° 003152 003170’ 003210 003234 003260 003306 003332 SWMY == .ARS .ART . ARY . AAV .AAW . ARX . 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 .RBZ .ACA .ACB .ACC .ACD .ACE .ACF .ACG .ACH .ACI .ACJ .ACK .ACL .ACH .ACN .ACO .ACP hCQ \CR .ACS .ACT .ACU .ACV .ACW D0 0 U U U 0 001464 001466 SWQ13=» SW@14== SW@15== VUV VU 001176 021274 001352 001370 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD1.SRC;6 SEQ 0095 Page 35 7 CZRCD1 CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:35:23 14-Jun-1985 09:28:52 PROTECTION TABLE 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’ 005442 006450 006464 STC.06== STC.07== STC.08== STC.09== S7C.10== STC.11== EBH.31== EBH.32== EBH.34== EBH.352= 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 .58== EX. CMD== EX. SCC== £X. ONL == £X. ESP== .SND== .ADK .ADL .ADM . ADN .ADO . ADP .ADQ .ADR .ADS .ADT .ADU .RDV . ADW . ADX .ADY .ADZ .REA .AEB .AEC .AED . AEE . AEF LSHWLEN+2 .RD== .WRT== .CMP== .BB== .LBN== .CBC== .BC== .BD== .EL== .PA== FMT== .EVC== .HMA== E£X. 03== ETIME== PLATT== CRLF == DFPTBL== SFPTBL== PSECT L$SWLEN+2 SUMMARY as @3 as e @ .ACX .ACY .AC2Z . ADA .ADB .ADC .ACS .ACT .ACV .ACW .ACX .ACY .ACZ . RDA .ADB .ADC .ADD .ADE . ADF .ADG . ADH .ADI .ADJ VUV VOOV OOV VUVDODUVUVUVIVUVUDUUVUOUUOD 034724 004750 005002 005022 005060 VO UV UV UV V0V 00O U U VU VU U U v02.0 Psect Name $CODE'$ $SFFF$ Words 1716 5094 Attributes RO, I RO, I , , LCL, LCL, REL, REL, CON CON VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB]CZRCD1.SRC;6 SEQ 0096 Page 36 ) CZRCD1 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:35:23 PROTECTION TABLE 14-Jun-1985 09:28:52 SEQ 0097 Page 37 USER$1:(AZTEC.CZRCDBJCZRCD1.SRC;6 o)) VAX-11 Blies-16 V4.0-579 Library Statistics ; : ; ---- File Total USER$1:[AZTEC.CZRCDBICZRCOL.L16;6 276 -- Symbols -- ----Loaded Percent 138 50 COMMAND QUALIFIERS : BLISS/PDP11 CZRCD1.SRC/LIST/EN:NOEIS Size: Run Time: 0 code Elepsed Time: Lines/CPU Min: Lexemes/CPU-Min: Memory Used: + 6810 data words 00:58.9 00:59.9 1938 13067 258 pages Compilation Complete Pages Processing 16 00:00.2 Mapped Time CZRCD2 : : : 0001 0002 0003 O O 0 MCDULE CZRCD2 ( STITLE 'CZRCDBO RC2S DISK EXERCISER' H : H H : : H : 0004 0005 0006 0007 0043 0044 0045 Oggg O 0O 1 1 1 | 1§ 1 ADDRESSING _MODE (ABSOLUTE) ) = H H : : : : H : H ; : H : H : : H H : 1536 1537 1538 i539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 H 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 IDENT BEGIN = 14-Jun-1985 09:36:36 VAX-11 Bliss-16 V4,0-579 14-Jun-198S 09:32:03 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC:8 'v02.0', #SBTTL ‘DECLARATIONS' LIBRARY REQUIRE 'CZRCOL'; 'BLSMAC.REQ'; ! ! RC25 EXERCISER GLOBAL LIBRARY DIAGNOSTIC SUPERVISOR LIBRARY FORWARD ROUTINE NEX_TRAP : L$ISR NOVALUE, CLIC INT_SERV : LS$SISR NOVALUE, EMS_01 : NOVALUE; EXTERNAL PATCH : VECTOR [100, WORD], ! PATCH AREA CPT : VECTOR [MAX_UNITS, BYTE], ' CURRENT PASS TESTING (YES 7 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 DCT : 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 RC2S FIELD (RC_REG), DEVICE ADDRESS OF "CURRENT*” CONTROLLER SEQ 0098 Page 1 (1 U, U U Yy SOy ol o T o e e e e e e e el el 1562 1563 1564 1565 1566 1567 1568 1569 1570 15711 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 Ll d el e 1555 1556 1557 1558 1559 1560 1561 IRC25_ADDR : REF RC25 FIELD (RC_REG), ODEVICE ADDRESS OF INTERRUPTING CONTROLLER OM_COMM : BLOCKVECTOR (MAX_CTLR, DMC_LEN, WORD] FIELD (DMC_FIELDS), OM EXERCISER COMMUNICATION AREA (LINK TO FRONT PANEL TEST) OMC_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 QUTSTANDING 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] RETURN PACKET POOL RP_USE : VECTOR [RP_CNT, BYTE, FIELD (RP_FIELDS), SIGNED], RETURN PACKET POOL ALLOCATION TABLE RP_INDX : WORD, RP_ADDR : REF BLOCK [RP_LEN, WORD] FIELD CURRENT RETURN PACKET ADDRESS ! CURRENT RETURN PACKET INDEX (RP_FIELDS), SEQ 0099 CZRCD2 v02.0 : 1588 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1 : BLOCKVECTOR [MAX_BUF CNT, 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 H i 1606 1607 1 1 QI0 : VECTOR {MAX CTLR, MEM_SIZE : WORD, 1609 1 BUFF _SIZE 1602 i603 1604 1605 1 1 1 1 H 1608 i : : : 1610 1611 1612 1613 1 1 1 1 ; 1615 1 H : i H : : i : H ; i i H : : H i H : i : i ; : i i H H H : : 1614 1616 1617 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 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 ! BUFF _DESC H : : ; : H : : : : ; : H H i : H 1 1 1 1 1 1 1 1 1 1 1 1 1 14-Jun-198S5 09:36:36 14-Jun-1985 09:32:03 DESC_LEN, VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB )JCZRCD2.SRC;8 WORD] FIELD (BD_FIELDS), TABLE OF I/0 BUFFER DESCRIPTORS BUFF _OWN : VECTOR (MAX_BUF _CNT, BYTE, SIGNED], 1/0 BUFFER OWNERSHIP (CONTROLLER NUMBER) I0DQ : VECTOR (IODQ_LEN, BYTE], I/0 DONE QUEUE - CIRCULAR QUEUE OF RETPKT INDECES IODQ_IN : WORD, ! I/0 DONE QUEUE IN POINTER IODQ_OUT : WORD, ! I/0 DONE QUEUE OUT POINTER ENTRY_REASON : BYTE, ! HOW CURRENT PASS WAS INVOKED T_FLAC : 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, CUOFF : WORD, CTLR_CNT : WORD, OUR : VECTOR [MAX_UNITS, FREE_MEM_ADDR, NUM_BUFF CLK_TYPE CLK_HERTZ CLK_CSR, : : : : CLK_VECTOR, WORD, WORD, WORD, WORD, HOURS : WORD, MINUTES : WORD, SECONDS : WORD, TICKS : WORD, ST_CODE : WORD, S8_CODE : WORD, STEP : WORD, OF _RC : SIGNED WORD, SA_REG : WORD, NEX : WORD, CRN : WORD, HWQ1, HWQ2, HWQ3, HWQ4, HWQS, HWQ6, SWa1, SWaz, SWQ3, SWa4, SWQS, SWa6, SWaz, SWQs, SWQ9, S5WQ10, SWall, SuWaQ1e, BYTE], BYTE], ! ! ! ! CURRENT PLATTER ADDRESS {(MSCP UNIT NUMBER) CST OFFSET FOR CURRENT UNIT TOTAL NUMBER OF CONFIGURED CONTROLLERS DROP UNIT REASON ! START OF FREE MEMORY BELOW 28K ! ! ! ! NUMBER OF I/0 BUFFERS TYPE OF CLOCK ON SYSTEM (0 = NONE, -1 = L CLOCK, CLOCK HERTZ RATE ! NUMBER OF OUTSTANDING QIOS PER CONTROLLER ! AVAILABLE MEMORY (IN WORDS) UP TO 28K ! ! SIZE (BYTES) OF AN I1/0 BUFFER 1 = P CLOCK) CLOCK CSR ADDRESS ! CLOCK VECTOR ADDRESS ! ELAPSED TIME - HOURS, ! MINUTES, ! SECONDS, ! TICKS ! CURRENT STATUS CODE ! CURRENT SUB-CODE ! CURRENT STEP IN HARD_INIT ! OFFSET (O 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 SEQ 0100 Page 3 (2) CZRCD2 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 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 b s b b A e (e (b b o b 8 b b et ek 8 A b ot P bt e b pd 8 b (e b b b b b b b b b P 1€ i6 1647 P01 et s et h e et (e 1645 s b (b n b b b et b b v02.0 SWQLs, SWQ14, SWais, 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, E£GS_02, €BS_01, €80_10, eEsD_12, EBD_13, EBD_14, EBD_15, £EBD_16, EBD_17, E8D_18, g€8D_19, €80_20, €BD_21, eBD_22, EBH_31, EBH_32, EBH_34, €BH_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_s8, EX_CMD, EX_SCC, EX_ONL, EX_ESP, EX_SND, EX_RD, EX_WRT, EX_CMP, Ex_B8, 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 Page 4 (2) CZRCD2 v02.0 1704 1705 1719 1720 1721 1722 1723 1724 1725 1726 1727 PLATT, ) Y T Y Oy O U CRLF, SWP_ERROR : WORD, SWP_XFER : WORD, SWP_STRACK : WORD, SWP_ETRACK : WORD, SWP_FLAGS : BYTE, L $LUN, LSUNIT; el el el ol ol ek i 1716 17117 1718 USER$1:[AZTEC.CZRCOB)JCZRCD2.SRC; 8 #SBTTL ' TYPE AND DESCRIPTION' EQUALS; e ' ! THE TEXT WHICH APPEARS IN THESE MACROS IS DISPLAYED TQ THE USER WHEN THE DIAGNOSTIC IS FIRST LOADED AND RUN. e 1715 VAX-11 Bliss-16 v4.0-579 L e e e 1706 1707 1708 1709 1710 1711 1712 1713 1714 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 EX_CBC, Ex_8C, EX_80, ExX_03, ETIME, N 1702 1703 CZRCDOBO RC25 DISK EXERCISER DECLARATIONS DEVTYP (%ASCIZ'SINGLE RC25 PLATTER'); ! "UNIT IS SINGLE RC25 PLATTER” DESCRIPT (#ASCIZ'RC25 DISK EXERCISER'); ! TEST DESCRIPTION SEQ 0102 Pa ge S (2) CZRCO2 CZRCDOBO RC25 DISK EXERCISER |[V— 1745 1746 1747 1748 1749 VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:32:03 USER$1:[AZTEC.CZRCDB ]JCZRCD2.SRC; 8 'HARDWARE PARAMETER CODING SECTION! ¢ THE HARDWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO BUILLC "ABLES. THE MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BU +RE INTERPRETED 8Y THE SUPERVISOR AS DATA STRUCTURES. THE MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS WITH THE OPERATOR, v v o #SBTTL ‘et b Pt (b i Pt i Pt b b el b b Pt b Pt pi Pt pb b b 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 HARDWARE PARAMETER CODING SECTION 0 D W B WY We We BI B Ve BF Ge TS W W B ®E e G We We ®F W @ v02.0 14 Jun-1985 09:36:36 BGNHRD; GPRMA GPRMA GPRMD GPRMD GPRML XFERF (HWQ1, O, O, %0'160000‘', %0'177777‘, YES, 1); (HWQ2, 2, 0, %0’'4’', #0'774', YES, 1); (HWQ3, 4, O, %0'177777', #0'4’', #0'7', YES, 1); (HWQ4, 6, D, %0'377', #DECIMAL'O', #DECIMAL'253', (HWQS, 6, %0°'100000‘, NO, 1); (HWDONE); GPRML (HWQ6, $L (HWDONE); ENDHRD; 6, %0’'100000', NO, 1); ! IP ADDRESS ! VECTOR ! BR LEVEL YES, 1); ! PLATTER ADDRESS ! WRITE ON CUST DATA AREA ! ! NO - DONE «& WARNING / CONFIRM SEQ 0103 Page 7 (4) CZRCD2 CZRCDBO RC25 DISK EXERCISER SOFTWARE PARAMETER CODING SECTION 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCOB JCZRCD2.SRC; 8 > '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. L L KT T sy #SBTTL GPRMD GPRMD GPRML GPRML (Swa1, (swaz, ®EO®MNLO BGNSFT; D, #0'177777', O, #0'177777', 0, 65535, 0, YES, 65535, 1): YES, 1): ! ® & e L D® (SwWQ3, SWF_SEL, YES, 1); (SWQ4, SWF_OM, YES, 1); XFERT (SW3); GPRML (SWQ5, SWF_RDM, YES, 1); GPRMD (SWQ6, 0, #0'177777', 0, MAX_TRACK, YES, 1); GPRMD (SWQ7, D, %0'177777', GP$ATLOC4), MAX_TRACK, GPRML (swaQs, SWF_CRC, YES, 1); DISPLAY (SwWM1); GPRML (SWQ9, 8, SWF_W0, YES, 1); GPRML (SWQ10, 8, SWF_CWC, YES, 1); XFERT (SW1); GPRML (SWQi1l, $L rSW1); 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 1] -« 0 e (e b (b e b (b o bt fh (e e e b h b b b e e b (b i et s 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 0 10 40 10 0 10 1 et et et S P .-...o.o.t...n...0.......-.-...-..“.‘“.-.....t...-.o...-.‘“.'.fl.o“.n.cMQQ v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 i ! SWF_HWC, YES, 1); t GPRM. (sldui2, 8, XFERT (SW2); GPRMD (SWQ13, 8, SWF_UDP, YES, 1); ! ! ! ! ENDSFT; 10, 12, D, 0, 0, #%0'177400', #0'177777', %0'177777', O, 1, O, DP_CNT, YES, MAX_UDP _CNT, %0'177777', 1); YES, NO, WRITE ONLY WRITE-COMPARES AT CONTROLLER IF YES, SKIP NEXT QUESTION CHECK WRITES AT HOST BY READING ' 8, XFER (SW4); L (SW2); GPRMD (SWQ14, GPRMD (SwWQ1is, sL (SW3); sL (SW4); REMAINING QUESTIONS ONLY APPLY ! ! USER-DEFINED DATA PATTERN IF YES, SKIP NEXT QUESTION SEhECT PRE-DEFINED DATA PATTERN 00 1); 10); ... ! ! NO. OF WORDS IN USER DATA PATTERN PATTERN VALUES SEQ 0104 Pege (S) e 4o (b 4t gt bt oo puo 4SBTTL O RO N PN RI N R M RO R REPORT CODING SECTION BGNRPT; REPORT CODING THE REPORT CODING SECTION CONTAINS ‘PRINT” OR BY BIND SR_HD = UPLIT SR_ET = UPLIT THE PROGRAM MACRO 14-Jun-1985 09:32:03 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC; 8 THE 'PRINTS” (wASCIZ'®AELAPSED TIME: UPLIT CALLS THAT GENERATE (WASCIZ'SNWA---- NO. SUMMARY REPORT ®D2%A:%D2%A:%D2%N’), READS (K=1000) -----ooo NO. WRITES (K=1000) MBYTES READ -ooooo. oo MBYTES WRITTEN .o..l. sisssnasnssssssssssseN'), NO. HARD ERRORS Lol NO.'), ERROP'), LOGS' ), 00T o), R ORI NI SR_UN = UPLIT («ASCIZ'#N%D3' ), SR_LO = UPLIT (wASCIZ'wD9%A '), SR_HI = UPLIT (wASCIZ'¥D9%AK' ), SR ML = UPLIT (#ASCIZ'«%D9D8%D9%D7"' ), SR_EH1 = UPLIT (SASCIZ'#NN®AN SYMBOL ECC ERRORS:®N'), SR_EH2 = UPLIT (SASCIZ'%NsA ECC'), SR_EM3 = UPLIT (WASCIZ'SNAUNIT FIELD N= N= N= N=* N= N2 Nz SR_EH4 = UPLIT (SASCIZ'#N®A NO. ONLY 1 2 3 4 5 6 7 SR_EMS » UPLIT (WASCIZ'MNSA----o-oo oo ciiio iioin ooen aioen oial ...l SR_EL1 = UPLIT ($ASCIZ'%NsD3%D8%D7%D7%07*), SR_EL2 = UPLIT (®ASCIZ'%D74D7%D7%D7%D7"), SR_DH1 = UPLIT (SASCIZ'sN®A NO. NO. NO. '), SR_DH2 = UPLIT (#ASCIZ'SNAUNIT READS WRITES ~ SEEKS MBYTES MBYTES NO. HARD SR_DH3 » UPLIT ($ASCIZ'#NsA NO. (K=1000) (K=1000) (K=1000) READ WRITTEN ERRORS SR DH4 SR_OL OWN = UPLIT = UPLIT (WASCIZ $NWA---- ---cooeo couoiois oiiiice ! moanlo e NCVALUE ADDR OF LOW-ORDER FIELD OF I/0 COUNT = * : aoioon (%ASCIZ %D9%D8%D10%D10" ); ADDR _LO; ROUTINE HI_LO 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 BEGIN LOCAL ADDR _HI; ADDR_HI = _ADDR_LO IF . .ADDR_HI EQLJ O THEN - Page "DORPT”, (SASCIZ 'dNMAsssssssssssesdssassss SR_MM2 = UPLIT (WASCIZ'SNWAUNIT SR_MH3 » UPLIT (®ASCIZ‘'®N®A NO. = VAX-11 Blies-16 V4.0-579 THIS SECTION IS EXECUTED BY THE OPERATOR COMMAND SR_MH1 = UPLIT (#ASCIZ'%N®A SRMHA SEQ 010S 14 Jun-1985 09:36:36 SECTION' STATISTICAL REPORTS. R L L R N PV L AL R W D PO AU U1V D D U N U O AL 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 18:0 1812 1812 i813 1814 1815 1816 1817 1818 819 1820 1821 1822 1823 1824 1825 1826 827 1828 1829 1830 1831 1832 1833 1534 1335 1836 1837 1838 1839 1840 1841 1842 1843 1844 1545 CZRCDBO RC2S DISK EXERCISER O W G G o W @2 B0 B0 L 05 B8 0F 08 @0 O B0 08 BF B0 90 G5 ¢ 05 B0 G B8 V0 TE S0 Br G G G @4 L O B4 G0 B0 G0 GF G S2 G0 BE TS GF O B9 G0 G0 G0 G2 G0 GF G¢ 5 B0 O Ge Gs G CZRCD2 v02.0 2; ! ADDR OF HIGH-ORDER FIELD OF ! GET HIGH-ORDER FIELD ADDRESS ! ! IF HIGH-ORDER FIELD IS ZERO THEN I/0 COUNT il N=), 8. Lo_.- N, NO. SOFT'). ERRORS' ), llocaenl W), 9 (6) <RCD2 v02.0 : H 3 : : CZRCDBO RC2S DISK EXERCISER REPORT CODING SECTION 1846 1847 1848 1849 1850 4 3 g ELSE 2 END; PRINTS (SR LO, ..ADDR_LO) PRINTS (SR _HI, ..ADDR HI); 14 Jun-198S 09:36:36 14-Jun-1985 09:32:03 ! PRINT LOW-ORDER FIELD ! OTHERWISE ! PRINT HIGH JRDER FIELD ( THOUSANDS) ! ROUTINE HI LO .TITLE LIDENT .ENABL 000000 000000 123 111 116 .PSECT L$OVTYP: : 0C0003 000006 000011 000014 107 040 062 120 114 122 065 114 105 103 040 101 .ASCII .ASCII .ASCII LASCII .ASCII 000017 000022 000024 000C26 000031 124 i2e 124 000 105 122 065 111 040 105 111 122 103 040 123 105 122 103 000 062 104 113 130 103 105 v 000034 000037 000042 000045 000050 000052 002054 000000C 000056 000060 000062 000064 000066 000070 000072 000C74 000076 000100 000102 000104 00C106 000110 000112 000114 000116 000120 000122 000124 000126 000130 000132 000134 00,136 000031 000000G 160000 177777 001031 000000G 000004 000774 002032 000000G 177777 000004 003007 003052 0000005 000377 000000 000375 003120 0000006 100000 000007 003120 0000006 100000 VAX 11 Bliss-16 V4.0-579 USERS$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 .ASCII LASCII .BLkB L$DESC:: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .BLKB L$HROLN: : .WORD GPs1:: .WORD .WORD .WORD .WORD GPs2:: .WORD .WORD .WORD .WORD GP$3:: .WORD .WORD .WORD .WORD .WORD GP$4:: _WORD .WORD .WORD .WORD .WORD GP$5:: .WORD .WORD .MORD $HWOONE: .WORD GP$6:: .WORD .WORD .WORD CZRCD2 CZRCDBO RC2S DISK EXERCISER /v02.0/ AMA $CODEs, RO /SIN/ /GLE/ 7 RC/ 725 / /PLA/ /TTE/ /R/<00> 2 /RC2/ /5 D/ /ISK/ 7 EX/ /ERC/ /ISE/ /R/<00> 2 <<<LSNDHRD-L $SHRDLN>/2>-1> 3% HWQ1 -20000 1 1031 HWQ@2 4 774 2032 HWQ3 -1 4 7 3052 HWQ4 377 O 375 3120 HWQ5 -100000 << << $LHWDOONE - SHWDONE »>4400> +4>+40> 3120 HWQ6 100000 SEQ 01906 Page 10 (6) CZRCD2 CZRCDBO RC2S DISK EXERCISER v02.0 000140 REPORT 031004 14-Jun-198S 09:36:36 14-Jun 1985 09:32:03 CODING SECTION $L HWDONE: LSNDHRD:: 000142 000144 000000C L$SFTLN:; 000146 000150 000152 000154 000156 0C0160 000162 000164 000052 000000G 17777 000000 GPs7:: 00C166 000170 000172 000174 000176 000200 ~ 9202 04 0uw206 000210 000212 000214 000216 000220 000222 000224 1°7777 001052 0000006 177777 000000 177777 004130 0000006 000001 004130 0000006 GP$9:: GP$10:: 000002 000232 000234 000236 000240 000242 000244 000246 000250 000252 000000C GC4130 0C0000G 000004 002052 0000006 177777 000000 003151 003452 000000G 177777 000002 003151 000001 004130 0000006 000010 000003 000254 000256 000260 000262 000264 000266 000270 000272 000274 000276 000300 000302 0003C4 0003C6 000319 0000006 004130 002000G 000020 004130 0000006 000040 000000C 004130 0020006 000100 001004 004130 0000006 000200 000226 000230 GPs8:: $SW3: GPsi1:: GPs12:: GP$13:: GPs14: : GP$16:: $SWL: GP$17:: SLSWL: GP$18:: 1004 BLKW 1 .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 GPSDISP:: GP$15:: WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD << $NDSFT-L$SFTLN>/2> 1> €< <<$LSWI-$SW3>2400>+4>+.20> 4130 SWQS 4 2052 SWQR6 -1 0 3151 3452 SWQ7 -1 2 3151 1 4130 SWQ8 10 3 SWM1 4130 SWQ9 20 4130 SWQ10 40 C<<<$LSW1-$SW1>4400>¢4>+20> 4130 SWQ1ll 100 1004 4130 SwWQ1le2 200 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB ICZRCD2.SRC; 8 SEQ 0107 Page 11 (6) - C2RCD2 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 030000C 034052 $SW2: .WORD .WORD .WORD .WORD .WORD .WORD $SW4 : .WORD $LSW2: .WORD GP$20:: .WORD .WORD .WORD .WORD .WORD GPs21:: .WORD .WORD .WORD .WORD .WORD .WORD $LSW3: .WORD $L.SW4: .WORD L$NDSFT: : BLKW ADDR.LO:. BLKW 0000006 177400 000000 000025 000000C 001004 005052 0000006 177177 000001 000020 006222 0000006 177777 000000 177777 000005 001004 001004 000006 TM 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 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 SECTION GP$19:: 000366 000000 000000 000003 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 116 052 052 052 052 052 052 052 040 045 052 052 052 052 0Se 052 052 123 125 040 101 040 115 040 040 040 120 040 124 052 052 052 052 052 052 052 116 101 101 105 040 105 040 122 040 352 052 052 052 052 052 052 000 105 120 104 040 P.AAR: 131 P.AAB: .PSECT .ASC1I .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII cccc s SW2-8SW2>2400>+4>+20> 4052 SWQ13 -40C 0 25 <c¢$LSWE-$SUE>2400>+4> 1004 5052 SWQ14 -1 $PLITS, /%N / /Aas/ /4as/ /hsk/ /hk&/ /ad/ /hks/ /adn/ /% S/ /7 v/ /M M/ / A/ /R Y/ / / /R E/ / P/ /0 R/ /771 / /adn/ /akd/ /eks/ /ahs/ /aas/ /hkk/ /ass/ /79N/ <Q0> /%AE/ /LAP/ /SED/ RO, O VAX-11 Bliss 16 V4.0-579 USER$1:[AZTEC.CZRCOB)CZRCD2.SRC; 8 SEQ 0108 Page 12 (6) CZRCD2 v02.0 000146 000151 000154 000157 000162 000165 000170 000173 000176 000201 000204 000207 000212 000215 000220 000223 000226 00C231 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 he 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 REPORT CODING SECTION 040 115 040 104 101 104 101 104 116 045 101 040 040 116 040 040 040 056 040 040 040 040 040 040 040 040 056 040 117 045 101 111 040 105 123 040 127 124 040 115 124 040 102 105 040 110 104 040 122 000 045 101 117 040 075 060 04cC 124 105 040 062 072 062 972 062 000 116 040 040 040 117 040 040 116 040 040 040 040 040 040 040 040 116 040 040 056 116 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 111 072 045 045 045 045 045 045 000 045 040 040 040 056 040 040 P.AAC: 117 040 040 040 040 040 040 040 040 117 040 116 000 045 P.AAD: 116 040 122 104 040 040 111 123 040 131 123 115 124 LASCII .ASCII .ASCII 040 040 122 940 122 122 045 116 040 113 060 051 050 .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII P.AAE: .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /7 11/ /ME:/ / %/ 1D2%/ /R :%/ /02%/ /A : %/ /D2%/ /N/7<Q00><00> /%N / /AR / NN NN NN NN NNNNNNNYNNN Zz r4 = o o . o NNNNNNNNNNNNNSNNNN 000127 000132 000135 000140 000143 CZRCDOBO RC25 DISK EXERCISER N/ /0.7<00> /%N / /AUN/ /IT 7/ / R/ /EAD/ s 7/ / / /WRI1/ /TES/ / / /MBY/ /TES/ / M/ /8YT/ /ES 7/ / / /HAR/ /0 7/ / ER/ /R0OR/ <00><00> /%N / /R N/ /0. 7/ / (K/ /=10/ /700)/ / (7 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD2.SRC;8 SEQ 0109 Page 13 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER 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 14-Jun-1985 09:36:36 REPORT CODING SECTION 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 000 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 000 104 101 000 104 104 104 104 000 116 045 040 115 114 103 105 117 072 14-Jun-1985 09:32:03 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 071 040 P.AAG: 071 113 P.AAI: 071 070 071 P.AAJ: P.AAH: 067 045 101 123 102 040 103 122 122 045 P.AAK: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCIX .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASC1I .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCIIX .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /K=1/ 7000/ 7) 7/ / RE/ /RD / / W/ /RIT/ /TEN/ / E/ /RRO/ /RS / / Lo/ /GS/<00> /%N / /A--/ /-- / 7/ -~/ /---/ /---/ / -/ /---/ /---/ /7/ /---/ /-=--/ / -/ /---/ /---/ / -/ /---/ /--/ / --/ /--=/ /9N/<00> <Q0> /%N / /D03/<00> /%D9/ /%A / <00><00» /%09/ /%AK/ <00><00> /%09/ /%08/ /%D9/ /%077 <00><00> /%N / /N%A/ /N S/ /YMB/ /0L / /ECC/ / ER/ /ROR/ /S:%/ VAX-11 Bliss-16 v4.0-579 USER$1:TAZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0110 Page 14 (6) CZRCD2 vV02.0 040 040 040 040 040 040 063 040 040 040 040 040 040 066 040 040 040 040 000 045 101 000 116 040 040 040 103 000 045 040 040 105 000 116 125 124 106 114 040 040 040 116 040 040 075 040 040 045 116 040 111 104 040 075 040 040 040 116 040 116 040 040 075 040 040 040 116 000 116 040 056 040 114 040 061 P.AAL: P.AAM: 040 040 075 040 040 040 116 040 040 075 040 040 000 045 116 040 117 131 040 040 P.AAN: 040 040 040 040 040 040 040 064 040 040 040 040 040 040 067 040 040 062 040 040 040 040 040 040 065 040 040 040 040 040 040 070 116 055 045 055 P.AAO: .ASCII .ASCII .ASCII .ASCII .ASCII1 .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 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /N/<00><00> /%N / /A / / / / E/ /CC/<00> <00> /%N / /AUN/ /1T 7 / F1/ /ELD/ /N =/ /7 " 116 045 101 040 040 103 000 045 101 111 040 105 040 116 040 040 075 040 040 040 116 040 040 075 040 040 040 116 040 040 075 045 101 117 040 116 14-Jun 1985 09:36:36 14-Jun-198 1} o z 000647 000652 000655 000660 000663 000666 000671 000672 000675 000700 000703 000706 000711 000714 000717 000722 000725 000730 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 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION 1/ SEQ 0111 Page 15 USER$1:[AZTEC.CZRCDB)CZRCD2.SRC; 8 (6) VAX-11 Bliss 16 v4.0-579 CZRCD2 voe.o 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 CZRCDBO RC25 DISK EXERCISER REFORT CODING SECTION 055 040 055 040 055 055 055 055 C40 055 040 055 055 055 055 040 055 040 055 055 055 055 116 045 104 104 104 104 104 045 045 045 045 045 000 045 101 040 040 116 040 040 040 056 040 040 117 045 101 111 040 105 123 040 127 124 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 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 P.AAP: 067 P.ARQ: 104 104 104 104 067 067 067 067 116 040 040 040 117 040 040 116 040 040 040 056 116 125 124 040 101 040 040 122 105 040 045 040 040 040 056 040 040 117 040 040 116 000 045 116 040 122 104 040 040 111 123 040 P.AAR: P.AAS: 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCIX .ASCII .ASCII .ASCII .ASCI1 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .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> /%Ns/ /D3%/ /08%/ /D1%/ /07%/ /07/<00> /%D7/ /%077 /%077 /%077 /%D7/ <00> /%N / VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB]ICZRCD2.SRC; 8 SEQ 0112 Page 16 (6) CZRCD2 vV02.0 001266 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 00.610 001613 001616 001621 001624 001627 001632 CZRCDBO RC25 DISK EXERCISER 14 Jun-1985 09:36:36 14-Jun-1985 09:32:03 REPGRT CODING SECTION 040 105 040 040 131 123 115 124 040 116 040 122 040 056 117 00C 045 101 117 040 075 060 040 113 060 051 050 061 060 040 105 040 127 124 116 040 122 123 040 122 122 000 045 101 055 040 055 055 040 055 055 055 055 055 055 040 055 123 113 040 115 124 040 102 105 040 117 110 104 116 040 106 116 040 056 050 061 060 040 075 060 040 113 060 051 040 101 040 122 124 040 105 117 040 040 122 123 116 055 055 055 055 055 040 0S5 055 040 055 055 055 055 055 105 123 040 102 105 040 131 123 040 056 101 040 117 123 124 045 116 P.AAT: 040 113 060 051 050 061 060 040 075 060 040 122 104 040 111 105 040 122 122 040 105 117 000 045 055 040 055 055 055 055 055 055 040 055 055 040 055 0S5 P.AAU: .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 .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/ / /S /MBY/ /TES/ / / /NO./ / HA/ /RD 7 / NO/ /. S/ /0FT/ <00> /%N%/ /R N/ /70. 7/ / (K7 /=10/ 700)/ /7 (/ /K=1/ 7000/ /) 7/ /(K=/ 7100/ /70) 7/ / R/ /EAD/ / / /WRI/ /TTE/ /N / / ER/ /ROR/ 7/ /8 / E/ /RRO/ /RS/<00> <00> /%N / /A--/ /--/ / --/ /---/ /---/ / -/ /-=--/ /---/ // [/-=--/ /---/ /-- 7/ / -~/ /---/ VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD2.SRC; 8 SEQ 0113 Page 17 (6) CZRCOD2 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:36:36 REPORT CODING SECTION 001635 001640 001643 001646 001651 001654 001657 001662 001665 001670 001673 055 055 055 055 055 055 055 040 055 055 045 040 055 055 040 055 055 055 055 055 055 116 040 055 055 040 055 055 040 055 055 055 000 001676 001701 001704 001707 001712 001715 045 045 045 060 061 000 104 104 104 045 060 071 070 061 104 000 P.AAV: 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC; 8 .ASCII .ASCII .ASCII ASCII .ASCII .ASCII .ASCII .ASCII ASCII .ASCII .ASCII // /---/ /---/ // /---/ /---/ /-- / / --/ /---/ /---/ /%N/<00> .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII /%D9/ /%D8/ /%D1l/ /0%D/ /10/<00> <00> .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL PATCH, CPT, CST, CST.ADDR, DCT DCT.ADDR, RC2S.ADDR, IRC25.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 .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 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, HWQ5, HWQ6, SWQl, SWQ2, SWQ3 SWQ4, SWQRS, SWQ6, SWQ7, SWQ8, SWQ9 SWQ10, SWQil, SWQ12, SWQ13, SwWQ14 SWQ1S5, SWM1, MSG.01, MSG.07, CER.O1 CER.02, CER.03, DUM.00, DUM.UC DUM.CE, DUM.IE, DUM.HE, DUM.UE €GS.01, EGS.02, 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, 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, €X.BD, EX.03, ETIME PLATT, CRLF, SWP.ERROR, SWP.XFER SWP.STRACK, SWP.ETRACK, SWP.FLAGS LS$LUN, LSUNIT .GLOBL IODQ.IN, IODQ.OUT, ENTRY.REASON SEQ 0114 Page 18 (6) CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 REPORT CODING SECTION 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 0C0400 001000 002000 004000 010000 020000 040000 100000 000056 000146 000000° 000116 BITi5== BIT14== BIT13== BITi2== BIT11i== BIT10== B8IT09== BITO8== B8IT07== BIT06== BITOS== 8IT04== BIT03s= BITO2== BITOls== BITO0== B8IT9== BIT8== BIT7== BIT6== BITS== BIT4== BIT3a= BIT2== BITi== B8ITO== EF .START == EF .RESTART== EF .CONTINUE== EF .NEW== EF .PWR== PRIQO7== PRIO6== PRIOS== PRIO4== PRIO3== PRIO2== PRIO1== PRIOO== EVL== LOT== ADR== IDU== ISR== UAM== BOE== PNT== PRI== IXE== IBE== IERa= LOE== HOE== L$HARD== L$SOFT== SR .HD= SR.ET= -100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 1000 400 200 100 40 20 10 4 2 1 40 37 36 35 34 340 300 240 200 140 100 40 G 4 10 20 40 100 200 400 1000 2000 4000 10000 20000 40000 -100000 L$HRDLN+2 L$SFTLN.2 P.AAA P.ARB VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0115 Page 19 (6) CZRCOBO RC2S DISK EXERCISER voe2.0 REPORT CODING SECTION 020162 000256 000354 000450 000550° 000556’ 000566 000576 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= SR.DH1= SR.DH2= SR.DH3= SR.DH4= SR.DL= 000614 000652 000672 001002 001110 001222 001244° 001264 001330° 001444° 001560 001676° ; Routin e Size: 000366 000002 HI.LO: 177756 000556 000002 1¢: 000566 000002 000006 25 words, nRNnwwhvovO N 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 Routine Base: invocation: 5 words MOV ADD TST BNE MOV MOV MOV MOV ADDR.LO,RO #2,R0 (RO) 1 8ADDR.LO, -(SP) #SR.LO,-(SP) #2,-(SP) SP,RO TRAP 16 : REF BLOCK [TALLY_LEN) PRINTS (SR_HD); PRINTS (SR_ET, .HOURS, IF BIT_TST (SWP_FLAGS, THEN $CODES$, SEQ 0116 Page 20 (6) RO &,ADDR.HI *,ADDR.HI ADDR.HI : ;i ; ADDR.HI, MOV TRAP ADD RTS SP,RO 16 #6,5P PC ; SP,s H : + 0370 - MAINLINE CODE FIELD (T_FIELDS); .SECONDS);: t'orensnvnnnnsnnagtensny ! 1844 SP,» ; (RO),-(SP) #SR.HI,-(SP) #2,-(SP) 1843 1846 2% $CODE$ .MINUTES, SWF_DM) ; ; ; B8R trrrertanrrr ety REPORT CODING SECTION LOCAL TA USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 HI.LO REPORT CODING SECTION MOV MOV MOV 2$: t Maximum stack depth per 14-Jun-1985 09:32:03 .SBTTL .PSECT 013700 062700 005710 001011 017746 012746 012746 010600 104416 000407 011046 012746 012746 010600 104416 062706 000207 VAX-11 Bliss-16 V4.0-579 P.AAC P.ARD P.ARE P.AAF P.AAG P.AAH P.AAI P.ARJ P.AAK P.AAL P.AAM P.AAN P.ARO P.AAP P.AAQ P.AAR P.ARS P.AAT P.AAU P.AAV 000370 000000 000004 000010 000012 000014 000020 000024 000030 000032 000034 000036 000040 000044 000050 000052 000054 000060 14-Jun-1985 09:36:36 -t CZRCD2 ADDRESS OF A UNIT'S TALLY BLOCK SUMMARY REPORT HEADER ELAPSED TIME IF DM EXERCISER IS BEING RUN THEN 1844 18438 1838 1826 CZRCO2 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION i 4 i $ 4 H i H H i : 4 3 i i i 4 H i i $ : H 4 H i i [ i i i 4 i : 4 i L : i ] i H ] : i ] [ i $ $ 3 3 $ } 3 3 H 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1874 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 .obbbuuwuuuuubbbbbbb&b&bbuuuuuuumuuub&bbbabbbb&&bbuuuuuuu v02.0 14-Jun-198S 09:36:36 14-Jun-1985 09:32:03 VAX-11 Blies-16 V4.0-579 USER$1:(AZTEC.CZRCDB)JCZRCD2.SRC; 8 BEGIN PRINTS (SR_DH1); PRINTS (SR_DH2); PRINTS (SR_DH3); PRINTS (SR_DH4); INCR UNIT FROM O TO (.LS$UNIT BEGIN ! PRINT HEADER FOR DM EXERCISER 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 = HI_LO (); ADDR_LO = HI_LO O); ADDR_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 ADVANCE TO LOW-ORDER ADDR OF SEEK COUNT HI_LO (); - 1) DO TA [READ_LO); ,ADDR_LO + 4; .ADDR_LO PRINTS (SR_DL, + 4; ! .TA [MB_READ], .TA [MB_WRIT), END; ELSE PRINT EITHER LOW- .TA [ER_HRD], OR HIGH-ORDER FIELD .TA [ER_SFT)); ! UNIT LOOP ! ELSE ! ! 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 END BEGIN PRINTS (SR_MH1); PRINTS (SR_MH2); PRINTS (SR_MH3); PRINTS (SR_MH4); INCR UNIT FROM O TO (.LSUNIT - 1) DO BEGIN PRINTS (SR_ML, .TA [MB_READ), .TA END; PRINTS (SR_EM1); PRINTS (SR_EH2); PRINTS (SR_EH3); PRINTS (SR_EH4); PRINTS (SR_EHS); INCR UNIT FROM O TO (.LS$UNIT BEGIN - 1) DO [MB_WRIT], - MULTI-DRIVE SUBTEST IS BEING RUN .TA [ER_HRD), .TA [ER_LOG)); ! UNIT LOOP ! PRINT HEADER FOR ECC ERROR STATS ! FOR EACH UNIT TA = TALLY « (.UNIT & TALLY_LEN s 2); ! CALCULATE UNIT'S TALLY BLOCKX ADOR 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 2l (6) C2RCDS CZRCOBO RC25 DISK EXERCISER REPORT CODING SECTION 1918 1919 1920 1921 1922 1923 1924 1925 000144 00C146 000150 000152 000156 000162 000166 000170 000172 000176 0002C2 000204 0002G6 000212 0002156 NN WWS S0 @0 @0 @0 B0 @0 or we ¥02.0 0C0000 000004 000010 000014 000016 000020 000024 000030 000034 000040 000044 000046 000050 000056 000060 000064 000070 000072 000074 000100 000104 000106 000110 000114 000120 000122 000124 000130 000134 000136 000140 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 12746 010600 104416 012716 012746 010600 104416 012716 012746 010600 104416 012716 012746 010600 104416 013703 005002 000456 013216 012746 004737 062700 013001 010216 012746 012746 019600 104416 010137 004737 062737 END; ! VAX-11 Bliss-16 V4,0-579 USER$1:[AZTEC.CZRCDB ICZRCD2.SRC; 8 SEQ 0118 Page 22 (6) UNIT LOOP END; PRINTS (CRLF); ! PRINT <CR><LF> ENDRPT; Q000C0G 000000 000001 LRPT: MOV MOV TRAP MOV MoV MOV MOV MOV MOV TRAP 0000006 0000006 000000G 000116 000004 000002 .SBTTL JSR MOV 000000G 8178 BEQ 001264 000001 MOV MOV MoV TRAP MOV MOV MOV 001330 000001 TRAP MOV 001444 000001 MOV MoV TRAP MOV 001560 000001 MOV 000000G MOV TRAP MOV CLR BR 1$: 000060 ¢00000G 00000066 MOV MoV JSR ADD MOV MOV MOV 000550 000002 MOV 000366 000370" 006004 MoV TRAP MoV JSR ADD 000366 LRPT REPORT CODING SECTION R1,$SAVES 4SR.HD, (SP) e1,-(sP) SP.RO 16 SECONDS, (SP) MINUTES, -(SP) HOURS, -(SP) ASR.ET, (SP) 84, -(SP) SP,RO 16 1788 1857 H SP.‘ 1858 : SP-‘ &2 ,SWP FLAGS 1859 4#SR.DHL, (SP) e1,-(sP) 1863 3 SP,RO 16 &#SR.DH2, (SP) e1,-(SP) SP,RO 16 OSR.DH3,(S5P) e1,-(SP) SP,RO 16 1864 H SP,‘ 1865 H SPc‘ dSR.DH4, (5P) e1,-(SP) SP.RO 16 LSUNIT ,R3 R2 24 1866 s SP.» : UNIT R2,(SP) 60, (SP) PC.BLS$MUL &TALLY,RO RO,R1 R2,(SP) &SR.UN, (sP) 1867 1870 : *, A ; UNIT,# ; SP,+ : TA,» 1871 &2,-(SP) SP.RO 16 R1,ADDR.LC PC.HI.LO &4 ,ADDR.LO 1873 1874 1875 C2RCDS v02.0 N4 000230 000236 000c42 000246 000252 000256 000262 000266 000272 0002 *4 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 0004456 000452 000460 000464 000470 000474 000500 000504 000519 000514 000515 CZRCDBO RC2S DISK EXERCISER REPORT 004737 052°37 004737 016116 016146 016146 016146 112746 012746 010600 104416 062706 005202 020203 002720 000137 012716 012746 10600 104416 01271¢ 012746 01060C 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 0156116 016146 016146 015146 012746 012746 010600 104416 0C0370° 000004 000370 000034 000030 000026 000020 001676 000005 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 CODING SECTION JSR 000366 ADD JSR MOV MOV MOV MOV MOV MOV MOV TRAP ADD 000020 2s: 001444 000162 000001 3s: 000256 000001 000354000001 000450 000001 INC CHP BLT JMP MOV MoV MoV TRAP MOV MOV MOV TRAP MOV MOV MoV TRAP MOV MoV MoV TRAP 000000G MOV CLR BR 4s: 000060 000000G 0000006 MOV JSR ADD MOV MOV MoV MOV MOV TRAP MOV 000550 000002 000366 000370 000004 000370 000032 000030 000026 000020 000576 000005 MoV 000366 JSR ADD JSR MOV MOV MOV MoV MOV MOV MOV TRAP PC,HI.LO 44 ,ADDR.LO PC.HI.LO 34(R1),(SP) 30(R1),-75P) 26(R1),-(SP) 20(R1),-(SP) @SR.DL, -(SP) VAX-11 Bliss-16 V4,0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 H 3 H ; SEQ 0119 Page 23 (6) 1876 1877 1878 8(TR), : : ; #(TR), e #(TA),» ¢(TA),s : SP,» 1880 95,-(SP) SP.RO 3 1868 ; UNIT H UNIT.‘ 8s 4SR.MH1, (SP) ; ; ASR.MH2, (5P) 1,-(SP) H 4SR.MH3,(SP) 41,-(SP) SP.RO 16 #SR.MH4, (SP) e1,-(SP) SP.RO 16 LSUNIT ,R3 R2 Ss R2,(SP) 960, (SP) PC,BLSMUL &TALLY,RO RO,R1 R2,(SP) #SR.UN, -(SP) #2,-(SP) SP,RO 16 R1,ADDR.LO PC,HI.LO 04 ,ADDR.LO PC,.HI.LO 32(R1),(SP) 30(R1), (SP) 26(R1),-(SP) 20(R1), (SP) ASR. ML, (SP) 25, -(SP) SP,RO 16 1859 : @1, (sP) SP,RO 16 SP.RO 16 1867 : . SP,s 1889 SP,s : ; 1888 1890 SP,s : 1891 : SP,s : 1892 ;3 UNIT,s 1895 ;. UNIT ; o, TA : UNIT,s 1896 H SP-‘ : TA,» ; 1899 H H : 8(TA), s ; : 1898 #(TA),s #(TR),» : «(TA),s ; SP,s 1900 1901 1903 000032 7s: 000012 000000G 000001 8s: INC CHP BLT ADD MoV MOV #12,5P 4CRLF, (SP) » > j— et J BN e R o N » 1917 [ N @ 000054 000052 000050 000046 000044 001244 000006 SP,RO 16 54(R1),(SP) 52(R1),-(SP) S50(R1), (SP) 46(R1),-(SP) 44(R1),-(5P) 4SR.EL2,-(SP) %6, -(SP) SP,RO 16 32,5P 1916 - 001222 000006 1915 Nt N 000042 000040 000036 000056 1912 N 000000G MOV MOV JSR ADD MOV MOV MOV MOV MOV MOV MOV MOV MOV TRAP MOV MOV MOV MoV MOV MGV MoV MoV TRAP ADD SP,» " 6$: 000060 0000006 ; N CLR BR 1911 ~ 000000G SP,s > MOV MOV MOV TRAP MOV 001110’ 000001 ; - TRAP 1910 ~ MOV MoV H SPG. ® 001002’ 000001 1909 @ TRAP MoV 1908 » 000672 000001 (6) 1907 o 012716 012746 010600 104416 012716 012746 010600 104416 012716 012746 010600 1C4416 013703 005002 000452 010216 012746 004737 062700 010001 Olél1l6 016146 016146 016146 010246 012746 012746 010600 104416 016116 016146 016146 015146 016146 012746 012746 010600 104416 062706 005202 020203 002724 062706 012716 012746 000652 000001 24 o 104416 01216 012746 0210600 104416 Page o 010600 #SR.EHL, (SP) e1, (SP) SP,RO 16 4SR.EH2,(5P) 41,-(SP) SP,RO 16 dSR.EH3, (5P) e1,-(SP) SP,RO 16 9SR.EH4, (SP) e1,-(SP) SP,RO 16 #SR.ENS5,(SP) @1, -(SP) SP,RO 16 LSUNIT ,R3 R2 73 R2,(SP) 460, -(SP) PC.BLSMUL #TALLY,RO RO,R1 42(R1),(5F) 40(R1), (SP) 36(R1),-(SP) 56(R1),-(SP) R2,-(SP) 4SR.EL1, -(SP) UNIT,» @ MOV MOV MOV TRAP MOV MOV MOV TRAP MOV MOV MOV 000614 000001 3 UNIT ; SEQ 0120 1893 1892 H W Ss: INC cMP BLT » 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 00C724 000720 000734 000740 000744 000750 000752 000754 000750 000762 000764 0007656 000772 000776 ADD 000020 G 0C0500 062706 0352¢2 020203 002725 012716 012746 VAX 11 Bliss 16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC: 8 %8 REPORT CODING SECTION v02.0 000520 000524 000526 000530 000532 000536 000542 000544 000546 000552 000556 14-Jun 1985 09:36:36 14-Jun-1985 09:32:03 - CZRCOBO RC25 DISK EXERCISER CZRCD2 1913 1912 18386 1923 CZRCD2 v02.0 001002 001004 001006 001012 CZRCDBO RC25 DISK EXERCISER REPORT CODING SECTION 010600 104416 062706 000207 : Routine Size: : Maximum stack 000000 000004 000006 : : 004737 104425 000207 Routine S'ze: Max'mum stack MOV TRAP ADD RTS 000026 262 words, depth 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 per 000452 4 words, depth per Rout ‘ne Base: invocat on: 34 words L$SRPT:: Routine Base: invocat'on: 2 words $CODES SP,RO 16 #26,5P PC ; SEQ 0121 Page 25 (6) SP,s ; 1788 ; 1923 . 0452 .SBTTL LS$RPT REPORT TRAP RTS 25 PC JSR S$CODES$ VAX-11 Bliss 16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC:8 PC,.LRPT + 1466 CODING SECTION CZRCD2 CZRCOBO RC25 DISK EXERCISER INITIALIZE SECTION 1937 1938 1939 1940 1941 1942 1943 1944 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 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB)CZRCD2.SRC;8 *INITIALIZE SECTION' * SS8TTL D Ll P LD YD W D P D B YE C® P e e s s 1926 1927 1928 1929 1930 1934 1932 1933 1934 1935 1936 PRV UWANEDLEBUWWWWERGWWNRNROLRLPRNVVRNRAI MR PR PRI ORI N o 40 s (b 8 s 1o 4t (b pob o b 4t fd b b po pb -t o v0e.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 POWERDOWN/POWERUP NEW PASS EF .CONTINUVE EF .PWR EF .NEW EXAMPLE OF EVENT FLAG USE: IF READEF(EF.START) THEN START _FLAG = 1; DURING THE INIT CODE, THE “GPHARD" MACRQ IS USED TO OBTAIN P-TABLE INFORMATION FOR ALL DEVICES. THE NUMBER OF UNITS AVAILABLE IS IN THE HEADER WORD “LS$UNIT”. BGNINIT; LOCAL FLAG1 : BYTE, FLAG2 : BYTE, DELAY_MULT : WORD, CLK_ADR, HWPT _REF : REF BLOCK [HWPT_LEN, WORD] FIELD (HWP_FIELDS); SETPRI (PRIO7); ! PRIORITY 7 IF READEF (EF_NEW) THEN ENTRY_REASON = NEW_PASS; ! ! ! IS THIS A NEW PASS? (ASr NEW_PASS FIRST IN CASE MULTI, _.E FLAGS ARE SET, E.G., START AND NEW_PASS) IF READEF (EF_CONTINUE) t 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 - NO INTERRUPTS ALLOWED DURING INIT ENTRY_REASON = CONT; IF READEF (EF_PWR) THEN BEGIN ENTRY_REASON = PWR_FAIL; IF MANUAL THEN PRINTF (MSG_01); INCR COUNT FROM 0 TO 60 DO BEGIN DELAY_MULT = 400; DELAY (.DELAY_MULT); BREAK; END; END; IF READEF (EF_RESTART) SEQ 0122 Page 26 " CZRCD2 v02.0 UJVJUAWNNNNMU‘&#&&UI#UI(NNO‘(NU‘UJ(NNWNNNNNNNNNNWUIUJNNNNNNNNNNM(MU‘NNNNN 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 CZRCDBO RC2S DISK EXERCISER INITIALIZE SECTION 14-Jun-198S 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 V4.0-579 USER$1:{AZTEC.CZRCDB JCZRCD2.SRC; 8 THEN ENTRY_REASON = RESTART; IF READEF (EF_START) THEN BEGIN ENTRY_REASON = START; HOURS = MINUTES = SECONDS = END; MAKE SURE THAT NOT MORE ! TICKS = IS THIS A START? 0; ! INIT ELAPSED TIME TO 00:00:00:00 THAN MAX_UNITS HAVE BEEN SPECIFIED. 1F THERE ARE TOO MANY, NOTIFY USER AND RETURN TO SUPERVISOR. (DIAGNOSTIC IS ABORTED). IF _LS$UNIT GTRU MAX_UNITS THEN BEGIN ERRSF (1, DOCLN; END; EGS_01, £MS_01); ! "TOO MANY UNITS” ‘e ! ! ' CHECK TO MAKE SURE THERE IS A CLOCK ON THE SYSTEM. IfF NO_CLOCK, THEN ABORT TO SUPERVISOR. OTHERWISE, DETERMINE WHETHER CLOCK IS AN L OR P CLOCK, AND SET UP PARAMETERS. | . CLK TYPE = NO_CLOCK; ! SET FLAG FOR NO CLOCK IF CLOCK (P, ' IS THERE A P_CLOCK? ! ! ! SET TYPE TO P_CLOCK SAVE THE CSR ADDRESS ENABLE INTERRUPTS ! IS THERE AN L_CLOCK? ! ! ! SET TYPE TO L CLOCK SAVE THE CSR ADDRESS ENABLE INTERRUPTS ! IF NO CLOCK WAS FOUND ! ! “NEITHER P NOR L CLOCK WAS FQUND" ABORT THE PROGRAM THEN ELSE CLK_ADR) BEGIN CLK_TYPE = P_CLOCK; CLK_CSR = ,,CLK_ADR; .CLK_CSR = %0'105'; END BEGIN IF CLOCK (L, CLK_ADR) THEN BEGIN CLK_TYPE = L_CLOCK; CLK_CSR = , . CLK_ADR; .CLX_CSR = %0'100'; END; END; IF .CLK_TYPE EQLU NO_CLOCK THEN BEGIN ERRSF (2, EGS_02, 0); DOCLN; END SEQ 0123 Page 27 ) CZRCD2 CZRC DBO RC2S DISK EXERCISER INIT IALIZE SECTION 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 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 €096 VOOV OOOWVOOVOVOXROPONNNNNOOOOVNINUINIE L D EH B GGG NN MM R R MR N OGN W S B0 @5 W @0 @5 @0 W6 W @ EC B S5 TE B4 W W 08 B2 B G5 @1 G B0 TS WS Ss G0 Ge B¢ G WS W W W L B9 W GE WO WS WP W Ws G6 W S0 G0 G ®r 0 S0 G6 ®s e @0 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 ELSE BEGIN CLK_VECTOR = .(.CLK_ADR + 4); CLK HERTZ = .(.CLK_ADR + 6); SETVEC (.CLK_VECTOR, CLK_INT_SERV, END; ! ! ! PRIO6); 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 T0 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) = 0O; 1MCR UNIT FROM O TO (.L$UNIT BEGIN CPT [.UNIT) = NO; IF GPHARD (.UNIT, THEN - 1) DO ! LOOP THROUGH ALL UNITS ! HWPT_REF) NEQA 0 2) BY 2 DO INIT CURRENT PASS TESTING VECTOR ! IF HWP TABLE FOUND ! NO EXISTING IP BEGIN FLAG1 = NOT_FOUND; INCR CTLR FROM O TO (MAX_CTLR BEGIN IF .CST THEN (.CTLR, IP_ADDR] - 1) DO EQLA ! .HWPT_REF ! IF ADDRESS MATCH YET LOOP THROUGH ALL CST'S [HWP_IP_ADDR] IP ADDR ALREADY EXISTS BEGIN FLAG1 FLAG2 = = FOUND; NOT_FOUND; INCR OFFSET FROM (O BEGIN IF .CST THEN [.CTLR, ! + OF _UN) .OFFSET, FLAG2 CST = + OF_UN) DO PLATTER ! SLOT AVAILABILITY LOOP THROUGH EACH PLATTER SLOT EQLU NOT_PRESENT IF EMPTY SLOT FOUND FOUND; (.CTLR, CST [.CTLR, CST [.CTLR, EXITLOOP; ELSE INDICATING P_PRES] ! BEGIN FLAG TO (3 .OFFSET, .OFFSET, .OFFSET, END ! ! ! ALLBIT] = .HWPT_REF [HWP_PLAT); COPY PLATTER ADDR AND PROT BIT P_UNIT] = ,UNIT; P_PRES] = PRESENT; END - IF PLATTER SLOT FOUND OTHERWISE - SLOT IS OCCUPIED BEGIN IF .CST [.CTLR, .OFFSET, P_ADDR] EQLU .HWPT_REF [HWP_PLAT_ADDR) SEQ 0124 Page 28 D) CZRCD2 voe2.0 CZRCOBO RC25 DISK EXERCISER INITIALIZE SECTION 2097 2098 2099 2100 2101 L) L) - . . L] - L) . . ’ . Ld . 1] - . - L) - ” . . . . - * . ? . [ 3 . . ’ . . L) . ’ . . - L) . L) . 1) - 1] . . . . . 1] . 1] . . . . . ’ . [ BEGIN FLAG2 (CER_O1, .HWPT_REF 2106 2107 2108 10 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 €152 2153 FOUND; PRINTF 2105 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 = IF MANUAL THEN 2102 P 2103 2104 x(0)" 2133 2134 2135 2136 2137 2138 2139 VAX-11 Bliss-16 v4.0-579 THEN PPPOERBEO®EORNNNNOIRNROTVINVIUIO NI~ ®AO OO0 G ~J~J~J~JOO ® OO X SEQ 0125 Page 29 USER$1:[AZTEC.CZRCDBJCZRCD2.SRC;8 (7 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .HWPT_REF ! PLATTER ADDR SLOT ALREADY EXISTS ' IF ATTENDED ! THEN [HWP_PLAT_ADDR], (HWP_IP_ADDR]); DUR [.UNIT] = DU_CONF; DOOU (.UNIT); EXITLOOP; END; ! END; IF ! ! "DUPLICATE PLATTER ADDRESS XXX. ! ! ! LOAD REASON FOR DROPPING UNIT DROP UNIT DON'T LOOK AT ANY MORE SLOTS IF PLATTER ADDR ALREADY EXISTS IF SLOT IS OCCUPIED END; ! PLATTER SLOT SEARCH LOOP .FLAG2 EQLUV NOT_FOUND ! IF PLATTER SLOT NOT AVAILABLE THENBEGIN IF MANUAL ! THEN PRINTF ! (CER_02, .HWPT_REF DUR [.UNIT] = DU_CONF; DODU (.UNIT); IF ATTENDED THEN [HWP_IP_ADDR])); ! ! ! "“ALREADY 4 UNITS AT IP XXXXXX(0)" CONFIGURATION ERROR DROP UNIT END; EXITLOOP; END; END; IF .FLAG1 EQLU NOT_FOUND THEN BEGIN FLAG2 = NOT_FOUND; INCR CTLR FROM O TO (MAX_CTLR BEGIN IF .CST [.CTLR, THEN BEGIN FLAG2 = - ! IF EXISTING CST ! CST TABLE SEARCH LOOP ! IF NO IP ADDR MATCH TO EXISTING CST ! FLAG INDICATING EMPTY CST 1) DO IP_ADDR] EQLA O !t ! TABLE FOUND AVAILABILITY LOOP THROUGH EACH CST IF EMPTY CST FOUND FOUND; CST [.CTLR, CST (.CTLR, CST [(.CTLR, IP_ADDR] = .HWPT_REF [HWP_IP_ADDR]; VEC_ADDR) = .HWPT_REF [HWP_VECTOR]; BR_LEV]) = .HWPT_REF [HWP_BR_LEVEL]; CST [.CTLR, P1_ALL] - .HWPT_REF CST [.CTLR, P1_UNIT] = ,UNIT; CST [.CTLR, P1_PRES] = PRESENT; EXITLOOP; [HWP_PLAT]; !'PLAT ADDR, PROT BIT AT IP XXXX CZRCD2 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION . L] . [] . L) . . L) . . . * . . . 13 . . . 1 . 1] . . . . . ’ . 1) - ’ . L] . [ . . L) . . . ’ . . . . 1] . 1 . 1) » ’ ’ [ . [ . ’ . [ . . . L] . . . 1] . ’ . [ L) [ . ’ L) . . . [] . . * . 1 . ’ . e . L) . . 3 1] . L] 2154 2155 2:56 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 €210 mmmmwwbbmmooslslslqumc\ommmmm&bhbuuumuwubbmmmmqqquuouuoooouqm v0e2.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 END; ! IF EMPTY CST FOUND ! EMPTY CST SEARCH LOOP ! IF NO EMPTY CST FOUND END; IF _FLAG2 EQLU NOT_FOUND THEN BEGIN VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDOBICZRCD2.SRC;8 IF MANUAL ! IF ATTENDED THEN ! THEN PRINTF (CER_03, MAX_CTLR); ' “MORE THAN X DIFFERENT IP ADDRESSE S. DUR [.UNIT) = DU_CONF; ! CONFIGURATION ERROR DODU (.UNIT); ! DROP UNIT END; END; ! IF NO IP ADDR MATCH IN CST ! IF GPHARD RETURNED A HWP TABLE ! UNIT LOOP ! OTHERWISE, ! FOR EACH UNIT ! ! IF UNIT HAS NOT BEEN DROPPED THEN END; END; END ELSE BEGIN INCR UNIT FROM 0 TO (.LSUNIT BEGIN IF GPHARD (.UNIT, THEN BEGIN - 1) DO HWPT_REF) NEQA 0 CPT [.UNIT) = YES; INCR CTLR FROM O TO (MAX_CTLR BEGIN IF .CST [.CTLR, THEN BEGIN CST [.CTLR, EXITLOOP; - ! ! 1) DO IP_ADDR] EQLA .HWPT_REF = .CST [.CTLR, 0.K. TO TEST UNIT FIND UNIT'S CONTROLLER (HWP_IP_ADDR]) ! U_CNT] FOR EACH NEW PASS FOUND IT7 U_CNT] + 1; ! ! END; END; END; END; END; IF _ENTRY_REASON LEQU RESTART THEN ! CONTROLLER LOOP ! IF UNIT NOT DROPPED ! UNIT LOOP ! END ' ! IF START OR RESTART THEN - IF NEW PASS INCREMENT NO. DONE OF TESTABLE UNITS SEQ 0126 Page 30 D) CZRCD2 v02.0 . * . . . . . L) - . . L) . [ . 1] . . . . [ L) . . . ’ . 1] . [ . * . * . ’ . ’ . 1] 1] . . . . . [ . ] . . ’ . L) 1 . L) . ’ . L) [ . . . L] . . » [ . L) L . ] . . . ’ . 1) . * . * . [ . L) » L4 VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC: 8 - ! ! COMMAND REFERENCE NUMBER NUMBER OF CONFIGURED CONTROLLERS ! ! ! IF CONTROLLER IS PRESENT THEN INCREMENT CONTROLLER COUNT ! ! GET START OF FREE MEMORY GET FREE MEMORY SIZE 1) DO IF .CST [.CTLR, IP_ADDR] NEQA O THEN CTLR_CNT = _CTLR_CNT + 1; END; MEMORY (FREE_MEM_ADDR); MEM_SIZE = . .FREE_MEM_ADDR; INCR COUNT FROM O TO ((MAX_UNITS & TALLY_LEN) - END; ' END OF START/RESTART INITIALIZATION 1) DO ! INITIALIZE NO. INCR COUNT FROM O TO (RP_CNT - 1) DO RP_USE [.COUNT] = -1; IODQ_IN = IODQ_OUT = 0; IF ((BIT_TST (SWP_FLAGS, SWF_HWC)) AND (BIT_TST (SWP_FLAGS, SWF_CWC))) THEN SWP_FLAGS <SWF_PHWC,1> = 0; ! INITIALIZE RETURN PACKET POOL TALLY [.COUNT] = 0; 1) 00 ! ! INITIALIZE STATISTICS Ve MISCELLANEOUS INITIALIZATON INCR CTLR FROM O TO (MAX_CTLR QIO [.CTLR] = 0O; - OF OUTSTANDING QIOS 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 > . T . * 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 ERRONEQUS LBN WOULD BE GENERATED IN QIO_LBN IF THIS SITUATION WERE ALLOWED. A . 1] CRN = 0; CTLR_CNT = 0; INCR CTLR FROM O TO (MAX_CTLR BEGIN TI P . L) 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 BEGIN Y L] L) 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 LYY L] NMNMWNUWNNNNNNNNNNNNNNNNNUIUNNNNNNNNNNNWNWNWMNMOb&bbbwwuo‘w . L] . CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION IF .SWP_STRACK GEQU THEN BEGIN LOCAL TEMP : .SWP_ETRACK WORD; TEMP = ,SWP_STRACK; SWP_STRACK = _SWP_ETRACK; SWP_ETRACK = _TEMP; END; ! ! REVERSE STARTING AND ENDING TRACK NUMBERS SEQ 0127 Page 31 7 CZRCD2 2268 2269 2270 2271 000000 000004 000010 000014 000016 000022 000024 000026 000034 000040 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 [ da S N,V N, V) @ @ we we v02.0 004137 162706 012700 104441 012700 104447 103003 112737 012700 104447 103003 112737 012700 104447 103036 112737 104450 103007 012746 012746 CZRCDBO RC25 DISK EXERCISER INITIALIZE SECTION 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 SETPRI (PRIOO); ! SEQ 0128 Page 32 mn SET PROGRAM PRIORITY T0 O ENDINIT; 0000006 000010 000340 LINIT: 000035 000005 000036 000000G 000003 000034 0000006 000004 000000G 1s: 2s: L$OLY .SBTTL JSR suB MoV TRAP MOV TRAP BHIS R1,$SAVES #10,5P #340,R0 41 #35,R0 47 MOVB MOV TRAP BHIS MCV8 MoV TRAP BHIS BHIS 0000006 000001 MOV MoV MOV TRAP 000075 000620 000006 MOV MOV MOV S$: BEQ 6$: 78: 8%: 000037 9% : 0000006 000001 0000006 0000006 0000006 ctMP 3$: 44 : 0000006 000002 000040 .GLOBL Move TRAP 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 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 10%: MOV BEQ CLR DEC BNE DEC TRAP DEC BNE LINIT INITIALIZE SECTION 1s #5,ENTRY .REASON #36,R0 47 23 43 ,ENTRY .REASON #34,R0 47 9s €4 ,ENTRY .REASON 50 34 MSG.01, -(SP) #1,-(SP) SP,RO 17 : 1925 H 1955 : 1957 H H 1959 1961 H : 1963 1965 : 1968 H 1971 H 1969 : SP,.» #75,R2 #620,R3 gz.Rl ; ; : &,COUNT &,DELAY.MULT DELAY.MULT,$sTMP2 %:DLY.RO ; &,88TMPL 6(SP) RO 64 R1 S$ 22 ; ; $3TMP $$TMP1 ; $8TMP2 1973 1975 1976 23 ;s COUNT 1973 MOV TRAP #37,R0 47 H 1982 BHIS 10$ @2 ,ENTRY .REASON ©40,R0 47 11¢ 41 ,ENTRY .REASGN TICKS SECONDS MovB MOV TRAP BHIS MOvB CLR CLR : 1984 ; 1986 ; : 1939 1990 CZRCO2 CZRCOBO RC2S DISK EXERCISER v02.0 000222 000226 000232 000240 000242 000244 000246 000250 000252 000254 000260 000264 000266 000270 000272 000300 000304 000312 000314 000320 000322 000324 000326 000334 000340 000346 000352 000354 000356 000360 000362 000364 000366 000370 000376 000404 000410 000414 000420 000424 000426 000432 000440 000444 000452 000454 000460 000462 000466 000472 000476 000500 000502 000506 000512 000514 000516 rb— 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 INITIALIZE SECTION 005037 005037 023727 101405 104454 000001 0000006 000000V 104444 005037 012700 104462 103012 010001 012737 011137 012777 000415 012700 104462 103011 010001 012737 011137 012777 005737 0000006 0000006 0000006 000020 0000006 000120 11s: 124: MOV MOV MOV MoV 000001 00€000G 0000006 000105 0000006 13s: 000114 BR MoV TRAP BHIS 17771 0000006 000000G 000100 0000006 0000006 14 MOV MOV MoV MOV TST BNE 104454 104437 062706 013766 005366 123727 001002 000137 005000 005060 062700 020027 003771 005002 000137 105062 010200 104442 010001 MOV TRAP BHIS 001006 000002 0000006 000000 104444 000421 016137 016137 012746 012746 013746 012746 CLR CLR CHp BLOS TRAP .WORD .WORD .WORD TRAP CLR TRAP .WORD 0000006 000004 000006 0000006 000300 000000V 0000006 000003 000010 0000006 000002 000002 0000006 000005 002744' 0000006 000002 000066 002730 0000006 15s: 16%: 17s: 18%: 19%: .WORD .WORD TRAP BR MOV MOV MOV MOV MOV MOV TRAP ADD MOV DEC CMPB BNE JMP CLR CLR ADD CMP BLE CLR JMP CLRB MOV TRAP MOV MINUTES HOURS LS$UNIT,#20 124 54 1 €GS.01 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 ; SEQ 0129 Page 33 7 1999 H 2002 EMS.01 44 CLK.TYPE €120,R0 62 134 RO,R1 1,CLK.TYPE (R1),CLK.CSR €105,8CLK.CSR 14 4114 ,R0 62 14 RO,R1 @-1,CLK.TYPE (R1),CLK.CSR 4100,3CLK.CSR CLK.TYPE 154 54 2 EGS.02 0 44 16$ 4(R1),CLK,.VECTOR 6(R1),CLK.HERTZ ; 2012 $ 2014 ; RO,CLK.ADR 3 ;s CLK.ADR,» : 2017 2018 2019 : 2014 H 2024 ; RO,CLK.ADR H 2027 H H 2029 2034 ; CLK.ADR,» H ; ; #(CLK.ADR),» #(CLK.ADR),s 2028 2034 2042 2043 ©300,-(SP) @CLK.INT.SERV, -(SP) CLK.VECTOR, -(SP) #3,-(SP) : 2044 @10, 5P LSUNIT,2(5P) : : 2041 2060 ENTRY.REASON, 45 : 2053 RO : COUNT ; *(COUNT) 2057 2058 37 2(SP) 17¢ 37¢ CST(RO) 42 ,RO RO, 266 184 R2 35% CPT(R2) R2,RO 42 RO,R1 ; &,COUNT ; UNIT 2060 ; s(UNIT) : UNIT,s 2063 2064 ; COUNT,» : &, HWPT.REF 2057 CZRCD2 voe.o 000520 000522 000526 000530 000532 000534 000540 000544 000546 000552 000554 000560 000562 000564 000570 000574 000600 000602 000606 000610 000614 000616 000622 000626 000630 000634 000640 000642 000644 000650 000654 000656 000662 000664 000670 000672 000676 000700 000702 000704 000706 000712 000716 000722 000724 000726 000732 000740 000742 000744 000746 000750 000754 000756 000760 000762 000764 CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:36:36 INITIALIZE SECTION 001002 000137 105016 005004 010446 012746 004737 022626 026011 001124 112716 105005 010446 012746 004737 010066 022626 012703 010300 066600 006300 062700 032710 0€1016 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 002726’ 20%: 214: 000016 0000006 0000006 000001 000007 0000006 000010 BNE JMP CLRB CLR MOV MOV JSR cHp o BNE Mov8 CLRB MOV MOV JSR MOV cMP 000003 22%: 000004 0000006 040000 MOV MOV ADD ASL ADD 8IT BNE 000001 000006 MOvB MOV MoV SWAB 8IC 8IC BIS BIS 160377 017400 040000 000006 23s: 000001 CMPB BNE HMOVB TRAP BHIS MOV CLR MOvVB 000006 0000006 000003 000010 000001 MOV MOV 0002006 MOV TRAP ADD 244: MOVB MOV TRAP 000006 VAX-11 Bliss-16 V4.0-579 25%: 264 : BR INC cMP BLE 1ST8 BNE TRAP BHIS USER$1:(AZTEC.CZRCDOB)CZRCD2.SRC; 8 204 344 (SP) ; FLAGL : CTLR ; CTLR, = R4 #16, -(SP) PC,BL$MUL (SP)+,(SP)+ CST(RO), (R1) 284 #1,(SP) RS R4, -(SP) ; SEQ 0130 Page 34 7 2068 2069 2072 *,HWPT REF ; &,FLAG1 ;s FLAG? ; CTLR,s 2076 2077 2081 93,R3 R3,RO 4(SP),.RO RO 4CST,RO 940000, (RO) ; *,QFFSET ; OFFSET,» 2078 2081 ¢1,R5 6(R1),(RO) R2,-(SP) (SP) : &, FLAG2 ; «(HWPT.REF), s : UNIT,s 2085 2086 2088 H 2089 PC,BL$MUL RO,10(SP) (SP)+,(SP)+ 23 #160377,(SP) 17400, (RO) (SP)+,(RO) 940000, (RO) 26$ (RO),6(R1) 254 1,R5 S0 244 (R1),-(SP) -(SP) 6(R1),(SP) #CER.01,-(SP) 3,-(SP) SP.RO 17 €10,5P @1 ,DUR(R2) R2,RO S1 269 R3 R3,®6 224 RS 29 S0 273 H ; &,+(HWPT.REF) ; &,FLAG2 2083 2096 2100 H 2101 ; HWPT.REF ,» 2104 ; #(HWPT .REF),» H SP.‘ ;s o,s(UNIT) ; UNIT,s H 2105 2106 2098 ;s OFFSET 2078 ;s FLAGZ 2115 H 2119 SRCD2 v02.0 000766 Q0077 000774 001000 001002 001004 001010 001016 001020 001022 001024 0C1026 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 Q01172 001176 001202 001206 001210 001212 001216 002224 002226 001230 003232 001235 001249 001244 CZRCOBO RC25 DISK EXERCISER INITIALIZE SECTION 011146 012746 0000006 000002 012746 010600 104417 062706 000006 112762 000001 0000006 010200 104451 000404 005204 020427 000003 003637 105716 001074 105005 005000 005760 0000006 001037 112705 000001 011160 000000G 016103 000002 042703 177000 042760 000777 000002G 050360 0000026 000004 116160 000004G 012703 0000066 060003 016113 000006 0102G4 X00304 042704 160377 042713 017400 050413 052713 040000 000405 062700 000016 000052 20027 v. 731 105705 001021 104450 103012 012746 000004 012746 0000006 012746 000002 010600 104417 062706 000006 112762 000001 0000006 010200 104451 005202 020266 000002 003002 000137 002204 000431 27s: 28s: 29¢%: 30s: 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 MOV MOV MOV MoV TRAP ADD MovB MoV TRAP B8R INC CMP BLE T1S78 BNE CLRB CLR TS7 BNE MOVB MOV MOV BIC 8IC 8IS mMov8 MOV ADD MOV MOV 31s: 32s: SWAB BIC 8IC 8IS BIS BR ADD cHp BLE 7578 BNE TRAP BHIS 33s: 24 15%: MOV MOV MOV MOV TRAP ADD Move MOV TRAP INC cMp BGT JMP BR VAX 11 Bliss-16 V4.0-579 USER$!:[AZTEC.CZRCDB JCZRCD2.SRC:8 (R1),-(SP) ¢CER .02, -(SP) : SP,RO 17 %6 ,SP #1,0UR(R2) : SPO. ; R2,RO 51 294 ; ; CTLR ; CTLR,» (sP) 344 RS RO CST(RO) 31 '1.,RS (R1),CST(RO) 2(R1),R3 €17700",R3 @777,C 7+2(RO) R3,CST+2(RO) 4(R1),CST+4(RO) #CST+6,R3 RO,R3 30$ @2,-(SP) SP,RO 17 06 ,5P &1,DUR(R2) R2,R0O S1 R2 R2,2(SP) 369 19 434 35 (7 2121 2122 2123 2074 2069 ;s FLAG)L 2133 ;: FLAG2 ; CTLR ; #(CTLR) 2137 2138 2141 ; : : ; ;: ; &, FLAG? HWPT REF,a(CTLR) «(HWPT.REF), s ; : 2145 2146 2147 &, #(CTLR) &,8(CTLR) #(HWPT .REF),s(CTLR) : 6(R1),(R3) RS 34 50 33 04, -(SP) ¢CER.03, -(SP) ¢,#(UNIT) UNIT,» : R4 R4,03 21 R2,R4 R4 9160377,R4 €417400,(R3) R4,(R3) 940000, (R3) 324 @16,R0 RO, @52 HWP . EF,s T SEQ 0131 Page CTLR,» 2148 2150 #(HWPT REF), s ; UNIT,» 2151 H 2152 H 2143 ; : =, CTLR CTLR,» 2138 ;s FLAG2 2159 : 2163 : 2165 : SP,» : 8, s(UNIT) : UNIT,s 2166 2167 : 2060 ; : UNIT UNIT,s 2053 <RCDS CZRCDBO RC2S DISK EXERCISER v0e.0 001246 INITIALIZE 000424 010200 104442 010001 00141~ 112762 005000 026011 001003 105260 000405 062700 020027 003765 005202 020266 003751 001336 001340 0C1344 001350 001352 001356 001360 101034 005037 005037 005000 0C5760 0C1402 005237 001370 001374 001376 001400 020027 003766 104431 010037 001410 001412 001416 001422 001426 005000 005060 062700 020027 003771 001330 001364 001404 001430 001432 001436 001440 001444 001446 001450 001456 001460 001464 001466 001472 00:476 001504 001506 001514 Q01516 001524 001532 001524 SECTION 005002 001250 001252 001254 001256 001260 001262 001270 001272 001276 001300 0C1304 001306 001312 001316 001320 001322 001326 123727 062700 011037 005000 105060 005200 020027 003772 005000 112760 005200 020027 003771 005037 005037 132737 001407 132737 001403 142737 023737 103407 013700 37s: 38%: 000001 000CJ0G 000000G 39%: 000005G 000016 000052 408: 000002 41s: az2s: 000000G 000002 43s: 000000G 000000G 0000006 44 0000006 000016 45%: 000052 000000G 000000G 464 : 47s: 48%: 000000G 000093 000000G 493 000037 000000G 0000006 000100 000000G 000040 000000G 000100 000000G 000000G 000000G 0000006 14-Jun-1985 09:32:03 CLR 50%: VAX 11 Blies-16 v4.0-579 USER$1:[AZTEC.CZRCOBICZRCD2.SRC; 8 R2 UNIT,s 2184 : ¢, HWPT REF ; ; ¢, s(UNIT) CTLR ¢(CTLR),HWPT REF 2188 2189 : H «(CTLR) 2196 2194 2189 474 CRN CTLR.CNT RO CST(RO) 45% CTLR.CNT cMp BLE TRAP MOV RO, #52 44 31 RO ,FREE .MEM. ADDR : CLR CLR ADD CHP BLE RO TALLY(RO) #2,R0 RO,21376 464 : ; : ; INC cMp BLE CLR MOVB INC CMP BLE CLR CLR 81718 BEQ 8I718 BEQ BICB cMP 8LO MOV RO RO, &3 484 RO 9377 ,RP.USE(RO) RO RO, 437 49$ I0DQ.0UT I00Q.IN 9100,5WP .FLAGS 50% 440, SWP . FLAGS 50 #100,SWP . FLAGS SWP.STRACK, SWP .ETRACK 51% SWP.STRACK,RO ADD CLR CLRB ©16,R0 36 D) ; BHI CLR CLR CLR TS7 BEQ INC ENTRY.REASON, 42 Page 2181 424 R2,RO 42 RO,R1 419 41,CPT(R2) RO CST(RO),(RY) 40¢ CST+5(RO) 414 16,R0 RO, @52 393 R2 R2,2(SP) 38¢ CMPB SEQ 0132 : UNIT BR MoV TRAP MOV BEQ Move CLR CMP BNE INCB B8R ADD cMP BLE INC CcMP BLE MOV 000000G 000002 001376 000377 14-Jun-198S 09:36:36 : : ; ¢,CTLR CTLR,» ; UNIT 2192 2181 : UNIT,s : 2209 ; : ;: 3 2213 2214 2215 2218 : ; CTLR s(CTLR) »,CTLR CTLR,» H 2220 2215 2224 (RO) ., MCM.SIZ2E ; FREE.MEM.ADDR, » COUNT #(COUNT) *,COUNT COUNT,s 2227 2228 2227 RO QIOCRO) : ; CTLR «(CTLR) 2236 2237 ; ; ; ; COUNT #,5(COUNT) COUNT COUNT,s 2238 2239 2238 ; ; CTLR CTLR,s 225 2236 i 2240 ; 2241 H 2242 : : 2244 2256 : 4, TEMP 2263 CZRCO2 CZRCOBO RC2S DISK EXERCISER v0e2.0 001540 001546 001552 001554 001556 001562 : : INITIALIZE SECTION 013737 010037 005000 104441 062706 000207 Routine Size: Maximum stack 000000 000004 000006 004737 104411 000207 000000G 000000G 0000006 S1s: 000010 MOV MOV CLR TRAP ADD SWP.ETRACK, SWP . STRACK RO,SWP.ETRACK RO 4] #10,5P pC RTS 442 words, Routine Base: $CODES depth per invocation: 16 words 001476 4 words, : Routine Size: ; Max 'mum stack depth per o] 14-Jun 1985 09:36:36 14-Jun-1985 09:32:03 - LSBTTL L$INIT::JSR TRAP RTS Routine Base: 2 words invocation: $CODES Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB)CZRCD2.SRC;8 H ; TEMP,« SEQ 0132 Page 37 (7 2264 2265 H 2269 H 1925 : 2269 1476 L$INIT INITIALIZE PC,LINIT 11 PC » VAX-11 3262 SECTION CZRCD2 CZRCDBO RC25 DISK EXERCISER AUTODROP SECTION 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 000000 = PO PO PO P =2 (=t 4t pub gt pt ot o @8 Ge @ G0 B¢ @0 90 @0 B0 @0 B¢ G0 @ v02.0 #SBTTL 38 (8 BGNAUTO; RETURN; ENDAUTO; LAUTO: Routine Size: 1 word, Maximum stack depth per Routine Size: Max 'mum stack Page THIS CODE IS EXECUTED IMMEDIATELY AFTER THE INITIALIZE CODE IF THE "ADk” 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. : ; ; USER$1:[AZTEC.CZRCDBICZRCD2.SRC;8 SEQ 0134 * 000207 0C4737 1C4461 000207 14-Jun-1985 09:32:03 VAX 11 Blies-16 v4.0-579 'AUTODROP SECTION® ; 000000 000004 000006 14-Jun-1985 09:36:36 003272 4 words, depth per Routine Base: invocation: .SBTTL RTS $CODES LAUTO AUTODROP PC + SECTION ; 2271 : 2282 3272 O words .SBTTL L$AUTO: : JSR TRAP RTS Routine Base: '‘nvocation: 2 words $CODES$ L$AUTO AUTODROP SECTION PC,LAUTO 61 PC + 3274 CZRCD2 CZRCDBO RC25 DISK EXERCISER CLEANUP CODING SECTION 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 ' CLEANUP CODING USER$1:[AZTEC.CZRCDBICZRCD2.SRC; 8 SECTION' + 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 GPERATOR TYPES "<CTRL-C>'. SOME OF THE CODE IN THIS SECTION IS NOT PERFORMED IF THE REASON FOR ENTRY IS END OF -PASS ((A) ABOVE). Y WY WY T T #SB8TTL VAX-11 Bliss-16 V4.,0-579 [T 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 RNV WWWWOWENRNIONNORORDNWWND DD D5 GIN RN N GGG NN R N s o 1o s s s o 4o 4o po W @5 B5 S0 80 @0 SL BE S5 S G5 Se W5 A1 B BE B0 VI B WL @ BT TP WS L WS W WS B0 T W We T W @6 G4 GF Gr @e B0 G0 S e e Se S G0 @6 W @¢ G0 ¢ @0 W @ @e w0 v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 BGNCLN; IF .CLK_TYPE EQLU NO_CLOCK THEN RETURN ELSE BEGIN .CLK_CSR ! ! ! ! = 0; ' CLRVEC (.CLK_VECTOR); IF THERE IS NO CLOCK THEN RETURN OTHERWISE TURN OFF CLOCK ! CLEAR CLOCK VECTOR ! ! IF INVOKED BY THEN ! ! IN CASE USER GAVE BAD IP ADDRESS FOR EACH CONTROLLER END; IF NOT .EOP_FLAG THEN BEGIN SETVEC (4, NEX_TRAP, PRIO7); INCR CTLR FROM 0 TO (MAX_CTLR BEGIN IF (RC25_ADDR = THEN WRT_RC25 .CST (RCIP, - [.CTLR, RC_ALL, 1) DO IP_ADDR]) NEQA O ALL_ONES); ! ' ! tC OR DOCLN IF CONTROLLER EXISTS THEN 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 = O; - 1) DO END; EOP_FLAG = FALSE; ENDCLN; ' CLEAR END-OF -PASS FLAG SEQ 0135 Page 39 (9 CZRCD2 v0e2.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 Routine Size: Maximum stack 000000 004737 000004 000006 104412 000207 ;: Routine Size: TM ; Maximum stack LCLEAN: 0000006 000000G 0000006 000001 000000G 8IT8 BNE MOV MOV MOV MOV TRAP 1$: 1771777 0000006 000016 000052 2%: 000004 000010 3s: 0000006 44 000017 000000G 172350 172352 S$: 6$: 64 words, Routine Base: depth per invocation: 7 words 003304 4 LCLEAN CLEANUP CODING SECTION R1,-(SP) CLK.TYPE 6% 9CLK.CSR CLK.VECTOR,RO %6 #1,EO0P.FLAG 3 #340,-(SP) ONEX.TRAP, -(SP) 44,-(SP) #3,-(SP) 37 RO g?T(RO).RCZS.ADDR CLR 000000G 000000G 001000 001200 177572 000000G .SBTTL MOV ST BEQ MOV TRAP 000340 000000V 000004 000003 000001 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 words, depth per CLR MoV BEQ MOV MoV ADD CMP BLE MoV TRAP ADD CLR R1,8CST(RO) #16,R0 RO, #52 CLRB INC CMP BLE BITB BEQ DUR(RO) RO RO, #17 4% gl.HEH.HGHT $ #1000, 84172350 #1200,84172352 MOV MOV CLR CLRB MOV RTS $CODES 84177572 EOP.FLAG (SP)+,R1 PC + L$CLEAN: : JSR TRAP RTS Rout ‘ne Base: invocation: 2 words $CODES USER$1:(AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0136 Page 40 (9 ; : H : H 2284 2297 2299 ; 2308 : 2312 ; ; 2303 2304 CTLR *(CTLR),»* ; *,RC.REG ; RC.REG,=* ; ;: *,CTLR CTLR,» 2313 2316 2318 2313 : 2322 : 2310 ; UNIT ; *(UNIT) : UNIT 2326 2327 2326 H 2329 : : H H H 2333 2334 2335 2339 2284 : 2339 ; UNIT,& 3304 PC,LCLEAN 12 PC « VAX-11 Bliss-16 V4.0-579 3504 CZRCD2 CZRCDBO RC25 DISK EXERCISER DROP UNIT SECTION . . L) - L] . * - L3 . 1) . . . L] - 1] . * . . . ’ . LJ - 1] - e . L3 - L) . 1] . [] - . [ . L] - 1] . * . L) . L) - L4 . [ - 1] - * - L] - * [ - L) . ’ . L) - . . » - ” . [ . [ . . . [ - . L . L] . [ . . . L4 . . L - [ . ’ . 1] - . #SBTTL VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDBICZRCC2.SRC;8 'OROP UNIT SECTION' te 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/UNIT: X" ] ' ! ! ! ! THE PROGRAM WILL DROP A UNIT FOR ONE OF SEVERAL REASONS: 1 . A CONTROLLER CANNOT BE BROUGHT ONLINE, 2 . A PLATTER CANNOT BE BRCUGHT ONLINE TO ITS CONTROLLER, 3. AN UNRECOVERABLE PORT OR CONTROLLER ERROR HAS BEEN DETECTED, 4 . A PLATTER HAS REACHED THE HARD ERROR LIMIT, OR S . AN MSCP END MESSAGE CONTAINS A "UNIT-OFFLINE” STATUS CODE. ' ! ' ' ] ' ' ! ! BGNOU; OWN DUM_TBL LOCAL UNIT : : VECTOR [S5] INITIAL (DUM_UC, DUM_IE, OUM HE, DUM_CE, DUM_UE); WORF WO\ _; ! 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 PEGISTER ! ASSUME NO PRINTING OF MESSAGE ! BEGIN SEARCH BLOCK PRINT : <o LABEL SEARCH; N GG GGG - 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 23711 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 BEGIN ONIUTIE B D UGN RN 1] . PRINT NNV . [ T PO P N R PO R D R N R N o e s b b 8 40 b} ot 8 |t s o ot o v02.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 = FALSE; SEARCH: BEGIN INCR CTLR FROM O TO (MAX_CTLR BEGIN INCR OFFSET FROM (O BEGIN IF ((.CST (.CST THEN + [.C” R, [.C.LR, - OF _UN) 1) DO TO (3 .OFFSET, .OFFSET, +« OF UN) DO ! FOR EACH CST ' FOR EACH UNIT ENTRY IN CST P_PRES] EQLU PRESENT) AND P_UNIT] EQLU .UNIT)) ! ! ! IF UNIT EXISTS AND UNIT MATCHES CST ENTRY THEN BEGIN IF .CST [.CTLR, THEN BEGIN .OFFSET, P_STAT] EQLU ONLINE ! ! IF UNIT IS ONLINE THEN SEQ 0137 Page 41 (10) CZRCD2 CZRCDBO RC2S DISK EXERCISER DROP UNIT SECTION : H : H H H : : H H : : H : H H : : H H : : : : : H H H H H : H H : 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 28422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 H 2434 : 2433 HDDWHWHWWEWWEHNDWNNMNDWENLBUNVNORNRRN-J~JO0 00 000 ~J~J~J~d v02.0 003514 003516 003520 003522 003524 000000G 0000006 0000006 0000006 0000006 000000 000004 000006 000010 000012 000014 000020 000024 000026 000032 000024 004137 010001 005004 005003 010346 012746 004737 010005 012702 010500 060200 PRINT = 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 TRUE; CST [.CTLR, .OFFSET, P_STAT] IF .CPT [.UNIT] EQLU YES = OFFLINE; THEN VAX-11 Bliss 16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD2.SRC;8 ! 0.K. ! ' MARK UNIT OFFLINE IF UNIT IS UNDER TEST ! SEQ 01338 Page 42 (10) TO PRINT MESSAGE THEN BEGIN CPT [.UNIT) = NO; CST [.CTLR, U_CNT] = .CST [.CTLR, U_CNT] DM_COMM [.CTLR, .OFFSET - OF _UN, ALLBIT] = ! ! ' 1; -1; NO FURTHER TESTING DECREMENT UNIT COUNT IF DM EXER, TELL FPT END; END; ' LEAVE SEARCH; ! EXIT END; ! IF UNIT EXISTS AND MATCHES ! CST UNIT LOOP ! CONTROLLER LOOP ! SEARCH BLOCK END; END; END; IF MANUAL AND (.PRINT OR (.DUR THEN BEGIN PRINTF PRINTF PRINTF PRINTF IF UNIT WAS ONLINE SEARCH BLOCK [.UNIT] LEQU DU_INIT)) (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 000000G 000003 LDU: 1%: 2%: DUM.UC DUM.CE OUM. IE DUM. HE OUM.UE .SBTTL JSR MOV CLR CLR MOV MOV JSR MOV MOV LDU DROP UNIT SECTION R1,$SAVES RO,R1 R4 R3 R3,-(SP) #7,-(SP) PC.BLSMUL RG,RS #3 ,R2 H ; ; ; ;: INPUT,UNIT PRINT CTLR CTLR,* ; *,0FFSET ADD R2,RO ; OFFSET,* MOV R5,R0O : 2341 2375 2379 2384 2390 2387 2390 CZRCD2 CZRCDBO RC25 DISK EXERCISER OROP UNIT SECTION v0e2.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 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 0G0411 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 ASL ADD 0000006 040000 BIT 8EQ MOV MOV SWAB 8IC CMP BNE BIT BEQ MOV BIC CMPB BNE CLRB MOV MOV JSR TST DECB MoV 177740 020000 000001 020000 0000006 0000006 000016 000000G 0000056 000032 000000G 1777717 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 MOV 1777726 000006 3s: 44 JSR TST ADD ASL MOV CMP BR INC cMeP BLE cMP 000003 S$: 0000006 000002 0000006 000001 0000006 0000006 0000006 000000G 000004 0000006 6$: INC CMP BLE TRAP BHIS ROR BLO CMPB BHI MOV MOV MOV TRAP MoV MOV MOV MOV MOV MoV TRAP MOV MOV RO #CST,RO #40000, (RO) 44 R1,-(SP) (RO),-(SP) (SP) VAX-1! Bliss-16 V4.0 579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;: 8 : UNIT,s SEQ 0139 Page 43 (10) 2391 4177740, (SP) (SP)+,(SP). 43 #20000, (RO) 3 #20000,(RO) CPT(R1),R4 34 CPT(R1) R3,(SP) 416, -(SP) PC,BLSMUL : ; H ; 2395 *%,PRINT 2399 #(UNIT),s 2401 2400 ; *(UNIT) ; CTLR,* 2405 2406 R3,(SP) #32,-(SP) PC.BL$MUL : CTLR,» 2407 R2,RO RO #-1,0M.COMM-6(R0O) ;: OFFSET,» (SP)+ CST+S(RO) (SP)+ (SP)+,(SP)+ 5¢ R2 R2,%6 2 (SP)+,(SP)» R3 R3,43 1$ 50 7% R4 64 DUR(R1), 42 7% #CRLF, -(SP) #1,-(SP) SP,RO 17 SECONDS, (SP) MINUTES, -(SP) HOURS, -(SP) QETIME, -(SP) #4,-(SP) SP,RO 17 R1,(SP) #DUM. 00, -(SP) : 2393 : OFFSET ; OFFSET,» : 2387 2385 ; CTLR ; CTLR,= 2384 H 2423 : PRINT ; *(UNIT),» : : 2427 SP,.» , 2428 i SP,& ; UNIT,s 2429 CZRCO2 CZRCOBO RC25 DISK EXERCISER DROP UNIT SECTION v02.0 000306 000312 000314 000316 000320 000324 000326 000332 000336 000340 000342 000346 : ; 000002 MOV MOV TRAP CLR BISB ASL 0000006 003514’ 000001 000022 #2,-(SP) SP,RO 17 RO ODUR(R1),RO RO DUM. TBL(RO) (SP) , #1,-(SP) SP,RO 17 22, 5P PC MOV 7%: MOV MOV TRAP ADD RTS Routine Size: $CODES$ 116 words, Routine Base: Maximum stack depth per invocation: 17 words 000000 000004 000006 ;: ; 012746 010600 104417 005000 156100 006300 016016 C12746 010600 104417 062706 000207 14-Jun-1985 09:36:36 14-Jun 1985 09:32:03 004737 104453 000207 Routine Size: Maximum stack 003526 4 words, depth per LsDU:: Routine Base: invocation: 2 words USER$1:[AZTEC.CZRCNB JCZRCD2.SRC; 8 H H SEQ 0140 Page 44 (10) SPO. : *(UNIT),» ; SP,» 2430 H H 2425 2341 ; 2432 3526 .SBTTL JSR TRAP RTS $CODES VAX-11 Bliss-16 V4.0-579 L$DU DROP UNIT SECTION PC,LDV 53 PC + 4076 CZRCD2 CZRCDBO f.C2S DISK EXERCISER ADD UNIT SECTION . ~ R T R N RO N M) - s s ot s et 0 s et 'ADD UNIT 4S5 (1) 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 TP~ OPERATOR COMMAND "ADD/UNIT:X". BGNAU; LOCAL UNIT : WORD, STINDX : WORD, ENDIDX : WORD; INPUT = 0; UNIT = _INPUT; ! ! UNIT NUMBER APPEARS IN RO UPON ENTRY GET UNIT NUMBER END; ! UNDECLARE REGISTER W Page L4 NUMBER 004137 105060 010046 012746 004737 010002 062702 010001 005301 000404 010100 006300 005060 005201 SEQ 0141 SECTION' ! OF UNIT BEING ADDED BEGIN REGISTER DUR [.UNIT] = 0; ZERO OUT DROP UNIT REASON ZERO OUT ADDED UNIT'S STATISTICS STINDX = ,UNIT & TALLY_LEN; ENDIDX = .STINDX + TALLY_LEN - 1; INCR COUNT FROM .STINDX TO .ENDIDX DO TALLY [.COUNT] = 0; ENDAU; 000000G 000000G LAU: .SBTTL JSR CLRB LAU ADD UNIT SECTION R1,$SAVER2 DUR(RO) RO, -(SP) JSR MOV ADD PC,BL$MUL RO,R2 @27,R2 RO,R1 R1 24 R1.RO RO TALLY(RO) R1 R1.R2 1$ MOV MOV 000030 000000G 000027 430, -(SP) MOV DEC BR 1%: MOV ASL 2%: INC 000000G 020102 003771 022626 000207 ; Routin e Size: ; ®%SBTTL USER$1:(AZTEC.CZRCDB JCZRCD2.SRC; 8 NN 2435 2436 2437 2438 2439 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 VAX-11 Bliss-16 vV4.0-579 =00 RN NN R N N B B8 B¢ 90 @5 B @ W0 @6 Gs ©E BE Be S0 s BT B G B Vs BF e Be B0 B8 W G @ W6 S we v02.0 000000 000004 000010 000012 000016 000022 000024 000030 000032 000034 000036 000040 000042 000046 000050 000052 000054 000056 14 Jun-1985 09:36:36 14 Jun-1985 09:32:03 CLR CMP BLE CMP RTS 24 words, Maximum stack depth per Rout ine Base: 6 words invocation: $CODES (SP)+,(SP)+ PC « 4106 : ; «(UNIT) UNIT,s : ; STINDX,ENDIDX *,ENDIDX ; STINDX,COUNT ; COUNT 2434 2459 2460 2461 2462 2463 ; ; COUNT COUNT,ENDIDX 2462 2434 CZRCD2 CZRCDBO RC25 DISK EXERCISER v02.0 000000 000004 000006 ; : 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ADD UNIT SECTION 004737 104452 000207 Routine Size: Maximum stack 004106° 4 words, depth per L$AU:: Rout ine Base: invocation: 2 words .SBTTL JSR TRAP RTS $CODES L$AU ADD UNIT SECTION PC.LAU 52 PC + 4166 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 : SEQ 0142 Page 46 (10 2463 CZRCD2 CZRCDBO RC25 DISK EXERCISER NON-EXISTENT MEMORY TRAP HANDLER 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 =200 PO RO N e 4=t ot ot ot ot s ot P @ @ @ o @ e @r @e = 0e @ oo = oo v02.0 000000 012737 000006 000002 ; ;: Routine Size: %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 0143 Page 47 (12) 'NON-EXISTENT MEMORY TRAP HANDLER' * ! ! ! ! ] 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 0000006 .SBTTL NEX.TRAP:: MOV NEX.TRAP NON-EXISTENT MEMORY TRAP HANOLER 41 ,NEX RTI 4 words, Maximum stack depth per Routine Base: invocation: O words $CODES$ : ; + 4176 24177 2475 C2ZRCD2 CZRCOBO RC2S DISK EXERCISER CLOCK INTERRUPT SERVICE ROUTINE ENDSRV; 00000 005217 0000006 000004 000012 000014 000020 200024 000032 000034 000040 000044 00002 023737 000000G 000000G 5 G0 B0 81 B0 00 00 B G0 TF B9 04 V0 e G0 G W B0 @1 B CF O0 G0 G0 €6 @ G0 B B G G0 S8 GF G9 G5 G0 S0 S0 @9 00 we Go HRNRORVRNVWWEENVNWVNUVINEGLLEEEBWWWWWWNNN NN - 1o e e s po po 4o o v02.0 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 001024 005037 5237 023727 001014 005037 005237 023727 001004 @SBTTL 'CLOCK INTERRUPT SERVICE 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 0144 Page 48 13 ROUTINE' * THE CLOCK INTERRUPT SERVICE ROUTINE IS ENTERED AT THE CLOCK HERTZ RATE (50 OR 60 TIMES PER SECOND). ITS PURPQSE IS TO MAINTAIN THZ ELAPSED TIME OF THE EXERCISER, AND, IF ONE SECOND HAS ELAPSED, Tu FLAG THE EVENT BY SETTING T_FLAG TO "TRUE". BGNSRV (CLK_INT_SERV); TICKS = . TICKS IF _TICKS EQLU THEN « 1; .CLK_HERTZ BEGIN TICKS = 0O; SECONDS = .SECONDS IF _SECONDS EQLL 60 1; THEN BEGIN SECONDS MINUTES IF = O; = _MINUTES _MINUTES EQLU 60 . 1; . 1; THEN BEGIN MINUTES HOURS = = 0; _HOURS END; END; END; IF l( .TICXS EQLU O ! THEN T_FLAG = ' ! TRUE; 0000006 0000Q0G 000000G 000074 000000G 000000G 000000G 000074 LSBTTL CLK,INT,.SERV:: INC cMP BNE CLR INC cMP BNE CLR INC CMP B8NE IF ONE SECOND HAS ELAPSED THEN FLAG THE EVENT CLK.INT.SERV CLOCK TICKS TICKS,CLK.HERTZ 1s TICKS SECONDS SECONDS, ¢74 1 SECONDS MINUTES MINUTES, ®74 1 ' N, = - INTERRUPT SERVICE ROUTINE : ; 2491 2492 : : : 2496 2497 2498 H ; : 2502 2503 2504 C2RC02 CZRCUBO RC2S DISK EXERCISER CLOCK INTERRUPT SERVICE ROUTINE v02.0 000054 000060 000064 000070 00072 0002900 : 025037 035237 005737 001003 112737 0000006 0000006 0000006 00001 Rout ' ne S'ze: I3 words, : Mavimum stack depth per CLR INC 1s: 18T BNE 2$: RTI MINUTES HOURS TICKS 24 HMOv8 000000G 000002 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 Rout ‘ne Base: ‘nvocat on: 0O words $CODES 1,7 .FLAG VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC:8 H H 2508 2509 : 2517 : 2519 2489 H . 4206 SEQ 0145 Page 49 (13) e S ST Y VL VI S 2522 2523 2524 2525 2526 2527 2528 2529 2530 253¢ 2532 2533 2534 2535 2536 2537 2538 O ey C2ZRCOBO RC25 DISK EXERCISER GLOBAL ROUTINES [dU S VIV @ @ @0 @0 05 W0 G0 G5 G B0 G0 w6 Be @ G0 Or @0 CZRCD2 v0e2.0 000000 005000 000202 000004 000012 000020 000026 000030 000034 000036 000411 017676 062766 062766 005200 020066 003763 000267 ; Routin e Size: ; Maximum stack wSBTTL GLOBAL 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 VAX-11 Bliss-16 vV4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0146 Page 50 (14) ROUTINES' GLOBAL ROUTINE COPY_BLK (SRC, DST, NWRDS) : NOVALUE = ‘e . THE PURPQOSE OF THIS ROUTINE IS TO TRANSFER A BLOCK OF MEMORY OF "NWRDS* FROM 'SRC" TO “DST'. ] . ] . LENGTH 1. . INCR I FROM 1 TO BEGIN .NWRDS DO .DST = | SRC; DST = .DST .+ 2; SRC = .SRC + 2; ! FOR EACH WORD IN BLOCK ! ! ! TRANSFER WORD FROM SOURCE TO DESTINATION ADVANCE DESTINATION ADDRESS ADVANCE SOURCE ADDRESS END:; 000006 000004 000002 000006 000002 .SBTTL COPY.BLK:: CLR BR 13: MOV 000004 ARDD 2%: 000002 16 words, depth per Routine Base: invocation: O words ADD INC cMP BLE RTS $CODES$ COPY.BLK GLOBAL ROUTINES RO 2 6(SP),34(<P) ;i I 2531 ; SRC,DST 2534 #2,6(SP) RO RO,2(SP) 1 PC ; *,SRC 2536 #2,4(SP2 + 4310 ; s : : &,DST I I,NWRDS 2535 2531 2524 CZRCOBO RC25 DISK EXERCISER GLOBAL ROUTINES CZRCD2 GLOBAL ROUTINE SET_CPAR (CTLR) : NOVALUE END; 010146 000C02 000006 000012 000014 000020 000024 000C30 000034 000036 000042 000046 000052 000056 000064 0000VE6 000072 000076 0001C2 016601 010137 010146 012746 004737 062700 010037 010116 012746 004737 062700 010037 017737 010116 012746 004737 062700 010037 * CCTLR = .CTLR; ! SET CURRENT CONTROLLER NUMBER CST_ADDR = CST + (.CTLR » CST_LEN = 2); ! CALCULATE ADDRESS OF CONTROLLER'S CST DCT_ADDR = DCT + (.CTLR & DCT_LEN & 2); ! ! 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 2); ! CALCULATE ADDRESS OF CONTROLLER'S DM_COMM AREA OCL_X1 = _CTLR & QUTC_CNT; ' STARTING INDEX OF CTLR'S QUTC AREA 000000 SEQ 0147 Page Si 15) = RO R PR PO N N - 4t 18 (b pod b (b b ph ot s s 0 8 ot (ot Pt pt Pt Pt ot 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD2.SRC: 8 200 PP @6 S0 Be B0 We B G5 GC BE Ve Ve W1 ¢ B Ve ©F Ve V1 VP TS B0 G¢ B We O OF Be G GF We G B0 we s v02.0 14-Jun-1985 09:36:36 14 Jun-1985 09:32:03 THIS ROUTINE FOR THE INPUTS: SETS UP GIVEN CTLR THE COMMONLY-USED CONTROLLER-RELATED DATA CONTROLLER - ITEMS NUMBER. CONTROLLER NUMBER IMPLICIT QUTPUTS: CCTLR CURRENT CONTROLLER NUMBER CST_ADDR - ADDRESS OF CONTROLLER'S STATUS TABLE DCT_ADDR - ADDRESS OF CONTROLLER'S DRIVER TABLE RC25_ADDR - DMC_ADDR OCL_X1,2 - RPS_X1,2 - ADDRESS OF CONTROLLER'S IP REGISTER ADDRESS OF CONTROLLER'S DM_COMM AREA STARTING/ENDING INDECES OF CONTROLLER'S OUTSTANDING COMMAND AREA (OQUTC_LIST, OUTC_TIMR) STARTING/ENDING INDECES OF CONTROLLER'S RETURN PACKET SAVE AREA (RP_SAVE) BEGIN OCL X2 RPS_X1 RPS_X2 = = = .0CL_X1 + QUTC_CNT - t; _CTLR * RPS_LEN; .RPS_X1 + RPS_LEN - 1; 000004 0000006 000016 0000006 000000G 0000006 000022 0000006 0000006 0000006 000000G 000000G 000064 0000006 0000006 0000006 ! ! ! .SBTTL SET.CPAR:: MOV MOV MOV MoV MoV JSR ADD MOV MOV MOV JSR ADD MOV MOV MOV MOV JSR ADD MOV ENDING INDEX OF CTLR'S QUTC AREA STARTING INDEX OF CTLR'S RETPKT SAVE AREA ENDING INDEX OF CTLR'S RETPKT SAVE AREA 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) 922, -(SP) PC,BL$MUL #0CT,RO RO,DCT.ADDR 8CST.ADDR,RC25.ADDR R1,(SP) #64,-(SP) PC,BLSMUL #DM.CCMM,RO RO,DMC.ADDR ; ;: CTLR,» 2539 2562 : 2563 H 2564 ; H 2565 2566 CZRCD2 v02.0 000106 000110 000112 000114 000116 000120 000124 000130 000136 000140 000142 000144 000146 000152 000156 000164 000170 000172 ;: : CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 010100 036300 006300 006300 006300 010037 010037 062737 010100 006300 006300 006300 010037 010037 062737 062706 012601 000207 Routine Size: Maximum stack 0000006 000000G 000017 000000G 000000G 0000006 000007 000000G 000010 62 words, depth per Routine Base: invocat on: 6 words 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 $CODES R1,RO RO RO RO RO RO,0CL . X1 RO,0CL .X2 #17,0CL. X2 R1,RO RO RO RO RO,RPS.X1 RO,RPS.X2 47,RPS . X2 €10,5P (SP)+,R1 PC + 4350 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCOP 1CZRCD2.SRC; 8 H ;: SEQ 0148 Page 52 (15 2567 OCL.X1,= 2568 H 2569 ; RPS.X1,# 2570 ; 2560 i 2539 CZRCOD2 v0e.0 010146 000002 000010 000014 000016 000022 000026 016637 000032 000034 000036 000042 000046 000050 000054 000060 000064 000070 000072 000074 016600 006300 063700 111037 105037 011001 000301 042701 010137 ( 46 %6 0. oC 737 06700 010037 022626 012601 000207 : NOVALUE VAX-11 Bliss-16 V4,0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0149 Page 53 (16) = * b ot b ot ot ot P ot ot Pt o Pt 000000 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 GLOBAL ROUTINE SET_UPAR (OFFSET) THIS ROUTINE SETS UP THE COMMONLY-USED UNIT-RELATED DATA THE CURRENT CONTROLLER AND GIVEN CST OFFSET. ITEMS FOR INPUTS: OFFSET - WORD OFFSET INTO CURRENT CONTROLLER'S CST WHICH DESCRIBES A UNIT IMPLICIT INPUTS: CST_ADDR s 4t o o ot b ot p 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 MM RN f : H : : H : : : H H H H H : H H : : : H H : : H 2573 2574 2575 FE OO H : : CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES - ADDRESS OF CURRENT CONTROLLER'S CST IMPLICIT QUTPUTS: CUOFF - CURRENT UNIT'S CST OFFSET CPLAT - CURRENT PLATTER ADDRESS (MSCP UNIT NUMBER) LSLUN - CURRENT UNIT NUMBER (DS UNIT NUMBER) T_ADDR - ADDRESS OF CURRENT UNIT'S STATISTICS BLOCK (TALLY) BEGIN CUOFF = _OFFSET; CPLAT = _CST_ADDR [.OFFSET, P_ADDR]); LSLUN = _CST_ADDR [.OFFSET, P_UNIT]; T_ADDR = TALLY + (.LSLUN # TALLY_LEN * 2); END; .SBTTL 000004 000004 000000G 000000G 000001G 177740 000000G 000060 000000G 0000006 0000006 000000G SET.UPAR:: MOV MOV MOV ASL ADD MOVB CLRB MOV SWAB BIC MOV MOV MOV JSR ADD MOV CMP MOV RTS 31 words, Rout ‘'ne Ba<e: $CODES ; Routine Size: 4 words ; Maxi~.mr stack depth per invocation: SET.UPAR GLOBAL ROUTINES R1,-(SP) 4(SP),CUOFF 4(SP).RO RO CST.ADDR,RO (RO),CPLAT CPLAT+1 (RO),R1 R1 H ; ;: OFFSET,» CUOFF,s H 2573 2595 2596 2597 #177740,R1 R1,L$LUN R1,-(SP) #60, -(SP) PC.BLS$MUL #TALLY,RO RO,T.ADDR (SP)+,(SP)» (SP)+,R1 PC + 4544 : : H LSLUN,s 2598 2593 2573 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 2601 2602 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 PR WNDEDLELLDLEELEWWWWRRNRINNMNMNNN F e s s e s s s s ps pos pa S9 WS 00 W0 @5 40 B B WS B2 S0 WS B WS W W V6 B P B WS BE @0 GF OGP B¢ G4 We S ©0 W Vs G @s @ W Ge @0 CZRCD2 v02.0 GLOBAL ROUTINE GET_ENV (CTLR) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0150 Page 54 17 = e ! ! ! ! THIS ROUTINE SEARCHES THE MSCP ENVELOPE POOL ALLOCATION TABLE CENV_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 BEGIN IF _ENV_USE THEN (ENV_CNT 1) DO ! FOR EACH ENTRY IN ALLOCATION TABLE [.COUNT] LSS 0 ! IF ENTRY INDICATES FREE ENVELOPE [.COUNT] ! ALLOCATE ENVELOPE TO CONTROLLER ! ZERO QUT ENVELOPE ! DONE ! THEN BEGIN ENV_USE = .CTLR; INDEX = _COUNT; INCR J FROM 2 TO (ENV_LEN - 1) DO MSCP_ENV [.COUNT, .J, ALLBIT] = 0; EX1TLOOP; END; END; RETURN .INDEX; END; 000000 004137 000000G 000004 000010 000012 000016 000020 000026 000030 000032 000036 000042 000044 000050 000052 012703 005001 105761 002026 116661 010103 010146 012746 004737 177777 022626 012702 010004 060204 14 Jun-1985 09:36:36 14-Jun-1985 09:32:03 000000G 000014 000000G .SBTTL GET.ENV:: JSR MOV CLR 1$: TS18 BGE MOVB MOV GET.ENV GLOBAL ROUTINES R1,$SAVES #-1,R3 R1 ENV.USE(R1) 3 14(SP),ENV.USE(R1) R1,.R3 H ; ; ; %, INDEX COUNT *(COUNT) ; CTLR,*(COUNT) ; COUNT,» ; COUNT, INDEX 000042 000000G MOV MOV JSR R1,-(SP) #42,-(SP) PC,BLSMUL 000002 CMP MOV (SP)+,(S5P)+ #2,R2 F N R2,R4 i Jok 24: MOV ADD RO,.R4 : 2601 2618 2620 2623 2627 2628 2630 2629 2630 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES v02.0 000054 000056 000062 000064 000070 000072 000074 000076 000102 000104 000106 ;: ; 006304 005064 005202 020227 003767 000404 005201 020127 003743 010300 000207 14-Jun-1985 09:36:36 14 Jun-1985 09:32:03 ASL 000000G 000041 000137 3 44 Routine Size: 36 words, Routine Base: Maximum stack depth per invocation: 8 words CLR INC CMP BLE BR INC CMP BLE MOV RTS $CODES R4 MSCP.ENV(R4) R2 R2,%41 23 43 R1 R1,#137 1 R3,R0O PC + 4642 SEQ 0151 Page S5 USER$1:(AZTEC.CZRCDB ICZRCD2.SRC;8 an VAX-11 Bliss-16 v4,0-579 ; J i Jos H : COUNT : COUNT,» ; INDEX, : 2629 2625 2620 2613 2601 CZRCD2 CZRCOBO RC25 DISK EXERCISER GLOBAL ROUTINES s et s ot ot pd pea 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 GLOBAL ROUTINE PUT_ENV (INDEX) PO MM N @ @ @0 s @ W @0 @0 @¢ o0 s ®s v0e2.0 BEGIN : VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 3 SEQ 0152 Page 56 (18) NOVALUE = le ! ! THE MSCP ENVELOPE DESIGNATED BY ROUTINE. "INDEX” IS RETURNED TO THE POOL BY THIS ' ENV_USE [.INDEX] = -1; END; 000000 016600 000002 000004 000012 112760 000207 000377 ;: ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL PUT.ENV:: MoV Move RTS 000000G 6 words, Routine Size: Maximum stack depth per Routine Base: 0 words invocation: $CODES PUT.ENV GLOBAL ROUTINES 2(SP),RO #377,ENV.USE(RO) PC + 4752 ;i H INDEX,* 2649 2640 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 N W WNWWRN NN = s s ot ot ot ot o ps o CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES PP WS W B BF We @ B G5 @ WS VS B B Ge W BF Be G ®s We @8 ®e CZRCD2 v02.0 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: Max'mum stack 14-Jun-1985 09:36:36 14-Jun-198S 09:32:03 GLOBAL ROUTINE PUTA_ENV (CTLR) : NOVALUE VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD2.SRC;: 8 SEQ 0153 Page S7 (19 = * THIS ROUTINE DEALLOCATES ALL MSCP ENVELOPES WHICH HAVE BEEN ALLOCATED TO A PARTICULAR CONTROLLER. INPUTS: CTLR - CONTROLLER NUMBER BEGIN INCR COUNT FROM O TO (ENV_CNT BEGIN IF _ENV_USE THEN [.COUNT] EQLU ENV_USE [.COUNT] = - 1) DO .CTLR -1; ! FOR EACH ENTRY IN ALLOCATION TABLE ! ! ! IF ENVELOPE IS ALLOCATED TO GIVEN CONTROLLER THEN DEALLOCATE IT ! ROUTINE PUTA_ENV END; END; .S8TTL PUTA.ENV GLOBAL ROUTINES MOV R1,-(SP) RO ENV.USE(RO),R1 R1,4(5P) 23 #377 ,ENV.USECRO) RO RO, %137 14 PUTA.ENV:: 000000G 000004 000377 000137 1¢: 000000G 2$: 16 words, Rout ‘'ne Base: depth per invocation: 2 words CLR MOVB CcMP BNE MOVB INC cMP BLE (SP)+,R1 MOV RTS PC $CODES 4766 COUNT #(COUNT),» +,CTLR ; &,&(COUNT) COUNT & COUNT, 2652 2664 2667 2669 2664 2652 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 GLOBAL ROUTINE GET_RETPKT (CTLR) VAX-11 Bliss-16 V4.0-579 USER$1:[ 1ZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0154 Page S8 (20) = * 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 HVRVRVODWNDEDLLLLLEDUWWWWNINNNMN N RN o e e s s s s s s s s pa Bt Bs BT BE W We s Ve WS WL e GBI W B B0 WE W6 BE B e S0 G S W V¢ WE W Be We W G G0 G W G W We e o v0o2.0 14-Jun-1985 09:36:36 14-Jun-198S 09:32:03 THIS ROUTINE SEARCHES THE RETURN PACKET POOL FOR A FREE FOUND, THE RETURN PACKET PACKET THE CALLER. INPUTS: CTLR IS TO ALLOCATE ZEROED OUT, OTHERWISE, A AND TO THE ALLOCATION TABLE (RP_USE) GIVEN THE PACKET CONTROLLER. IF ONE INDEX IS RETURNED TO IS -1 IS RETURNED INDICATING NONE AVAILABLE. CONTROLLER NUMBER REQUESTING ALLOCATION BEGIN LOCAL INDEX INDEX = : WORD; -1; INCR COUNT FROM O TO (RP_CNT BEGIN IF _RP_USE THEN - 1) DO [.COUNT] LSS O ! ASSUME NONE AVAILABLE ! FOR EACH ENTRY IN TABLE ' IF FREE RETPKT IS FOUND ! ALLOCATE RETURN PACKET ! 2ERO QUT RETPKT ! DONE ! RETURN PACKET BEGIN RP_USE [.COUNT) = .CTLR; INDEX = ,COUNT; INCR J FROM O TO (RP_LEN - 1) DO RETPKT [.COUNT, .J, ALLBIT] = 0; EXITLOOP; TO CONTROLLER END; END; RETURN .INDEX; INDEX (OR 1) TO CALLER END; 000000 004137 0000006 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 .SBTTL GET.RETPKT:: JSR 0000006 000014 13: MOV CLR gSTB GE 000000G MOVB 000030 000000G 2%: MOV MOV MOV JSR cMP CLR MOV ADD GET.RETPKT GLOBAL ROUTINES R1,$S5AVE4 #-1,R3 R1 RP.USE(R1) 3 14(SP),RP.USE(R]1) R1.R3 R1,-(SP) #30,-(SP) PC,BLS$MUL (SP)+,(SP)» R2 RO,R4 R2,R4 : 2674 ; ; ; &, INDEX COUNT s(COUNT) 2691 2693 2696 ; ; : CTLR,s(COUNT) COUNT, INDEX COUNT,» 2700 i : J 2702 2703 ; Jos 2701 2703 CZRCOD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES v02.0 000052 000054 000060 000062 000066 000070 000072 000074 000100 000102 000104 ; ; 006304 005064 005202 020227 003767 000404 005201 020127 003744 010300 000207 Routine Size: Maximum stack ASL 0000006 000027 000037 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 3s: 44 R4 RETPKT(R4) R2 R2, @27 24 4% R1 R1,037 1 R3,RO PC CLR INC CMP BLE BR INC CHMP BLE MOV RTS Rout ine Base: 35 words, $CODES depth per invocation: 8 words + 5026 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB ICZRCD2.SRC: 8 ; i H ; J Jes 2702 COUNT 2693 ; COUNT,» : INDEX,» H SEQ 015% Page 59 (20) 2698 2686 2674 CZRCO2 CZRCOBO RC25 DISK EXERCISER GLOBAL ROUTINES 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 = 0 RO PO PO = 12 s s pa oo poa ........................ v02.0 GLOBAL ROUTINE PUT_RETPKT (INDEX) ! SEQ 01S6 Page 60 (21) NOVALUE = DESIGNATED BY "INDEX“ IS RETURNED TO THE POOL BY THIS BEGIN RP_USE [.INDEX] = -1; END; 000002 000004 000012 112760 000207 000377 Routine Size: THE RETURN PACKET ROUTINE. 016600 ;+ : VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCNB)CZRCD2.SRC; 8 e ! 000000 ; 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL PUT.RETPKT: : MOV MOVB RTS 0000006 6 words, Maximum stack depth per Routine Base: 0 words invocation: $CODES$ PUT.RETPKT GLOBAL ROUTINES 2(SP),RO ¢377,RP.USE(RQ) PC +« 5134 i : INDEX,s 2722 2713 C2RCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 2736 2737 2738 2739 2740 2741 2743 2744 2745 2746 2747 2749 2750 2751 2753 2754 2755 2756 2758 2760 2762 GLOBAL ROUTINE GET _IO BUFF (ADDR) THIS ROUTINE HANDLES POOL . INPUTS: OUTPUTS: ARDDR THE NOVALUE = ALLOCATION OF IF 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. N - 1) DO _BUFF _OWN [.COUNT] LSS O THEN ' ! ASSUME FAILURE FOR EACH ENTRY IN BUFFER TABLE ' IF BUFFER IS FREE ! BEGIN BUFF _OWN [ .COUNT]) = .CCTLR; ! .ADDR = _BUFF _DESC [.COUNT, BD_LO]; ! (.ADDR » 2) = .BUFF_DESC [.COUNT, BD_HI): EXITLOOP; ! END; END; ! END; ! 000004 000010 000014 000016 000020 000024 000026 000034 000036 000040 000042 000046 000054 000056 016602 012712 005001 000420 000010 177777 .SBTTL GET.IO.BUFF:: JSR 105761 000000G 113761 000000G 000000G 14: 000002G 000002 2%: 3s: 28 words, : Maximum stack depth per Routine Base: invocat on: 4 words BUFFER TABLE LOOP ROUTINE GET_IO_BUFF » . 2725 2745 ; ADDR,s ; COUNT 2746 ; #(COUNT) 2749 ; #,4(COUNT) ; COUNT, % 2753 2754 RO BUFF .DESC(RO), (R2) BUFF .DESC+2(R0O),2(R2) RTS INC cMP LT RTS $CODES$ DONE 10(SP),R2 4-1,(R2) R1 3 BUFF .OWN(R1) 2$ CCTLR,BUFF .OWN(RL) R1,RO RO MOV 0000006 ALLOCATE BUFFER TO CONTROLLER RETURN BUFFER DESCRIPTOR R1,$SAVE?2 MOV MOV CLR BR ;SEB MOVB MOV ASL ASL MOV 000000G THEN GET.IQ.BUFF GLOBAL ROUTINES 002014 ; Routine Size: AN I/0 BUFFER FROM THE BUFFER ADDRESS TO STORE THE 2 WORD BUFFER DESCRIPTOR .ADDR = -1; INCRnggNT FROM O TO (.NUM _BWF 000000G 010100 005300 006300 016012 016062 009207 005201 020137 002755 000207 61 (22) BEGIN 004137 000066 : VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC; 8 IMPLICIT INPUTS: CCTLR CURRENT CONTROLLER NUMBER 000000 000060 000064 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 7 * 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 B ID B IE YD D IB ID ID IO B I I S + HROWLDLEDLEWWWRIN NN I o e s e 1t 1o po o 40 po bt §0 oo 1o b o ®6 B8 00 09 B0 @6 0 B S) B4 G0 B0 OF G G W G0 @F G0 G0 GF B B0 G VP G0 B2 08 5 S6 e O v02.0 SEQ 015 Page PC R1 R1,NUM BUFF 1 PC + S150 : H ; ; : COUNT COUNT, s 2755 2751 2746 2725 CZRCOD2 CZRCDBO RC2S DISK EXERCISER v02.0 ;. H 3 : : : : H : : : H : GLOBAL ROUTINES 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2771 : : : : : : H : : : 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 : : : : : 2787 2788 2789 2790 2791 H 2786 1 1 1 1 1 1 1 1 2 2 2 3 3 'e H 000004 000006 000010 000012 000014 000016 000024 000026 000022 00C040 000042 000050 000052 000054 000060 000062 005002 000422 010201 006301 006301 026176 001012 016600 026160 001004 112762 000207 005202 020237 002753 000207 ; Routine Size: Max 'mum stack Page 63 (23) RETURNING IT ADDR - ADDRESS OF THE 2 WORD BUFFER DESCRIPTOR TO BE DEALLOCATED BEGIN INCR COUNT FROM 0 TO (.NUM_BUFF BEGIN IF ((.BUFF _DESC [.COUNT, THEN - 1) DO ! FOR EACH ENTRY IN BUFFER TABLE 8D_LO) EQLA ..ADDR) AND (.BUFF _DESC [.COUNT, BD_HI) EQLU .(.ADDR + 2))) BEGIN BUFF _OWN [ .COUNT) EXITLOOP; 4 004137 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0158 : NOVALUE = TO THE BUFFER POOL. INPUTS: VAX-11 Bliss-16 V4.0-579 1985 09:32:03 THIS ROUTINE HANDLES THE DEALLOCATION OF AN I/0 BUFFER, ' ! ! ! ! .. & 3 3 2 2 14-Jun GLOBAL ROUTINE PUT_IO BUFF (ADDR) & 3 & 4 4 4 000000 ; 14 Jun 1985 09:36:36 = -1, ! IF THIS IS THE BUFFER'S ENTRY ! THEN ! DEALLOCATE BUFFER ' DONE END; END; ! BUFFER TABLE SEARCH LOOP END; ! ROUTINE PUT_IO BUFF .SBTTL PUT.I0.BUFF: : 0000006 JSR 1s: 000000G 000010 000010 000002G 000002 000377 000000G 2%: 3. 000000G 26 words, cepth per Routine Base: invocation: 4 words PUT.IO0.BUFF GLOBAL ROUTINES R1,$SAVE?2 CLR BR MOV ASL ASL CMP BNE MOV R2 3 R2.R1 R1 R1 BUFF _.DESC(R1),310(SP) 24 10(SP),RO cMP BNE MOVB RTS INC cMP BLT RTS BUFF .DESC+2(R1),2(RO) 2 4377 ,8UFF . OWN(R2) PC R2 R2 ,NUM.BUFF 1s PC $CODES$ + 5240 H : COUNT 2763 2776 : COUNT, s 2779 : *,ADDR ;: ADDR,s ; : ; ; #,s(COUNT) : COUNT COUNT, s 2780 2784 2782 2776 2763 CZRCD2 CZRCDOBO RC2S DISK EXERCISER v02.0 : H 3 ; : : : ; H : : : : H : H H : : GLOBAL 2792 2793 2794 2795 27% 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 GLOBAL ROUTINE PUTA_BUFF 2 2 BEGIN 2 3 3 3 3 3 3 2 2 1 000000 010146 000002 000004 000006 000012 000016 000020 000026 000030 000034 000036 000040 0CS000 000411 116201 020137 001003 112760 005200 020037 002764 012601 000207 : ; ROUTINES 1 1 1 1 1 1 1 Rout'ne Size: Maximum stack 14 Jun-1985 09:36:36 e ' ! '- 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 = THIS ROUTINE DEALLOCATES ALL I/0 BUFFERS WHICH HAVE BEEN ALLOCATED TO THE CURRENT CONTROLLER (CCTLR). INCR COUNT FROM O TO (.NUM BUFF BEGIN - 1) DO ! FOR EACH ENTRY IN BUFFER TABLE IF .BUFF_OWN [.COUNT) EQLU .CCTLR THEN BUFF _OWN [.COUNT]) = -1; ! ' ! IF THIS BUFFER IS ALLOCATED TO THE CURRENT CONTROLLER THEN DEALLOCATE 1IT END; ! BUFFER TABLE ENTRY LOOQOP ! ROUTINE PUTA_BUFF END; 000000G 0000006 000377 000000G 0000006 .SBTTL PUTA.BUFF: : MOV CLR BR 1$: MOVB CMP BNE MOVB 2%: INC 3s: CMP BLT MOV RTS 7 words, Routire Base: depth per invocat'on: 2 words $CODES PUTA.BUFF GLOBAL ROUTINES R1, RO (SP) 3 BUFF .OWN(RO),R1 R1,CCTLR 2 #377,BUFF . OWN(RO) RO RO,NUM . BUFF 14 (SP)+,R1 PC + 5324 : ; COUNT 2792 2801 ;: #(COUNT) & 2804 ; ;: ; *,%(COUNT) COUNT COUNT,» 2801 : 2806 2792 CZRCD2 v02.0 : : : : H : : H : H : H H : : : H : : : : ; : ; 3 : : 2811 2812 2813 2814 2815 c8le 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2832 2834 2835 2836 2837 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 1 14-Jun-1985 09:36:36 VAX-11 Bliss-16 V4.0-579 GLOBAL ROUTINES 14-Jun USERS$1:(AZTEC.CZRCDB JCZRCD2.SRC;8 te ! ' ' ! ! ' ' ! ! !- INPUTS: OUTPUTS: LOCAL INDEX .I0DQ_OUT GEQU IODQ_LEN ! I0DQ_OUT = 0; RETURN .INDEX; IF BEYOND END OF QUEUE END; 005237 000000G 000030 ©05037 000000G Maximum stack WORD; ' THEN ' SET POINTER TO BEGINNING OF QUEUE ! RETURN INDEX TO CALLER IF 000014 Routine Si.e: : THEN 9009000G 177400 ; THE TNDEX OF THE NEXT RETPKT TO BE PROCESSED. ! GET NEXT RETPKT INDEX ! ADVANCE “0UT"” POINTER 116000 042700 ; NONE INDEX = .IO00Q [.IODQ OUT]; I00Q_0OUT = ,I00Q_OUT + 1; 000004 000010 000207 65 (25) BEGIN 000000G 000034 Page THIS ROUTINE RETURNS TO THE CALLER THE NEXT RETPKT INDEX TQO BE PROCESSED FROM THE I/0 DONE QUEUE (I0DQ). THE "OUT" POINTER TO THE QUEVE IS ALSO UPDATED. 013700 023727 103302 1985 09:32:03 SEQ 0160 GLOBAL ROUTINE OUT_IODQ = 000000 000020 000026 TM~ 1 CZRCOBO RC25 DISK EXERCISER .SBTTL OvT.I00Q:: MOV 15 words, depth per 1¢: Routine Base: invocat 'on: 0 words I0D0Q.0VUT,RO ; MOVB B8IC I0DQCRO),RO #177400,R0 ; : CMP BLO I00Q.0UT,#40 1 ; RTS PC $CODES$ + S366 INC 000000G 000040 0UT.I0ODQ GLOBAL ROUTINES CLR 100Q.0QUT 100Q.0VUT : H : *,INDEX *,INDEX 2830 2831 2832 2834 2811 CZRCO2 v02.0 1O =2 o e o o o s 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 = 1O N N G GO NG G GO 8 G : H H H : H : : : H : H H H H : : : H H : H H CZRCDBO RC25 DISK EXZIRCISER GLOBAL ROUTINES 000000 010146 000002 000006 000010 000012 000016 013701 010100 005200 020037 001421 010100 162700 020037 001413 116661 005237 023727 103402 005037 012601 000207 000020 000022 000026 000032 000034 000042 000046 000054 000056 000062 000064 ; ; Routine Size: Maximum stack 14 Jun-1985 09:36:36 14-Jun-1985 09:32:03 GLOBAL ROUTINE IN_IODQ (INDEX) : VAX-11 Bliss-16 V4.,0-579 USER$1:([AZTEC.CZRCDBJCZRCD2.SRC;8 SEQ 0161 Page 66 (26) NOVALUE = Ve ! ! THIS ROUTINE INSERTS A RETURN PACKET INDEX INTO UPDATES THE IODQ_IN POINTER. THE I/0 DONE QUEUE, AND BEGIN IF (CC.IODQ_IN + (.IODQ_IN THEN BEGIN 1) NEQU .I0DQ OUT) AND ! (IODQ LEN - 1) NEQU .IODQ_OUT)) !] I100Q [.IODQ_IN] = _INDEX; IF I/0 DONE QUEUE IS NOT FULL THEN LOAD INDEX INTO QUEUE ADVANCE “IN" POINTER IF BEYOND END OF QUEUE THEN IODQ_IN = .IODQ_IN + 1; IF .IODQ_IN GEQU IODQ_LEN THEN IODQ_IN = 0; CYCLE BACK TO BEGINNING OF QUEUE END; ! IF I0D0Q IS NOT FULL END; .SBTTL IN.IODQ GLOBAL ROUTINES 000000G MOV MOV MoV R1,-(SP) IODQ.IN,R1 R1.RO 0000006 CHP IN.I00Q: INC 0000006 1s: 27 words, Rout ‘'ne Base: depth per invocation: 2 words 2848 1$ R1,RO #37,R0 RO,I0DQ.0OUT 1 4(SP),I00Q(R1) IODQ.IN CMP 8LO CLR MOV RTS $CODEs : RO BEQ 000004 000000G 000000G 000000G 000040 2838 2847 RO,I00Q.0UT MOV suB CMP BEQ MOVB INC 000037 000000G : : I0DQ.IN,#40 1$ I0DQ.IN (SP)+,R1 PC + 5424 ; INDEX, % H : 2852 2853 2854 : : 2856 2838 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 HWLELLPOLEDBLBWWWWNMNMNMN MM - e s s po ps s s s W @) @1 B W BE B0 B4 @¢ B BF G0 W Ve W G0 TF @ GI G0 W0 B6 s @0 W @s we @ CZRCD2 vV02.0 GLOBAL ROUTINE DROP_CTLR (CTLR, 67 27 = BEGIN LOCAL UNIT; INCR OFFSET FROM (O BEGIN IF .CST [.CTLR, THEN BEGIN + OF_UN) .OFFSET, TO (3 « OF_UN) DO ! FOR EACH UNIT P_PRES] EQLU PRESENT UNIT = _CST [.CTLR, .OFFSET, DUR [.UNIT] = .REASON; P UNIT]; DODU (.UNIT); END; IN CST ! IF UNIT IS CONFIGURED ! ' GET DOS UNIT NUMBER SET REASON FOR DROPPING UNIT ! DROP UNIT END; END; 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 Maximum stack NOVALUE Page THIS ROUTINE DROPS ALL UNITS ASSOCIATED WITH THE CONTROLLER DESIGNATED 000000G Routin e Size: : SEQ 0162 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. 004137 ; REASON) VAX-11 Bliss-16 V4.,0-579 USER$1:[AZTEC.CZRCDBJCZRCD2.SRC;8 + 000000 ; 14-Jun-1985 09:36:36 14-Jun 1985 09:32:03 000003 1%: 040000 0000006 0000006 177740 000016 .SBTTL DROP.CTLR GLOBAL ROUTINES JSR MOV MOV JSR MOV MOV MOV ADD ASL 8IT BEQ MOV SWAB BIC MOVB MOV TRAP R1,$SAVE3 14(SP),-(SP) #7,-(SP) DROP.CTLR:: 000000G 2$: 000006 34 words, Routine Base: depth per invocation: 8 words PC,BL$MUL RO,R3 #3,R2 R3,RO R2.RO RO #40000,CST(RO) 2$ CST(RO),R1 R1 #177740,R1 16(SP),DUR(RL) R1,RO 51 R2 R2,%6 1 (SP)+,(SP)+ PC INC cMP BLE CMP R1S $CODES$ + 5512 H ; ; H 2861 2878 CTLR, *,0FFSET 2875 2878 ; OFFSET,» ; ; ; 3 ; *,UNIT UNIT *,UNIT REASON,*(UNIT) UNIT,s 2882 ; ; OFFSET OFFSET,=» 2875 : : . 2883 2884 2870 2861 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES SEQ 0163 Page 69 (28) NOVALUE = * : VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 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 st v s o b o o s s s s |t pub put pt ps s NN N N BEGIN NN GLOBAL ROUTINE DRV_CTLERR (CTLR) WWWWOWRROND PROGRAM. THIS INCLUDES MARKING THE CONTROLLER OFFLINE, CLEARING THE st C-RING COUNT, AND DEALLOCATING MSCP ENVELOPES DESCRIBED IN THE RESPONSE RING AND OUTSTANDING COMMAND AREA (QUTC_LIST). INPUTS: D 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 RO @0 @ GL @1 WE GE WE DI BI BE W TE W @0 Be B0 S0 G W6 W6 GF BT s Ws B0 B S8 s B0 B ®s G0 @6 Se Se s v0o2.0 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 CTLR - LOCAL D_ADDR : REF BLOCK INDEX : WORD, STIDX : WORD, ENDIDX : WORD; D_ADDR = DCT + D_ADDR [WORDO]) DYING CONTROLLER NUMBER [DCT_LEN, WORD] FIELD (DC_FIELDS), ! ! (.CTLR * DCT_LEN % 2); = 0; FOR = 0; = -1; END; 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 000022 0000006 000000G 004766 000017 .SBTTL DRV.CTLERR:: JSR MOV MOV MoV JSR ADD CLR MOV JSR MOV ASL ASL ASL ASL MOV ADD MOV STARTING QUTC INDEX ENDING OUTC INDEX OFFLINE AND CLEAR CRING_CNT RELEASE ALL ENVELOPES ALLOCATED TO CONTROLLER START OF CTLR'S OUTC_LIST AND TIMR END OF OUTC END; 000000 CONTROLLER S DCT ADDRESS GET CONTROLLER'S DCT ADDR MARK DCT PUTA_ENV (.CTLR); STIDX = .CTLR * QUTC_CNT; ENDIDX = .STIDX + OUTC_CNT - 1; INCR COUNT FROM .STIDX TO .ENDIDX DO BEGIN OUTC_TTMR [.COUNT] OUTC_LIST [.COUNT] ! EACH QUTC ENTRY ! ! TURN OF COMMAND TIMER INIT SLOT ! QUTC SLOT LOOP ! ROUTINE DRV_CTLERR DRV.CTLERR GLOBAL ROUTINES R1, $SAVE2 : 2891 2913 10(SP),R1 R1,-(SP) @22, -(SP) PC,BL$MUL #0CT,RO ; CTLR,» R1,(SP) PC,PUTA.ENV R1,RO RO RO RO RO RO,R2 #17,R2 RO.R1 : D.ADDR i 2914 2915 : 2916 (RO) i : ; STIDX,ENDIDX *,ENDIDX STIDX,COUNT 2917 2918 CZRCD2 v02.0 000060 000062 000064 000066 000070 000074 000102 000104 000106 000110 000112 ; : CZRCDBO RC2S DISK EXERCISER GLOBAL ROUTINES 035301 000407 010100 006300 005060 112761 005201 020102 003766 022626 000207 Routine Size: 1s: 000000G 000377 000000G 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 DEC BR R1 MOV ASL R1,RO RO OQUTC.TIMR(RO) #377,0UTC.LIST(R1) 2¢ CLR 2%: Move INC CMP BLE CMP RTS 38 words, Maximum stack depth per Rout ine Base: invocation: 6 words $CODES (SP)+,(SP). PC + 5616 SEQ 0164 Page 70 USER$1:[AZTEC.CZRCDBICZRCD2.SRC:8 (28) VAX-11 Bliss-16 V4.0-579 ; COUNT ; COUNT, s ; #,#(COUNT) ;: COUNT ; COUNT,ENDIDX 2921 2922 2918 : 2905 : 2891 CZRCD2 V0.0 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 : H : H : : : H H 2942 2943 2944 2945 2946 2947 2948 2949 2950 : : H H H H H H : H H : H H H H : : H : 2941 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 000000 010146 000002 000006 000014 000020 000022 000026 000030 000034 000035 013700 066660 013701 001421 026001 103416 013700 006300 063700 GLOBAL ROUTINE HARD_ERR 14 Jun-198S 09:36:36 14 Jun-1985 09:32:03 (ERRCNT) : NOVALUE VAX 11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDBICZRCD2.SRC;8 SEQ 0165 Page 71 (29) = * : : : : : : : H H : : : H : wmmuubbwmmwmbbJb&uuuummmmm»—n—-nt-o-o-t-r-v-r-»—-t-o—-v-r-v-o—-o—- 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 IF .SWP_ERROR NEQU O THEN BEGIN IF .T_ADDR THEN [ER_HRD] [ER_HRD] GEQU + .ERRCNT; .SWP_ERROR BEGIN IF _CST_ADDR THEN BEGIN [ .CUOFF, DUR [.L$LUN) P_STAT] ! ! ' UPDATE UNIT'S HARD ERROR COUNT JF THE USER SPECIFIED A HARD ERROR LIMIT THEN ! ! IF HARD ERROR LIMIT REACHED THEN EQLU ONLINE = DU_HERR; DODU (.LSLUN); ! ! IF UNIT IS STILL ONLINE THEN ! LOAD REASON TO DROP UNIT ! DROP UNIT END; END; END; END; 000030 000000G 000000G IF HARD ERROR LIMIT REACHED ! IF THE USER SPECIFIED A HARD ERROR LIMIT ! ROUTINE HARD_ERR .SBTTL HARD.ERR GLOBAL ROUTINES MOV MOV ADD MOV BEQ CcMP 8LO MOV ASL ADD R1,-(SP) T.ADDR,RO 4(SP),30(R0O) SWP.ERROR,R1 1 : ; ; : 2948 30(RO),R1 1¢ CUOFF,RO : 2952 : 2956 HARD .ERR: : 000000G 000004 000030 0000006 ! RO CST.ADDR,RO ERRCNT, & 2927 2947 CZRCD2 v02.0 000042 000046 000050 000054 000062 000064 000066 ; CZRCDOBO RC25 DISK EXERCISER GLOBAL ROUTINES 032710 001406 013700 112760 104451 012601 000207 Routine Size: 020000 000000G 000003 0000006 28 words, BIT BEQ MOV 420000, (RO) 1s L$LUN,RO TRAP MOV RTS 51 (SP)+,R1 PC MOvVB 1$: ; Maximum stack depth per 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 Routine Base: invocation: 3 words $CODES$ #3,0UR(RO) + 5732 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD2.SRC; 8 SEQ 0166 Page 72 (29) H 2960 H : 2961 2927 3021 3022 3023 3024 3025 14 Jun-1985 09:36:36 14-Jun-1985 09:32:03 COUNT) : NOVALUE VAX-11 Bliss 16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 = * GLOBAL ROUTINE UPD_IOC (ADDR, TED CE D TED D S S I FEs ED T YE WD SED TP S S e S te s S 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 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 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES HFRONAEENDLBEBLEBELULWWWNWWWHLELLELEDWWWWRITUNI NN I o 0 s 10 (s pb (o bt (o 4t (b b b 40 (o bt p0 b pus it po s pa o @5 ®5 B0 @6 Be B0 B Be T GF WE B B0 e VG @2 G2 B0 B B B B s VI ST B SE Bs Be BT G B Vs Ve W WO W Vs GO r VP ST W Cs G W V0 S Se _We G606 @0 @ @ @ CZRCD2 v02.0 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 PURPQSE 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 L"W-ORDER FIELD IS CHECKED FOR EXCEEDING 65,000. IF TRUE, THEN THE H.GH-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 COUNT - ADDRESS OF THE LOW-ORDER FIELD OF THE I/0 COUNT TO BE UPDATED (IN THE CURRENT UNIT‘S STATISTICS TABLE (TALLY)) - AMOUNT TO BE ADDED TO THE I/0 COUNT BEGIN .ADDR = . ADDR + .COUNT; IF .(.ADDR + 2) EQLV O THEN BEGIN ! ' ' UPDATE THE COUNT (LOW-ORDER FIELD) IF HIGH-ORDER FIELD IS ZERQ THEN IF ..ADDR GEQU 65000 THEN BEGIN ! ! IF LOW-ORDER FIELD EXCEEDS 65,000 THEN ! ! BECOMES LOW-ORDER 1000 HIGH-ORDER (TIMES 1000) ! ELSE ! WHILE LOW-ORDER FIELD EXCEEDS ! ! SUBTRACT 1000 FROM LOW-ORDER FIELD INCREMENT HIGH-ORDER FIELD ! ROUTINE UPD_IOC .PDDR = . ADDR - 65000; (.ADDR + 2) = 65; END; END ELSE BEGIN WHILE ..ADDR GEQU 1000 DO BEGIN .ADDR = . _ADDR - 1000; (.ADDR + 2) = _(.ADDR + 2) + 1; - HIGH-ORDER FIELD IS X1000 END; END; END; 1000 SEQ 0167 Page 73 (30) CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES v02.0 000000 20146 000002 000006 000012 000016 000020 000022 000024 000030 000032 000036 000042 00C.44 000050 000052 000056 000060 000062 000064 016600 066610 012701 060001 005711 001010 021027 103414 062710 012711 000407 021027 103404 162710 005211 000771 012601 000207 ; ; b Routine Size: Maximum stack 000006 000004 000002 176750 001030 000101 001750 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL uPD.I0C:: MOV MoV ADD MOV ADD TST BNE CHMP 8LO ADD MOV 1¢: 001750 2%: 27 words, Routine Base: depth per ‘nvocation: 2 Woros VAX-11 Bliss-16 V4.0-579 USER$1:{AZTEC.CZRCDB JCZRCD2. SRC; 8 SEQ 0168 Page 74 (30) UPD.IOC GLOBAL ROUTINES H1,-(SP) 6(SP),RO ADDR, » 4(SP),(RO) #2,R1 RO,R1 s COUNT, 2970 2997 2998 (R1) 1 éRO).0176750 $ #1030, (RO) #101,(R1) 24 (RO),01750 s #1750, (RO) BR CMP BLO suB INC BR MOV RTS PC $CODES + 6022 (R1) 1 (SP)+,R1 . 3002 3006 3007 2998 3015 3018 3019 3015 2970 CZRCD2 v02.0 : : : CZRCDBO RC25 DISK EXERCISER GI.OBAL ROUTINES 3026 3027 3028 H H ; H H i H ; 3029 3030 3031 3032 3033 3034 3035 gogg : ; H H $ H H H H 3 H 3 $ ] H H 3 : 3 3 : $ 3 3038 3039 3040 3041 3043 3044 3045 3046 2047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3062 H 0 GLOBAL ROUTINE OVF _CHK (ADDR) 1 1 1 1 1 1 1 1 ! ! ! ! ! ! ! ! THIS ROUTINE IS CALLED (A) DURING THE MULTI-DRIVE SUBTEST FROM MO_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. 1 1 1 1 2 2 2 3 3 3 3 3 2 2 2 2 3 3 3 3 3 2 1 ! ! ! !BEGIN INPUTS: 1 1 010146 000002 000006 000012 000014 000020 000022 000026 000030 000032 000036 000040 000044 000050 000052 016600 012701 060001 021G27 103404 162710 005211 000771 021127 103404 162711 005260 012601 000207 : Routine Size: L VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC;: 8 1 1 000000 : 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 Maximum steck SEQ 0169 Page 75 (31) : NOVALUE = te ! ADDR - ADDRESS OF THE BR_LO OR BW_LO FIELD FOR THE CURRENT UNIT (SEE STATISTIC TABLE (TALLY) LAYOUT) WHILE ..ADDR GEQU 1000 DO BEGIN ! IF LO-ORDER OVERFLOW .ADDR = , . ADDR - 1000; (.ADDR « 2) = ,(.ADDR + 2) + 1; ! SUBTRACT 1000 ! INCR HI-ORDER END; IF .(.ADDR + 2) GEQU 1000 THEN BEGIN (.ADDR + 2) = (.ADDR + 4) = END; ! IF HI-ORDER OVERFLOW ! THEN _(.ADDR + 2) - 1000; _(.ADDR + 4) + ; t SUBTRACT 1000 ¢ INCREMENT MBYTES END; ! ROUTINE OVF _CHK .SBTTL OVF .CHK: : 000004 000002 14: 001750 001750 24: 001750 000004 33 22 words, depth per MOV R1,-(SP) 4(SP),RO ;s MOV ADD o [ BLO Sus INC B8R 92 ,R1 RO,R1 (RO), 01750 24 #1750, (RO) (R1) 1s H 3026 3045 3049 : 3045 H : P 3043 cMP 8LO sus INC MOV RTS (R1),91750 3 €1750,(R1) 4(RO) (SP).,R1 PC MOV 001750 Rout ine Base: invocation: 2 wordse OVF.CHK GLOBAL ROUTINES $CODES . 6110 H ADDR,» : 3049 3045 3053 : H : 3057 3058 3026 CZRCOBO RC25 DISK EXERCISER GLOBAL ROUTINES 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 2104 3105 3106 3107 3108 3109 3110 3111 3112 2113 PRV WENSELNVINUVNINNDGUNLDLEDBEWWWWWRRITN RN N e ps s o pa jt 4o o 10 3o b pe bt bt o pes b pt po B 86 G5 40 B W A0 CF AL WS S0 L T 8 B G2 S0 W8 W W) S8 G0 B G1 6 G0 B0 G B8 O G0 G0 G ) WP G0 G0 B¢ OF B4 OF G0 G0 G0 @8 S5 s O Be e @ v02.0 GLOBAL ROUTINE XFR_CHK : 14 Jun-1985 09:36:36 14-Jun 1985 09:32:03 NOVALUE VAX-11 Bliss-16 V4,0-579 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC;8 SEQ 0170 Page 77 (32) = * CZRCOD2 THIS ROUTINE FOR ALL I/0 IS CALLED TRANSFER (A) DURING THE MULTI-DRIVE RETURN PACKETS WITH "SUCCESS” SUBTEST FROM MD_TALLY 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. ) 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 OMC_ADDR - ADDRESS OF CURRENT CONTROLLER'S DM_COMM AREA CUOFF - CST OFFSET FOR CURRENT UNIT BEGIN LOCAL SUM IF : WORD; .SWP_XFER NEQU O THEN SUM = TOTAL NUMBER OF BYTES TRANSFERRED TO/FROM A UNIT ! IF A TRANSFER LIMIT WAS SPECIFIED ! _T_ADDR [MB_READ) IF .SUM GEQU THEN BEGIN ! .SWP_XFER « THEN .T_ADDR (MB WRIT]; ! ! ! TOTAL BYTES TRANSFERRED IF TRANSFER LIMIT IS REACHED THEN CPT [.LSLUN] = NO; CST_ADDR [U_CNT]) = .CST_ADDR [U_Ch ] - 1; DMC_ADDR [.CUOFF - OF _UN, ALLBIT] = -i; 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; 0000C0 004137 0000006 0000C4 013702 0000906 .SBTTL XFR.CHK:: JSR MOV ! IF A TRANSFER LIMIT WAS SPECIFIED ! ROUTINE XFR CHK XFR.CHK GLOBAL ROUTINES R1,$SAVE?2 SWP . XFER,R2 H : 3063 3087 CIRCO2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES v02.0 000010 000012 000016 000020 000024 000030 000032 000034 000040 000044 000050 0C0054 000060 000062 000066 000074 000076 000100 000104 000110 000112 000114 000120 000124 000130 000134 000140 000142 000144 000150 000154 000160 000162 000164 000170 : ; 001467 013701 010100 016101 066001 00102 103456 013700 105060 013700 105360 013700 006300 063700 012760 104450 103034 012746 12746 010600 104417 013716 013746 013746 012746 012746 010600 104417 013716 012746 012746 010600 104417 062706 000207 Routine Size: Maximum stack 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 BEQ 0000006 1 T.ADDR,R1 R1,RO 20(R1),R1 26(RO),R1 R1,R2 1s LSLUN,RO CPT(RO) MOV MOV MOV ADD 000020 000026 cMP BLO 0000006 0000006 0000006 000005 0000006 MOV CLRB CST.ADDR,RO 5(RO) CUOFF ,RO MoV DECB MoV ASL ADD MoV TRAP BHIS 0000006 177777 177772 0000006 000001 RO DMC.ADDR,RO 4 1,-6(RO) 50 1 4CRLF, -(SP) e1,-(SP) SP,RO MoV MOV MOV TRAP 0000006 0000006 0000006 000000G 000004 0000006 0000006 000002 000020 1%: 17 SECONDS, (5P) MOV MOV MOV MOV MV MoV TRAP MOV MOV MOV MoV TRAP ADD RTS Rout ine Base: 61 words, $CODES depth per invocation: 13 words MINUTES, -(SP) HOURS, -(SP) SETIME, -(SP) 24, -(SP) SP,RO 17 USER$1:{AZTEC.CZRCDOB])CZRCD2.SRC; 8 ; : T.ADDR,» : *,SUM : ; *,S5UM SUM,» 3091 3092 : 3097 H 3098 : 3099 ; 3103 H SP.‘ H H 31C4 SPO‘ SP,RO 17 ; SP,s 6164 78 (32) 3096 H 220, 5P SEQ 0171 Page : L$LUN, (SP) MSG.07, -(SP? PC + VAX-11 Blies-16 V4.0-579 : : 3105 3101 3063 14 Jun-198S 09:36:36 14-Jun-1985 09:32:03 VAX 11 Bliss-16 v4.0-579 Ld = L D D D 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), ANC A COMMAND TIMER IS STARTED IN THE OUTSTANDING COMMAND TIMER (QUTC_TIMR)., IF THE CURRENT RC25 IN NOT ONLINE, THEN A FAILURE INDICATION IS RETURNED TO AND NO ACTION IS TAKEN. I I THE CALLER, D I INPUTS: - INDEX OF MSCP ENVELOPE CONTAINING THE COMMAND TO BE SENT T YD INDEX I IMPLICIT INPUTS: D I CCTLR - CURRENT CONTROLLER NUMBER OCT_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 ((.DCT ADDR [STAT] EQLU ONLINE) AND (.DCT_ADDR [CRING CNT] LSSU CRING_LEN)) IF DEVICE IS ONLINE AND ITS CRING IS NOT FULL THEN BEGIN MSCP_ENV [.INDEX, CRN_LO] = (CRN = .CRN + SLOT_ADDR = .DCT ADDR [CR_NEXT]; .SLOT_ADDR = .MSCP_ENV [.INDEX, ENV_LOJ; SLOT_ADDR = .SLOT ADDR « 2; .SLOT_ADDR = .MSCP_ENV [.INDEX, ENV_HI]; SLOT_ADDR = .SLOT_ADDR + 2; IF .SLOT_ADDR GYRA .DCT .ADDR [CR_END] THEN SLOT_ADDR = .DCT_ADDR [CR_BEG]; DCT_ADDR [CR NEXT] = DCT_ADDR [CRING_CNT] .OCL_X1 TO + 1; .OCL_x2 DO FOR EACH QUTC [.COUNT] LSS O IF .IIP_FLAG THEN = .INDEX; OUTC_TIMR [.COUNT] v OUTC_LIST [.COUNT] IF s IF _QUTC_LIST THEN BEGIN [CRING_CNT] ¢ INCR COJUNT FROM BEGIN _SLOT_ADDR; = .DCT_ADDR ASSIGN CMD REF NUM ADDR OF NEXT COMMAND SLOT LOAD ENV DESC (LO) INTO COMMAND SLOT ADVANCE TO NEXT WORD LOAD ENV DESC (HI) INTO COMMAND SLOT 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 1); = TO_INIT A SEQ 0172 USER$1:(AZTEC.CZRCDBJCZRCD2.SRC; 8 IF THE CURRENT RC2S IS ONLINE AND ITS CRING IS NOT FULL, THEN THIS ROUTINE “SENDS* A COMMAND TO THE RC25 BY LOADING THE ENVELOPE e s b GLOBAL ROUTINE SEND (INDEX) TE VD T b ps s pt jot J0 10 b 1=t }=0 $b Pt Pt put pmd put po P Pt o 1= 12 1 WO NN MNWN GOINTINI PRI R NN D B BB OO VTNV 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 2156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 2170 CZRCDOBO RC2S DISK EXERCISER GLOBAL ROUTINES er CZRCD2 v02.0 ENTRY SPARE SLOT IS FOUND LOAD MSCP_ENV INDEX IF INIT SUBTEST IN PROGRESS THEN SET INIT SUBTEST COMMAND TIMER Page 79 (33) CZRCD2 vo2.0 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 000000 000004 000006 000012 000014 000016 000022 000024 000030 000034 000040 000C44 000046 000052 000056 000062 000066 000072 000076 000100 000104 000110 000112 000116 000120 000122 000126 000130 000136 PRV UWWWWHEWWEDNUVVNIUVNOORRROYOOWUW CZRCDBC RC25 DISK EXERCISER GLOBAL ROUTINES 004137 005746 013701 005711 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 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ELSE VAX-11 Bliss-16 Vv4.0-579 USER$1:(AZTEC.CZRCDB ICZRCD2.SRC; 8 ! OTHERWISE * ! JF DM EXERCISER IS BEING RUN THEN SEQ 0173 Page 80 (33) BEGIN IF BIT_TST THEN ELSE (SWP_FLAGS, SWF_DM) OUTC_TIMR [.COUNT] = TO_DUP OUTC_TIMR = [.COUNT] ! ! ! TO_I0; SET DUP COMMAND TIMER OTHERWISE SET I/0 TRANSFER COMMAND TIMER END; EXITLOOP; END; END; TEMP = _RC2S5_ADDR RETURN SUCCESS; ELSE [RCIP, RC_ALL]:; END RETURN FAILURE; END; 000000G SEND:: 000000G .SBTTL JSR TST MOV TsT BPL CcMPB BHIS 000010 000012 000104 000000G 0000006 ' IF A SPARE SLOT IS FOUND ! QUTC_LIST SEARCH LOOP ! READ IP TO FORCE PORT TO POLL ! IF DEVICE IS NOT ONLINE ! ROUTINE SEND SEND GLOBAL ROUTINES R1,$SAVE? -(SP) DCT.ADDR,R1 (R1) 74 (R1),#410 74 000000G 000010G 000020 0000006 000002G 000012 MOV MOV JSR MOV INC MOV MOV MOV MOV MoV CMP 12(SP),-(SP) #104,-(SP) PC,BLSMUL 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) 000010 000020 MOV MOV 10(R1),R2 R2,20(R1) (R1) OCL.X1,R1 R1 Ss gUTC.LIST(Rl) $ 16(SP),0UTC.LIST(RY) B8LOS 1s: 000000G 000000G 000016 24: 000000G INCB MOV DEC BR ;STB GE MOVB MOV 13 R1,R0O H 3114 : 3143 H 3144 ; INDEX,» 31438 ; ; ; ; *,SLOT.ADOR *,SLOT.ADOR %,SLOT.ADDR SLOT.ADDR, 3149 3150 3152 3154 ; ;: #,SLOT.ADDR SLOT.ADDR, : ; ; *,COUNT COUNT 3156 3157 3158 3160 ; *(COUNT) ; ; INDEX, «(COUNT) COUNT,% 3163 3167 3170 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES v02.0 000140 000142 000146 000154 000156 000162 000164 000172 000174 000200 000202 0C0206 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 ASL ADD 0000006 000001 0000006 000170 000002 000000G 3s: 000036 000454 0000006 000000G 000004 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 BIT8 BEQ MoV BR BITB BEQ MOV 44 : Ss$: 6$: BR MOV BR INC CMP BLE MoV CMP 000001 MOV 7$: 8s¢: Routine Size: Routine Base: 82 words, Maximum stack depth per invocation: 7 words RO #0UTC.TIMR,RO 91,IIP.FLAG 3 #170,(RO) 64 #2 ,SWP .FLAGS 43 436, (RO) 63 #454,(RO) 64 R1 R1,0CL.X2 2% 9RC25.ADDR,4(SP) VAX-11 Bliss-16 V4,0-579 USER$1:[AZTEC.CZRCDB)CZRCD2.SRC;8 SEQ 0174 Page 81 (33) : 3168 H ; ; 3170 3168 H H : 3176 3174 3178 3165 3160 3174 H ; ; COUNT COUNT, ; *,RC.REG 3188 (SP)+,(SP)+ H H 146 3193 (SP)+ i 3114 #1,R0 8% RO BR CLR TST RTS PC $CODE$ + 6356 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES L] . ) 1] . . . L - 1] . 1] L) - L) Y . - [ . L] - * . L] - L] - . - L] . . - . - Ld - L] - . - * . v . L) . . - L4 - L4 . L[] - L - [ - L L] L) - 1) - 14 . e - L4 . L) . L) - . - . . 1) Py * - e . L) - L - ’ . [ - ” - L] - . - L . L . 13 . L4 - TM n L 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 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 GLOBAL ROUTINE WAIT : NOVALUE VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDBICZRCD2.SRC; 8 = * - R VNVINVINEELBWWWUOUHRNRNNLDNVWWNEDLEDEEWWWWNNRNMNMNININ R NN e s s o ot o bt b ps jo ps s s b o pa vV02.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 AR 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 CONTRCLLER'S QUTSTANDING COMMAND AREA BEGIN LOCAL CX MX RX : : : SIGNED WORD, ! WORD, WORD, M_ADDR, R_ADDR : REF BLOCK CX = 1; INCR COUNT FROM BEGIN OUTSTANDING COMMAND'S OUTC_LIST INDEX ' ! [RP_LEN, WORD) FIELD (RP_FIELDS);: INDEX OF MSCP COMMAND ENVELOPE RETURN PACKET INDEX ! MSCP ENV ADDRESS ! RETURN PACKET ADDRESS ! ! ! ASSUME COMMAND NOT FOUND SEARCH OUTC_LIST FOR THE OUTSTANDING COMMAND v ! IF THIS IS IT THEN ! ! SAVE OUTC INDEX OF COMMAND DONE HERE T FLAG = FALSE; DO BEGIN ! ! ! CLEAR ONE SECOND TIMING FLAG REPEAT UNITL RC25 INTERRUPT OR TIMEOUT IF .T_FLAG THEN BEGIN ! ! IF ONE SECOND HAS ELAPSED THEN ! ! IF QUTSTANDING COMMAND WAS FOUND THEN .0CL_X1 TO IF .OUTC_LIST THEN BEGIN .OCL_X2 DO [.COUNT) GEQ O CX = .COUNT; EXITLOOP; « END; END; IF .CX GEQ O THEN BEGIN SETPRI (PRIOS); ! LOCK OUT RC23 INTERRUPTS THEN ! IF .OUTC_TIMR BEGIN [.CX] GTRU O ' IF TIMER STILL ACTIVE THEN e SEQ 017S Page 82 (34) CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 3253 3234 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 HFRNWWHRDEPEPEAVNVNVMUVINR NSNSNNSNNSNSNNNNSNNdOOON B WS G0 @0 W B0 G5 WE W0 WS B B0 W @0 B0 B WP @ P WE @0 B¢ G0 G0 G5 G W @0 W @0 G0 We @o v02.0 000000 000004 000010 000014 000016 000020 000024 000026 000030 000032 000034 000040 000042 000046 000054 000056 000060 000062 000066 000070 000072 14-Jun-1985 09:36:36 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:32:03 OUTC_TIMR [.CX]) = .OUTC_TIMR [.CX] IF .OUTC_TIMR [.CX] €EQLV O - 1; THEN ! ! ! VAX-11 Bliss-16 V4.0-579 USER$1:[{AZTEC.CZRCDB JCZRCD2.SRC; 8 SEQ 0176 Page 83 (34) DECREMENT TIMER IF MESSAGE HAS TIMED OUT THEN BEGIN 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, R_ADDR [CONID) = CID_DRIVER; R_ADDR [MESTYP] = MT_TIMEOUT; R_ADDR {CTLR) = .CCTLR; IN_I0DQ (.RX); PUT_ENV (.MX); OUTC_LIST [.CX] = -1; RP_LEN); END; ! END; COMMAND TIMEOQUT CONTROLLER NUMBER "SEND” THE PACKET RETURN COMMAND ENV TO POOL INIT OUTC_LIST ENTRY COPY ~OMMAND TO RETPKT SET PACKET SOURCE AS "DRIVER" IF MESSAGE TIMER EXPIRED SETPRI (PRIOO); ! RESTORE INIT SUBTEST PRIORITY END; ! IF QUTSTANDING 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; 0000006 177777 0000006 WAIT:: 0000006 1¢%: 2%: 0000006 000240 ! ! ! ! ! ! ! IF TIMER STILL ACTIVE END; 000001 GET A RETURN PACKET GET COMMAND ENV INDEX CALCULATE RETPKT ADDRESS CALCULATE ENV ADDR ! END UNTIL .IODQ_IN NEQU 0000006 ! ! ! ! 0000006 3s: 4%: .SBTTL JSR MOV MOV ADD BR WAIT GLOBAL ROUTINES R1,$SAVES #-1,R1 OCL.X1,RO R1.RO 2% BLT MoV BR INC CMP BITB BEQ TST BLT MOV TRAP MOV ASL #1,T.FLAG 7% R1 6% #240,R0 41 R1,RO RO TST8 BILE CLR8 i i : ; *,CX *,COUNT *,COUNT OUTC.LIST(RO) ; *(COUNT) 3225 24 RO,R1 3 RO RO,0CL . X2 ; ; ; ; COUNT,CX 3229 3227 3222 1 T.FLAG COUNT COUNT, s i 3236 : ; ¢ 3240 CX ; i 3196 3221 3222 3244 3248 CX,» 3249 CZRCD2 CZRCDBO RC25 DISK EXERCISER GLOBAL ROUTINES 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 ; ; 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 000000G 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 ADD TST BEQ DEC BNE 0000006 005026 MOV JSR MoV MovB MOV MOV JSR ADD MoV MOV MOV JSR ADD MOV MoV ADD MOV MOV JSR MOV ADD MOVB MOV 000000G 000060 000000G 000000G 000104 0000006 0000006 000004 000030 004310 000002 000003 000001 0000006 177760 000100 BIC move 8ISB 005424 004752 000377 000012 000000G S$: 000000G 000000G 0000006 6% 7%: MoV JSR MOV JSR Move ADD CLR TRAP CLRB CcMP BEQ RTS Routine Base: 100 words, $CODES$ 12 words Maximum stack depth per invocation: Routine Size: Q0UTC.TIMR,RO (RO) 5% (RO) 5¢ CCTLR, -(SP) PC,GET.RETPKT RO,R4 OUTC.LIST(R1),R3 R4,(SP) #60, -(SP) PC,BL$MUL #RETPKT,RO RO,R2 R3,(SP) #104,-(SP) PC,BLSMUL MSCP.ENV,RO RO,R5 R5,(SP) %4,(SP) R2,-(SP) PC.COPY.BLK #2,R0 R2,RO #3,1(RO) VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC;8 H H 3253 3254 ; . ; . 3258 *,RX #(CX),MX RX,% ; *,R.ADDR i MX, s ;: M.ADDR,» ; R.ADDR,x : CCTLR, -(SP) #177760,(SP) #100,(RO) H R4,(SP) PC,IN.I00Q R3,(SP) PC,PUT .ENV #377,0UTC.LIST(R1) : 3259 3260 3261 *,M ADDR ; ; SEQ 0177 Page 84 (34) R.ADDR,=* 3262 3263 3265 (SP)+,(RO) #12,5P RO 41 T.FLAG I0DQ.IN,IODQ.OUT 4% PC + 6622 RX,» 3266 : MX,» 3267 : 3268 ; %,%(CX) 3256 : 3274 H H 3278 3283 : 3196 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 000000 000004 000010 000014 000020 000024 000026 000030 000034 e o #SBTTL s b s s ! ! b 013746 013746 013746 012746 012746 010600 104414 062706 000207 000000 000004 000010 000014 000016 000020 000024 - 013746 012746 012746 010600 104415 062706 000207 b Pt et et ps (b et @ we @ @5 @ @ @ (ETIME, = .HOURS, .MINUTES, EMS.ET: 000012 1S words, depth per Routine Base: invocation: ROUTINE EMS_SA TIME THAT PRECEDES ALL BASIC ERROR : 7 words NOVALUE .SECONDS); -SBTTL MOV MOV MOV MOV MOV MOV TRAP ADD RTS $CODES$ EMS.ET ERROR MESSAGE SUBROUTINES SECONDS, -(SP) : MINUTES, -(SP) HOURS, -(SP) SETIME, -(SP) #4,-(SP) SP,RO ; 14 #12,SP PC : 3295 SP,x 3288 + 7132 = Ve ! ! THIS ROUTINE PRINTS (EXTENDED) THE GLOBAL DATUM THE CONTENTS OF THE SA REGISTER. PRINTX (EX_SA, .SA_REG): 000000G 000000G 000002 L EMS.SA: 000006 11 words, Maximum stack depth per 3304 3305 3306 3307 3308 3309 3310 NOVALUE 000000G 000000G 000000G 0000006 000004 : Routin e Size: ; SEQ 0178 Page 85 (35) “SA_REG" WHICH CONTAINS s s et e s e a Maximum stack 3296 3297 3298 3299 3300 3301 3302 3303 : THIS ROUTINE PRINTS THE ELAPSED MESSAGES. PRINTB ; Routin e Size: ; VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDBICZRCD2.SRC; 8 'ERROR MESSAGE SUBROUTINES' ROUTINE EMS_ET e 14-Jun-198S 09:36:36 14-Jun-1985 09:32:03 b 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 P ®0 @ ®e we @5 @0 W Wt @ @ v02.0 Rout ‘ne Base: invocation: 5 words ROUTINE EMS_CRN : NOVALUE .SBTTL XXXXXX(0)" EMS.SA ERROR MESSAGE SUBROUTINES MOV MOV MOV MOV TRAP ADD RTS $CODES$ SA: SA.REG,-(SP) #EX.SA, -(SP) &2,-(SP) SP,RO 15 #6,5P PC +« : : : 7170 = e ! ' THIS ROUTINE PRINTS (EXTENDED) THE COMMAND REFERENCE NUMBER OF THE CURRENT RETURN PACKET. ONLY THE LOW-ORDER WORD IS SIGNIFICANT. 3303 SP,a 3296 CZRCD2 v02.0 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 14 Jun-198S 09:36:36 14-Jun-1985 09:32:03 1 PRINTX L 013700 016046 012746 012746 010600 104415 062706 000207 000000G 000004 000000G 3311 000000 000004 000010 00n014 000020 000022 000024 000030 Routine Size: Maximum stack 000000 000004 000006 000010 000014 000020 000022 000024 000030 o e s s [CRF_LO1); .SBTTL EMS. CRN: MOV MOV MOV 0000902 MOV 13 words, Routine Base: depth per invocation: S words : NOVALUE 3311 $#2,-(SP) SP,RO 15 #6,5P PC + : SP,» : 3304 7216 THIS ROUTINE PRINTS (EXTENDED) THE GLOBAL DATUM IF IT IS NON-ZERO. IF “ST_CODE” (STATUS CODE) .ST_CODE NEQU O THEN PRINTX (EX_SC, .ST_CODE); I .SBTTL EMS.STC: MOV BEQ MOV MOV MOV 000000G 000000G 000002 1s: ROUTINE EMS_SBC : NOVALUE S$CODES XX(0)" EMS.STC ERROR MESSAGE SUBROUTINES ST.CODE,RO : 18 RO, -(SP) H #EX.SC,-(SP) #2,-(SP) SP,RO : SP,s 15 #6,5P PC : MOV TRAP ADD RTS 000006 STATUS CODE: « 7250 = Pt b P et XXXXXX(0)" te ! ! b o THIS ROUTINE PRINTS (EXTENDED) THE GLOBAL DATUM ‘SB COCE" (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). ek et s e SEQ 0179 Page 86 (35) = Routin e Size: 13 words, Routine Base: Maxiry m stack depth per invocation: S words 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 $CODES CMD REF NUM: EMS.CRN ERROR MESSAGE SUBROUTINES RP.ADDR,RO : 4(R0O), -(SP) #EX.CRN, -(SP) MOV TRAP ADD RTS 000006 s o 013700 001411 010046 012746 012746 010600 104415 062706 000207 et : .RP_ADDR ROUTINE EMS_STC s 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 P ; (EX_CRN, VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 IF (.ST_CODE OR .SB_CODE) NEQU O PRINTX .SB_CODE); THEN (EX_SB, P SUB CODE: XXXX(0Q)* 3319 3321 3312 - CZRCD2 v02.0 000000 000004 000010 000012 000016 000022 000026 000030 000032 000036 CZRCOBO RC2S DISK EXERCISER ERROR MESSAGE SUBROUTINES 013700 053700 001412 013746 012746 012746 010600 104415 062706 000207 ; Routin e Size: 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 O D 1O A RO R T 1D G R RO RO R D PO PO RO RO RS D RO ) 10 et s s (oo ot o o b0 oo ot Maximum stack O O G U W3 G ; 14-Jun-1985 09:36:36 14-Jun 1985 09:32:03 .SBTTL EMS.SBC:MOV 8IS BEQ MOV MOV MOV MOV TRAP ADD 1s: RTS 000000G 0000006 0000006 000000G 000002 000006 16 words, Routine Base: depth per invocation: S words ROUTINE EMS_CMD : NOVALUE $CODES VAX 11 B8liss-16 V4.0-579 USER$1:[AZTEC.CZRCDB ICZRCD2.SRC;8 EMS.SBC ERROR MESSAGE SUBROUTINES ST.CODE,RO : S8.CODE,RO 18 SB8.CODE. (SP) : oEX.SB, -(SP) #2,-(SP) SP.RO ; SP,s 15 96,° PC : « - 3322 7302 = ADDRESS OF THE CURRENT RETURN PACKET BEGIN LOCAL COMMAND : WORD; ' PRINTX (EX_CMD); COMMAND = _RP ADDR [ENDCOD) SELECTONEV .COMMAND OF SET (OP ESP] [{OP_SCC) : AND OP_MSK; "EXECUTE SUPPLIED PROGRAM* THEN ! ! ! ! THEN (THESE 2 OPCODES "SET CTLR CHAR: OTHERWISE “SEND DATA* PRINTX (EX_SCC) PRINTX (EX_SND); (OP_ONL] : PRINTX (EX_ONL); (OP_WRT] : PRINTX (EX_WRT); (OTHERWISE) : PRINTX (EX_RD); : L COMMAND: ' GET GCPCODE ALONE ! ELSE {(OP_RD) COMMAND OPCODE PRINTX (EX_ESP); : IF .IIP_FLAG PRINTX (EX_03, .RP_ADDR ! IF INITM SUBTEST IN PROGRESS ! ' ! ARE TnE “ONLINE"“ 'RERD’ “WRITE" [ENDCOD]); ! "XXX(0)* TES; IF (((.COMMAND EQLU OP _RD) OR (.COMMAND EQLU OP_WRT)) AND (BIT_TST (RP_ADDR [CMDMOD], MD_CMP)I)) ! IF COMPARE MODIFIER IS PRESENT THEN ELSE ' PRINTX (EX_CMP) PRINTX (CRLF); ! ! ' THEN ' -COMPARE<CR><L>’ F OTHERWISE <CR><LF> 87 (35) 3333 THIS ROUTINE PRINTS (EXTENDED) THE OPCODE AND COMMAND MODIFIER (IF PRESENT) OF THE CURRENT RETURN PACKETM. THESE FIELDS ARE “TRANSLATED" INTO ENGLISH TEXT RATHER THAN PRINTED AS RAW NUMBERS. RP_ADDR Page 3331 * IMPLICIT INPUTS: SEQ 0180 SAME) CZRCD2 v02.0 : : 3374 3375 000000 000004 000010 000014 000016 000020 000024 000030 000034 000040 000042 000046 000052 000054 000056 000060 000064 000066 000074 000076 000102 000106 000110 000112 000114 000120 000124 000126 000130 000132 000136 000140 000144 000150 000152 000154 000156 000162 000164 000170 000174 000176 000200 000202 000206 000210 000214 000220 000222 000224 000226 000230 he- 2 1 004137 012746 012746 010600 104415 013701 116102 042702 020227 001007 012716 012746 010600 104415 000462 020227 001022 122737 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; ! .SBTTL EMS.CMD: JSR 0000006 0000006 000001 MOV MOV MOV TRAP MOV MovB 8IC 0000006 000014 177600 000002 000004 000001 1s: 0000006 0000006 000001 000000G 000001 2s: 000011 3s: 0000006 000001 43 0000006 000001 000042 Ss: 0000006 000001 1,-(SP) SP,RO 15 RP .ADDR,R1 14(R1),R2 #177600,R2 TRAP BR CMP BNE BITB BEQ MOV MOV MOV TRAP BR MOV MOV MOV TRAP BR CMP BNE MOV MOV 15 6s MOV 000041 R1,$SAVEZ2 #EX.CMHD, -(5P) 2%.02 TRAP BR CMP BNE MOV MoV MOV TRAP BR cMP BNE SEQ 0181 Page 88 (35) ROUTINE EMS_CMD EMS.CMD ERROR MESSAGE SUBROUTINES CMP BNE MoV Mov MOV 0000006 000001 VAX-11 Bl ss-16 V4.0-579 USER$1:[AZTEC.CZRCDB ]CZRCD2.SRC: 8 H ; ; ; ; ; 3334 3350 SP,» »,COMMAND +,COMMAND ; COMMAND, s : SP,s §§.04 ; COMMAND, » #1,1IP.FLAG 23 &EX.SCC, (SP) ; QEX . ESP,(SP) 1,-(5P) SP.RO ; 3351 3355 3356 3358 SP.RO 15 64 #EX.SND, (SP) 1,-(SP) SP,RO SP,» ; H ;: SP,.s 6% R2.011 H ; COMMAND, s 3356 3360 3356 3361 HEX.ONL, (SP) SP,.RO 15 6 25.041 ; SP,s ; COMMAND, » 3362 OEX.RD,(SP) o1, (SP) SP,RO 15 6 §2.042 s ; SP,s ; COMMAND, & SP,s OEX.WRT,(SP) SP,RO : 6%: MOV MOV MOV TRAP TST BR CLR 8s ; 7%: (sP) : 3363 3352 3364 CZRCD2 CZRCOBO RC25 DISK EXERCISER v02.0 ERROR MESSAGE SUBROUTINES 000232 000276 000242 000246 000250 000252 000254 000260 000262 000266 000270 000274 000302 000304 000310 000314 000316 000320 116116 012746 012746 010600 10441S 022626 020227 001403 020227 001015 013700 032760 001407 012716 012746 010600 104415 000406 000322 000326 000332 000334 012716 012746 010600 104415 000336 000342 Routine Size: 000000 000004 N - et o b s i (ot (o Pt b b oo pa ot 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 013700 105760 14 Jun-1985 09:32:03 000014 0000006 000002 000041 8s: 000042 0000006 040000 000012 94 : 0000006 000001 0000006 000001 10%: 000006 11$: 114 words, Maximum stack depth per G B B Ve L Ve B Ve Ve G B¢ W W VP B0 @8 TP O0 G0 B G0 GO0 @0 B 062706 0C0207 2 O RO RO G t$ : 14-Jun-198S 09:36:36 Routine Base: invocation: ROUTINE EMS_LBN : 9 words MOVB MoV MOV MOV TRAP CcMP CcMP BEQ CHMP BNE MOV BIT BEQ MOV MOV MOV TRAP BR 14(R1),(SP) o€£X.03,-(SP) #2,-(SP) SP,RO 15 (SP)+,(SP)+ R2.041 9s R2, 042 10 RP .ADDR,RO #40000,12(R0O) 10¢ HEX.CMP, (SP) 2, (SP) SP,RO 15 11 MOV MNY MOV TRAP $CODES$ ; SP,» ; COMMAND, s ; COMMAND, » 3369 H 33 SP,» : H ; #6,SP PC 3368 H ; #CRLF, (SP) 01,-(SP) SP,RO 15 ADD RTS SEQ 0182 Page 89 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; S (35) VAX-11 Bliss-16 V4.0-579 3368 3373 SP,s ; ; 3345 3334 + 7342 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 g:gfigAgES “BAD BLOCK REPORT.D”, THEN THE "FIRST BAD BLOCK” FIELD IS €D. IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET BEGIN IF BIT_TST (RP_ADDR [FLAGS]}, EF_BBR) THEN PRINTX (EX_B88, .RP_ADDR [BBLK_LO]) ELSE PRINTX (EX_LBN, .RP ADDR (LBN_LO)); END; 000000G 000015 IF BAD BLOCK REPORTED THEN v BAD BLOCK REPORTED: OTHERWISE . ! -SBTTL EMS.LBN: MOV 1S78 LBN: XXXXX.* XXXXX." ROUTINE EMS_LBN EMS.LBN ERROR MESSAGE SUBROUTINES RP .ADDR,RO H 15(RO) 3392 CZRCD2 CZRCOBO RC25 DISK EXERCISER V0.0 ERROR MESSAGE VO, TAcr -~ AT 000054 000060 Routine Size: 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 000000 000C04 000010 000014 000020 000022 000024 000030 000034 000040 000044 000046 000050 000054 ; ;: R PO N 2 b ps ot s b ot o o pt po 3399 3400 3401 3402 3403 3404 RO ® B8 We ©F B¢ @ @) W 0 @ V¢ ©F G5 S O S0 90 Maximum stack 013700 016046 012746 012746 010600 104415 013700 016016 012746 012746 010600 104415 062706 000207 Routine 5 ze: Maximum stack SUBROUTINES 000040 000000G 000002 000050 0000G0G 000002 1s: 000000 2%: 25 words, Routine Base: depth per invocation: S words ROUTINE EMS_BC : NOVALUE 8PL MOV MOV MOV MOV TRAP BR MOV MOV MOV MOV TRAP ADD RTS 13 40(RO),-(SP) %EX.B8,-(5P) #2,-(SP) SP,RO 15 2% S0(RO), -(SP) REX.LBN, -(SP) 92,-(SP) SP,RO 15 6 ,5P PC $CODES$ + SEQ 0183 Page 90 USER$1:[AZTEC.CZRCDBICZRCD2.SRC; 8 (35) VAX-11 Bliss-16 V4,0-579 H ; 3394 SP,s H : ; 3392 3396 SP,s H H 3390 3376 7706 = * 130011 016046 012746 012746 010600 104415 000410 016046 012746 J12746 010600 104415 062706 000297 000010 000012 000016 000022 000026 000030 000032 000034 00004 on” " 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 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 BEGIN PRINTX (EX_CBC, .RP_ADDR [CBCNT_LO]); PRINTX (EX_BC, .RP_ADDR [BCNT_LO]); | . END; ! 000000G 000044 0000006 000002 EMS.BC: 000000G 000020 0000006 000002 000012 23 words, depth per Routine Base: invocation: 7 words .SBTTL MOV MOV MOV MOV MOV TRAP MOV MOV MOV MOV MOV TRAP ADD RTS $CODES BYTE COUNT IN COMMAND: XXXXX." ACTUAL & OF BYTES TRANSFERRED: XXXXX.* ROUTINE EMS_BC EMS.BC ERROR MESSAGE SUBROUTINES RP .ADDR,RO : 43(R0O),-(SP) oEX.CBC, -(SP) 82,-(sP) SP,RO ; 15 RP .ADDR,RO : 20(R0O),(SP) #EX.BC,-(SP) 82,-(SP) SP.RO ; 15 #12,5P ; PC H « 7770 3412 SP,x 3413 SP,» 3410 3399 CZRCD2 CZRCDBO RC2S DISK EXERCISER v02.0 ERROR MESSAGE SUBROUTINES H H : H : 3416 3417 3418 3419 3220 1 1 1 1 1 ROUTINE EMS BD : NOVALUE = : 3 : : H 3422 3423 3424 3325 3426 1 1 ) 1 1 ' ' '- : 21 000000 000004 000010 000014 000020 000024 000026 000030 000034 : 013700 016046 016046 012746 012746 010600 104415 062706 000207 Routine Size: . ! ! : 3 : ; 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 2441 3442 3443 000000 000004 000010 000014 000020 000024 000030 ; 1 1 1 1 1§ 1 1§ 2 2 2 2 2 2 H 2 2 2 1 004737 004737 004737 004737 004737 004737 000207 Routine Size: SEQ 0184 USER$1:[AZTEC.CZRCDBICZRCD2.SRC;8 Page 91 (35) IMPLICIT INPUTS: RP _ADDR - ADDRESS OF THE CURRENT RETURN PACKET PRINTX (EX_BO, .RP_ADDR [BUFF_0], 000000G 000026 000024 0900006 000003 EMS.BD: 000010 15 words, Routine Base: invocation: ROUTINE EMS_RP ' ! H ‘- 14-Jun-1985 09:32:03 VAX-11 Bliss-16 v4.0-579 THIS ROUTINE PRINTS (EXTENDED) THE TWO-WORD I/0 BUFFER DESCRIPTOR APPEARING IN THE CURRENT RETURN PACKET. : Maximum stack depth per : H : H : H : : H : : H H 14-Jun-198S 09:36:36 : 6 words .RP_ADDR [BUFF_11); .SBTTL MOV MOV MOV MOV MOV MOV TRAP ADD RTS $CODES$ L I/0 BUFFER DESCRIPTOR: EMS.BD ERROR MESSAGE SUBROUTINES RP .ADDR,RO : 26(R0O),-(S5P) 24(R0O),-(SP) #EX.8D,-(SP) 23, (SP) SP,RO ; 15 #10,5P PC H - XXXXXX(O) XXXXXX(0)" 3426 SP,» 3416 10046 NOVALUE = 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 (); EMS_BD (); ! ! END; ! ROUTINE EMS_RP 007216 007302 007342 007706’ 007770 010046° 13 words, ; Max'mum stack depth per EMS.RP: Routine Base: ‘nvocation: 1 word .SBTTL JSR JSR JSR JSR JSR JSR RTS $CODES$ BYTE COUNTS 170 BUFFER DESCRIPTQR EMS.RP ERROR MESSAGE SUBROUTINES PC,EMS.CRN H PC.EMS.SBC : PC,EMS.CMD : PC,EMS.LBN : PC.EMS.BC : PC,EMS.BD ; PC : + 10104 3436 3437 3438 3439 3440 3441 3427 CZRrRCO2 CZRCOBO RC25 DISK EXERCISER v02.0 i ERROR MESSAGE SUBROUTINES 3344 000000 000004 000006 ; : 1 004737 104423 000207 ENDMSG; 000000 004737 007132 000004 000010 000014 012746 012746 012746 000020 0000006 000002 000024 000030 062706 000207 000006 000020 000022 010600 104414 Routine Size: 13 words, ; Maximum stack depth per 3450 000000 000004 000006 1 004737 104423 000207 Routine MPaximum stack depth per 2 2 2 2 1 Rout ine Base: invocation: 2 words $CODES$ + Page 912 (36) Routine Base: invocation: 5 $CODES$ 3444 10136 ! ! LSBTTL MS$EMS.01: JSR MOV MOV MOV MOV TRAP ADD RTS ELAPSED TIME "MORE THAN XX. UNITS SPECIFIED" MS$EMS.01 ERROR MESSAGE SUBROUTINES PC.EMS.ET H SP,.RO 14 ; #6,5P PC H #20,-(SP) #€85.01,-(SP) #2,-(SP) . 3446 : 3447 SP,# 3444 10146 words .SBTTL EMS.10::JSR TRAP RTS 000000V ; 3451 3452 3453 3454 34355 USER$1:[AZTEC.CZRCDB)CZRCD2.SRC;8 SEf 0185 BGNMSG (EMS_10); ; H : : ; : Size: 14-Jun-1985 09:32:03 EMS.01 ERROR MESSAGE SUBROUTINES PC,MS$EMS.01 : 23 PC EMS_ET (); PRINTB (EBS_01, MAX_UNITS); ; : .SBTTL EMS.01::JSR TRAP RTS 000000V Routine € _e: 4 words, Maximum stack depth per 3445 3446 3447 3448 3449 VAX-11 Blies-16 v4.0-579 BGNMSG (EMS_01); 2 2 2 2 1} ; H : : : 14-Jun-1985 09:36:36 4 words, Routine Base: invocation: EMS_ET (); PRINTB (EBD_10, $CODES$ EMS.10 ERROR MESSAGE SUBROUTINES PC,M$EMS.10 : 23 PC + 3450 10200 2 words .RT25_ADDR + .OF RC); ! ! ELAPSED TIME “NO RESPONSE AT ADDRESS XXXXXX(0)" ENDMSG; 0000CO 004737 007132 0000C4 013746 000000G LSBTTL MS$EMS.10: JSR MOV M$EMS.10 ERPOR MESSAGE SUBROUTINES PC.EMS.ET RC25.ADDR, -(SP) i H 3452 3453 | CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES v02.0 000010 000014 000020 000024 000026 000030 000034 : H Routine Size: Maximum stack 3856 000000 000004 000006 : ; 1 004737 104423 000207 Routine Size: Maximum stack 3457 3458 3459 3460 3461 = ;: 063716 012746 012746 010600 104414 062706 000207 0000006 000000G 000002 ADD MOV MOV 15 words, Routine Base: depth per invocation: 5 words 4 words, depth per Routine Base: invocation: 2 words EMS_ET (); PRINTB (EBD_12, 013746 012746 012746 010600 104414 062706 000207 000000G 0000006 000002 000006 BGNMSG (EMS_13); ; Routine Size: Maximum stack 23 SP,« H 3450 ; 3456 PC -« 10246 ! ! ELAPSED TIME “INCORRECT BR LEVEL GIVEN FOR DEVICE XXXXXX(0)" 000000V 4 words, depth per M$EMS. 12 ERROR MESSAGE SUBROUTINES MOV MOV MOV MOV TRAP ADD RTS : ; $CODES EMS.12 ERROR MESSAGE SUBROUTINES PC,MS$EMS.12 .SBTTL MS$EMS.12: JSR 13 werds, Rout ‘'ne Base: depth per invocation: S words 004737 104423 000207 10210 .RC25_ADDR); ;: Routine Size: 0000C0 000004 000006 $CODES ; ENDMSG ; 000004 000010 000014 000020 000022 000024 000030 1 PC .SBTTL EMS.12::JSR TRAP RTS 000000V 007132’ 3462 #6,S5P ADD RTS SEQ 0186 Page 94 USER$1:(AZTEC.CZRCDB]CZRCD2.SRC; 8 (36) VAY-11 Bliss-16 V4.0 579 BGNMSG (EMS_12); 004737 Maximum stack OF .RC, (SP) #€80.10, -(SP) #2,-(SP) SP,RO 14 MOV TRAP 000006 000000 ; 14-Jun-1985 09:36:36 15-Jun-1985 09:32:03 $CODES + .SBTTL EMS.13::JSR TRAP RTS Routine Base: invocat on: 2 words $CODES$ PC,EMS . ET RC25.ADDR, -(SP) #EBD.12,-(SP) ; H SP.RO 14 #6,5P PC : SP, & : 3456 EMS.13 ERROR MESSAGE SUBROUTINES PC.M$EMS.13 : 3462 10256 23 PC + 3458 3459 10310 CZRCOD2 3463 3464 3465 3466 3467 3468 oo v0e2.0 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 14 Jun-1985 09:36:36 14-Jun-1985 09:32:03 EMS_ET (); PRINTB (EBD_13, EMS_SA (); ! ! ! 004737 007132 000004 000010 000014 000020 000024 000026 000030 000034 000040 013746 013746 000000G 0000006 0000006 000003 ; Routin e Size: ; Maximum stack 3469 : 000000 000004 000006 ; ; 1 004737 104423 000207 Routin e Size: Maximum stack M$EMS.13 ERROR MESSAGE SUBROUTINES JSR PC,EMS.ET RC25.ADDR, -(SP) STEP,-(SP) MOV MOV MOV MOV MoV TRAP $CODES : 3464 3465 ; #£8D0.13,-(SP) #3,-(SP) SP,RO 14 : PC,EMS.SA JSR ADD RTS 17 words, Routine Base: depth per invocat'on: 6 words ; : 3466 3462 EMS.14 ERROR MESSAGE SUBROUTINES PC,M$EMS.14 i 23 PC 3469 #10,S5P PC « SP,x 10320 BGNMSG (EMS_14); .SBTTL EMS.14::JSR 000000V TRAP RTS 4 words, depth p~r ENDMSG ; 000000 004737 007132 000004 000010 000014 000020 000022 000024 000030 000034 013746 012746 012746 010600 104414 004737 062706 000207 0000006 0000006 000002 [ ELAPSED TIME "STEP X READ ERROR ON DEVICE XXXXXX(0)*" PRINTX SA CONTENTS .SBTTL M$EMS. 13: 007170 000010 Lol ASRAV ALV E VI 3470 3471 3472 3473 3474 3475 .RC25 ADDR); SEQ 0187 Page 95 (36) ENDMSG; 000000 012746 012746 010600 104414 004737 062706 000207 .STEP, VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD2.SRC; 8 EMS_ET (); Routine Base: invocation: 2 words PRINTB (EBD_14, EMS_SA (); 007170’ 000006 S$CODES -« 10362 .IRC25_ADDR); ! ELAPSED TIME ! PRINTX SA REGISTER CONTENTS ! .SBTTL M$EMS. 14 JSR MOV MOV MOV MoV TRAP JSR ADD RTS "ERROR CODE RECEIVED IN SA REGISTER OF DEVICE XXXXXX(0)*" M$EMS.14 ERROR MESSAGE SUBROUTINES PC,EMS.ET IRC25.ADDR, -(SP) #€8D. 14, -(SP) 82, -(5P) SP,RO 14 PC,EMS.SA ; ; 46,SP PC ; ; : 3471 3472 SP,# 3473 3469 CZRCOD2 v02.0 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBRCUTINES ;s ; Rout ‘ne Base: 15 words, depth per invocation: 5 words : Routine Size: Maximum stack 1 3476 000000 000004 000006 004737 104423 000207 =Moo @ % @ @r @0 @ Routine Maximum stack depth per 4 words, PRINTB 000004 000010 000014 000020 000022 000024 000030 000034 013746 012746 012746 010600 104414 004737 062706 000207 000000G 0000006 1 004737 104423 000207 2 2 2 2 EMS.15 ERROR MESSAGE SUBROUTINES PC,MS$EMS. 1S : 23 PC + 3476 10430 ' ! ! .SBTTL MS$EMS. 15: JSR MOV MOV 000002 ELAPSED TIME "FAILED TO RECEIVE END MESSAGE FROM DEVICE XXXXXX(0)* PRINTX COMMAND MS$EMS.15 ERROR MESSAGE SUBROUTINES PC.EMS.ET RC25.ADOR, -(SP) #E8D .15, -(SP) $2,-(SP) SP,RO 12 PC.EMS.CMD #6,SP PC MOV MOV TRAP JSR ADD RTS 007342 000006 + H : : 3478 3479 SP,& : H 3480 3376 EMS.16 ERROR MESSAGE SUBROUTINES PC,M$EMS. 16 : 3483 10440 BGNMSG (EMS_16); .SBTTL EMS.16::JSR 000000V TRAP RTS 4 words, ; Routine Size: ; Maximum stack depth per 3484 3485 3486 1487 (36) 10372 .RC25_A DDR); Routine Base: 15 words, $CODES$ S words Maximum stack depth per invocation: 000000 000004 000006 : : : : $CODES Routine Size: 3483 . USER$1:(AZTEC.CZRCDBICZRCD2.SRC; 8 SEQ 0188 Page 96 ENDMSG: 007132’ i (EBD_15, EM5_CMD (): 004737 ; Routine Base: invocation: 2 words EMS_ET (); 000000 ;: $CODES .SBTTL EMS.15: JSR TRAP RTS 000000V ; 3477 3478 3479 3480 34381 3482 14-Jun-1985 09:32:03 VAX-11 Blies-16 V4,0-579 BGNMSG (EMS_15); ; Size: 14-Jun-1985 09:36:36 EMS_ET (); Routine Base: invocation: 2 words PRINTB (EBD_16, EMS STC () .CPLAT); $CODES$ 23 PC + 10476 ! t ! ELAPSED TIME “"ERROR IN RESPONSE TC ONLINE COMMAND FOR PLATTER XXX.* PRINTX STATUS CODE IF NOT ZERO CZRCD2 vV02.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 0000006 000000G 000002 ; ; : 3488 3489 3490 ; 000207 Routin e Size: Maximum stack 349} 000000 000004 000006 ;: 010600 104414 004737 004737 062706 1 004737 104423 000207 Routin e Size: Maximum stack 3492 3493 3494 3495 3496 oo i ; : .SBTTL MS$EMS. 16: JSR MOV MOV HOV MOV TRAP JSR JSR ADD RTS 007250° 007302 000006 17 words, Routine Base: depth per invocation: S words $CODES 4 words, depth per Routine Base: invocation: 2 words EMS_ET (); PRINTB (EBD_17, Pa 97 (36) PRINTX Sue-CODE PC.EMS.ET CPLAT, -(SP) #£8D.16,-(SP) 3485 3486 SP,RO 14 PC,EMS.STC PC,EMS.SBC 6 ,5P PC -« SP,» 3487 3488 3483 10506 $CODES$ EMS.17 ZRROR MESSAGE SUBROUTINES PC,MSEMS .17 3491 23 PC -« 10550 ! .CPLAT); ! ELAPSED TIME "PLATTER XXX. IS SW WRITE-ENABLED BUT HW WRITE-PROTECTED" ENDMSG; 007132 000004 000010 000014 000020 000022 000024 000030 013746 012746 012746 010600 104414 062706 000207 000000G 000000G 000002 000006 .SBTTL MS$EMS.17: JSR MOV MOV MOV BGNMSG (EMS 18); M$EMS.17 ERROR MESSAGE SUBROUTINES PC,EMS.ET CPLAT, -(SP) #t80.17,-(SP) #2,-(SP) SP,RO 14 #6,SP PC MOV TRAP ADD RTS ;: Routin e Size: 13 words, Routine Base: $CODES ; Max:.mum stack depth per invocat'on: S words 1 USER$1:[AZTEC.CZRCDB)JCZRCD2.SRC; 8 M$EMS.16 ERROR MESSAGE SUBROUTINES .SBTTL EMS.17::JSR TRAP RTS 000000V 004737 3497 SEQ 0189 BGNMSG (EMS_17); 000000 H VAX-11 Bliss-16 V4.0-579 -« 10560 3493 3494 SP,& 3491 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES CZRCD2 v02.0 004737 104423 000207 000000 000004 000006 Routin e Size: Maximum stack 3498 3499 3500 3501 3502 3503 3504 =P ®s ws @e @ @ me @ ; ; 007132 000004 000010 000014 000020 000022 000024 000030 000034 000040 013746 012746 012746 010600 104414 004737 004737 062706 000207 0000006 0000006 000002 ;3505 000000 000004 000006 1 004737 104423 000207 ;: Routine 5ize: Maximum stack 3506 3507 3508 3509 3510 3511 =Moo ; $CODES VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB)CZRCD2.SRC;8 EMS.18 ERROR MESSAGE SUBROUTINES PC,M$EMS.18 : 23 PC -« SEQ 0190 Page 98 (36) 3497 10612 ELAPSED TIME "ACCESS FAILED ON PLATTER XXX." PRINTX STATUS CODE IF NOT ZERO PRINTX SUB-CODE .CPLAT); ENDMSG; 004737 Routin e Size: Maximum stack Routine Base: invocation: 2 words EMS_ET (); PRINTB (EBD_18, EMS_STC (); EMS_SBC (); 000000 ; ; .SBTTL EMS.18::JSR TRAP RTS 000000V 4 words, depth per 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .S8TTL MS$EMS.18: JSR MOV MOV M$EMS.18 ERROR MESSAGE SUBROUTINES PC.EMS.ET CPLAT, -(SP) #EBD.18,-(SP) #2,-(SP) MOV MOV TRAP JSR 007250’ 007302’ 000006 SP,.RO 14 PC,EMS.STC PC,EMS.SBC #6,5P JSR ADD RTS 17 words, Routine Base: depth per invocation: 5 words S$CODES PC -« ; : 3499 3500 ;: SP.» ; : H 3501 3502 3497 ; 3505 10622 BGNMSG (EMS_19); .SBTTL EMS.19::JSR TRAP RTS 000000V 4 words, depth per Routine Base: invocat'on: EMS_ET (); PRINTB (EBD_19, EMS_RP (); ENDMSG; 2 words .CPLAT); $CODES$ EMS.19 ERROR MESSAGE SUBROUTINES PC,MS$EMS.19 23 PC -« 10664 ! ! ! ELAPSED TIME "PLATTER XXX. WENT OFFLINE" PRINTX RELEVANT RETPKY FIELDS CZRCD2 CZRCDBO RC2S DISK EXERCISER ERROR MESSAGE SUBROUTINES v02.0 000000 004737 007132 000004 000010 000014 000020 000022 000024 000030 000034 013746 012746 012746 010600 104414 004737 062706 000207 0000006 0000006 000002 010104° 000006 15 words, Routine Base: depth per invocation: S words ;3512 BGNMSG (EMS_20); Maximum stack 000000 000004 000006 1 004737 104423 000207 Routin e Size: Maximum stack 3513 3514 3515 3516 3517 oo ; : 4 words, depth per 000004 000010 000014 000020 000022 000024 000030 013746 012746 012746 010600 104414 062706 000207 000000G i Maximum stack 3518 000000 0000C4 0000C6 1 004737 104423 000207 $CODES SEQ 0191 Page 99 (36) PC,EMS.ET ; CPLAT, -(SP) »€£80.19, -(SP) SP,RO 14 PC,EMS.RP : 3508 SP,% ; #6,5SP 3509 ; 3505 EMS.20 ERROR MESSAGE SUBROUTINES PC,M$EMS. 20 H 3512 PC -« 3507 : 10674 23 PC - 10732 ! ! .RC25_ADDR); ELAPSED TIME “DEVICE XXXXXX(O) NOT PROCESSING COMMAND PACKETS" ENDMSG; 007132 Routine Size: Routine Base: invocation: 2 words EMS_ET (); PRINTB (EBD_20, 004737 : $CODES VAX-11 Bliss-16 v4.0-579 USER$1-{AZTEC.CZRCDB JCZRCD2.SRC;8 M$EMS.19 ERROR MESSAGE SUBROUTINES .SBTTL EMS.20::JSR TRAP RTS 000000V 000000 ; .SBTTL M$EMS.19: JSR MOV MOV MOV MOV TRAP JSR ADD RTS ; Routin e Size: ;: 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 000000G 000002 .SBTTL M$EMS.20: JSR MOV MOV MOV M$EMS.20 ERROR MESSAGE SUBROUTINES PC,EMS.ET TRAP ADD R1S 000006 13 words, Routine Base: depth per invocation: 5 words $CODES - 3514 ; SP,RO 14 i %6,SP PC : 3512 EMS.21 ERROR MESSAGE SUBROUTINES PC M$EMS.21 i 3518 #EBD .20, -(SP) #2,-(SP) MOV H RC25.ADDR, -(SP) 3515 SP,s 10742 BGNMSG (EMS_21); 000000V .SBTTL EMS.21::JSR TRAP RTS 23 PC CZRCD2 v02.0 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES : : depth per Routine Size: Maximum stack L adAV IS N VR, VY V), ) 3519 3520 3521 3522 3523 3524 3525 4 words, ENDMSG; 000000 004737 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 0000006 000000G 000002 : Routine Size: ; Maximum stack 3526 000000 000004 000006 ®s ®¢ @ W ws ; ; 1 004737 104423 000207 Routin e Size: Maximu m stacl 3527 3528 3529 3530 3531 0000C0 =N H 004737 Routine Base: invocation: 2 words EMS ET (); PRINTB (EBD 21, EMS_CMD (); PRINTX (EX_DSC, 14 -Jun-1985 09:36:36 14-Jun-1985 09:32:03 $CODES - .ST CODE); Routine Base: 23 words, depth per invocation: 7 words (36) ELAPSED TIME "MESSAGE REJECTED 8Y DUP SERVER ON DEVICE XXXXXX(0)* PRINTX COMMAND " DUP STATUS CODE: X.* .SBTTL 000012 USER$1:[AZTEC.CZRCDB JCZRCD2.SRL;: 8 SEQ 0192 Page 100 10774 .RC25_ADDR); M$EMS.21 ERROR MESSAGE SUBROUTINES MS$EMS.21: JSR MOV MoV MOV MOV TRAP JSR MOV MOV MOV MOV TRAP ADD RTS 007342 0000006 0000006 000002 VAX-11 Bliss-16 V4.0-579 PC,EMS . ET H RC25.ADDR, -(SP) #EBD.21,-(SP) #2,-(SP) SP,RO 14 PC,EMS.CMD ST.CODE, (SP) #EX.DSC, -(SP) #2,-(SP) ;: 3521 SP,» H : SP.RO 15 ;: #12,5P PC $CODES 3520 H 3522 3523 SP.s H 3518 H 3526 11004 BGNMSG (EMS_22); .SBTTL EMS.22::JSR TRAP RTS 000000V 4 words, depth per EMS_ET (); PRINTB Routine Base: invocation: 2 words (EBD_22, $CODES EMS.22 ERROR MESSAGE SUBROUTINES PC,MS$EMS .22 23 PC -« 11062 ! ! .RC25_ADDR); ELAPSED TIME “NO RESPONSE FROM FRONT PANEL TEST EXECUTING IN DEVICE XXXXXX(0 * ENDMSG; 007132 LSBTTL M$EMS.22 ERROR MESSAGE JSR PC.EMS.ET MS$EMS.22: SUBROUTINES ; 3528 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES v02.0 000004 000010 000014 000020 000022 000024 000030 013746 012746 012746 010600 104414 062706 ~00207 ; Routin e Size: ; : Maximu m stacl 3532 000000 000004 000006 1 004737 104423 000207 ; Routin e S’ ze: 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 WRLRNDNDDDND Maximu m stack =W : 011134 011136 011140 011142 011144 011146 011150 011152 011154 011156 011160 0000006 0000006 000000 0000006 000000G 0000006 0000006 0000006 0000006 0000006 0000006 0000C0o 004737 {S 18-Jun-1985 09:36:36 14-Jun-1985 09:32:03 000000G 0000006 000002 MOV MOV MOV MOV TRAP ADD RTS 000006 13 words, depth per Rout ‘ne Base: invocat on: $CODES VAX-11 Bliss-16 v4.0-579 USERS$1:(AZTEC.CZRCDBICZRCD2.SRC; 8 RC25.ADDR, -(SP) €80 .22, -(sP) : SP,RO 14 #6,SP PC H SEQ 0193 Page 101 (36) 3529 82,-(SP) . S words SP-‘ 3526 11072 BGNMSG (EMS_30); .SBTTL EMS.30::JSR 000000V EMS.30 ERROR MESSAGE SUBROUTINES PC.MSEMS.30 23 TRAP RTS 4 words, depth per OWN EBH_TB ! Rout ine Base: invocation: 2 words : $CODES PC - 11124 VECTOR [11] INITIAL (EBH_31, EBH_32, 0, EBH_34, EBH_3S5., EBH_36, EBH_37, EBH 38, EBH_39, EBH_40, EBH_41); TABLE OF BASIC, MARD ERROR HESSAGE ADDRESSES EMS_ET (); PRINTB (PLATT, .CPLAT); IF ((.ST_CODE GEQU 1) AND (.ST_CODE LEQU 11)) THEN ELSE PRINTB (.EBH_TB [.ST_CODE PRINTB (EX_SC, .ST .cooe); EMS_RP (); : - 11) INDEXED BY STATUS CODE ELAPSED TIME “PLATTER XXX. - * %F STATUS CODE IS WITHIN RANGE HEN PRINTB APPROPRIATE MESSAGE ELSE STATUS CODE OUT OF RANGE JUST PRINT STATUS CODE PRINTX OTHER RETPKT FIELDS ENDMSG ; EBH.T8: .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 M$EMS.30 ERROR MESSAGE .WORD 007132 MS$EMS. 30: SUBROUTINES 3532 CZRCD2 v02.0 CZRCD30 RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 000004 000,10 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 : Routine Size: ; i ; : : ; H : i $ H 0000006 000013 011132 000001 3549 010104° 000010 37 words, 004737 104423 000207 Routine Base: invocation: 7 words PC,EMS.ET CPLAT, -(SP) QPLATT,-(SP) 82,-(SP) SP,RO 14 ST.CODE,RO 13 RO,013 1 RO EBH.TB 2(R0O),(SP) #1,-(SP) SP,RO 14 28 RO,(SP) #EX.SC,-(SP) #2,-(SP) SP,RO 14 (SP). JSR ADD RTS PC,EMS.RP #10,5P PC $CODES : : ; SEQ 0194 Page 102 (36) 3539 3540 SP,» : 3541 : 3543 ;: SP,» ; H ; 3541 . 1 3545 SP.,s : : 3546 3532 EMS.42 ERROR MESSAGE SUBROUTINES PC,MSEMS .42 : 23 PC 3549 « 11162 Routine Size: 2 2 2 2 2 2 2 1 .SBTTL EMS.42:: JSR TRAP RTS 000000V 4 words, depth per Routine Base: invocation: $CODES 2 words EMS_ET (); PRINTB (PLATT, .CPLAT); PRINTB (EBH_42); EMS_LBN (); EMS_BC (); + 11274 ! ELAPSED TIME ! "PLATTER XXX. - * ! "HOST-DETECTED WRITE COMPARE ERROR" ! PRINTX LBN ! PRINTX BYTE COUNTS ENDMSG; 000000 004737 007132° 000004 000010 013746 012746 0000006 000000G ho 2%: JSR MOV MOV MOV MOV TRAP MOV 8EQ CMP BHI ASL MOV MOV MOV TRAP BR MOV MOV MOV MOV TRAP TST VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDB)CZRCD2.SR(C;:8 BGNMSG (EMS_42); Maximum stack 3550 3551 3552 3553 3554 3555 3556 3557 13: 000000G 000002 Maximum stack depth per 000000 000004 000006 ; 000000G 000000G 000002 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 .SBTTL M$EMS.42: JSR MOV MoV MS$EMS.42 ERROR MESSAGE SUBROUTINES PC,EMS.ET CPLAT, -(SP) ePLATT, -(SP) H ; 3551 3552 CZRCD2 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES v02.0 000014 000020 000022 000024 000030 000034 000036 000040 000044 000050 000054 012746 010600 104414 012716 012746 010600 104414 004737 004737 062706 000207 000002 14-Jun-198S 09:36:36 14-Jun-1985 09:32:03 MOV MOV 007706 007770 000010 ;i Routin e Size: i 23 words, Routine Base: $CODE$ Maximum stack depth per invocation: 6 words 3558 000000 000004 000006 i ;i 1 004737 104423 000207 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 000000 010146 000002 000006 000012 000016 000022 000024 000026 000032 000036 000040 000042 000046 004737 013746 012746 012746 010600 104414 012716 012746 010600 104414 004737 013701 : - ;: Page 103 (36) SP,a H SP.RO 14 PC,EMS.LBN PC,EMS.BC 10,5P PC SEQ 0195 3553 SP,» H 3554 ; 3555 H 3549 11304 BGNMSG (EMS_43); 000000V Routine Size: 4 words, Maximum stack depth per =R ; SP,RO 14 0tBH.42,(SP) [RAP MOV MOV MOV TRAP JSR JSR ADD RTS 0000006 000001 VAX-11 Bliss-16 V4.0-579 USER$1:{AZTEC.CZRCDB JCZRCD2.5RC; 8 .SBTTL EMS.43::JSR TRAP RTS Routine Base: invocation: 2 words $CODES$ EMS.43 ERROR MESSAGE SUBROUTINES PC,M$EMS .43 23 PC ; 3558 11362 EMS_ET (); 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_LOD); EMS_BD (); ELAPSED TIME “PLATTER XXX. - * "FAILED TO RECEIVE END MESSAGE FOR I/0 COMMAND* PRINTX COMMAND REFERENCE NUMBER STATUS PRINTX PRINTX PRINTX PRINTX FIELD HOLDS MODIFIER (IF ANY) COMMAND (AND MODIFIER) LBN BYTE COUNT I/0 BUFFER DESCRIPTCR ENDMSG; 007132’ 0000006 0000006 000002 000000G 000001 007216 0000006 .SBTTL M$EMS.43 ERROR MESSAGE JSR MOV PC,EMS.ET MOV #PLATT, -(SP) MS$EMS .43 MOV MOV MOV TRAP MOV MOV MOV TRAP JSR MOV R1,-(SP) CPLAT, -(SP) SP,RO 14 #EBMH .43, (SP) 1, -(SP) SUBROUTINES H : : 3561 3 SPO‘ ; 3562 SP.RO H SP.‘ PC,EMS.TRN RP .ADOR,R1 : H 14 3558 3560 3563 3564 C2RCD2 v02.0 000052 000054 000062 000066 000072 000076 000102 000106 000110 000112 000116 0C0122 000126 000132 00C134 000136 000142 000146 000150 CZRCDBO RC25 DISK EXERCISER ERROR MESSAGE SUBROUTINES 010100 016061 004737 013700 016016 012746 012746 010600 104415 013700 0:6016 012746 012746 010600 104415 004737 062706 012601 000207 : Routine Size: ; 3571 3572 3573 3574 1 1 1 O MOV MOV JSR MoV MOV MOV MOV MOV TRAP MOV MOV MoV MOV MOV TRAP JSR ADD “Qv RTS 000016 000012 007342 0000006 000040 0000006 000002 0000006 000020 000000G 000002 010046 000020 S3 words, : Maximum stack depth per : H : H 14-Jun-1985 09:36:36 14-Jun-1985 09:32:03 Routine Base: invocation: 11 words R1,RO 16(R0O),12(R1) PC,EMS.CMD RP.ADDR, RO 40(R0O),(SP) GEX.LBN, -(SP) 2,-(SP) SP,RO 15 RP .ADDR,RO 20(RO),(SP) *EX.CBC, -(SP) &2,-(SP) SP,RO 15 PC,EMS.BD &20,SP (S5P)+,R1 PC $CODES$ ELLVDOM 0TS external Psect Name : Words $CODE'$ Library ; ; $SAVES, BL$MUL RO, I 3567 SP,s H 3568 : 3558 $SAVE4, $SAVE3, $SAVER2 JSER$1:[AZTEC.CZRCDBICZRCDOL .L16;6 BLISS/PDP11 CZRCD2.SRC/LIST/EN:NOEIS Size: Time: ;: Elapsed Time: Lines/CPU Min: LCL, REL, -------- Symbols - ------ File Run , 2342 code + 627 data words C4:34.1 04:35.7 782 ; Lexemes/CPU-M"'n: 8635 ; Memory Used: 441 pages Compilation Complete CON Statistics Total Loaded Percent 276 204 73 COMMAND QUALIFIERS TM SP,s H ;i Pages (36) 31565 3566 references Attributes 2482 : ; : H : SEQ 0196 Page 104 RP.ADDR, « PSECT SUMMARY ; ; ; END : : USERS$1:(AZTEC.CZRCDB]ICZRCD2.SRC:8 . 11372 .GLOBL .GLOBL ; VAX-11 Blies-16 V4.0 S79 Mapped Processing Time 16 00:00.2 0001 0002 0003 0004 0005 2006 0007 0043 0044 0045 0046 TM SEQ 0197 VAX-11 Bliss-16 V4.0-579 Page 1 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 (» MCOULE CZRCD3 ( STITLE 'CZRCOBO RC2S DISK EXERCISER' IDENT = 'V02.0 , gDDRESSING_HODE (ABSOLUTE) BEGIN #SBTTL DECLARATIONS' LIBRARY 'CZRCOL'; REQUIRE 'Bl SMAC.REQ'; RC25 EXERCISER GLOBAL LIBRARY DIAGNOSTIC SUPERVISOR LIBRARY EQUALS; FORWARD ROUTINE INIT_TEST : NOVALUE, DRIVER_INIT : NOVALUE, CTLR_INIT : NOVALUE, INI_CTLR_DAT : NOVALUE, REG_EXIST, VEC_BR_TEST, INT _GEN, ROUTINES APPEAR IN THIS ORDER INDENTATION IMPLIES CALLED INITIALIZATION SUBTEST HARD _INIT, INI_RRING : NOVALUE, SET_CTLR_CHAR : NOVALLE, UNIT_INIT : NOVALUE, ACCESS : NOVALUE, [R 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 14-Jun-1985 09:41:21 14-Jun-198S 09:33:42 0 10 0 o b ot 0 et st et et 2 2 e et et et pa et e e 2 O O O OO W 9 @0 G0 B4 W0 B9 B @0 VI WP TP W Ve VP G0 G0 S 00 O G0 G5 B0 G0 9 B @8 @0 CZRCD3 SUBROUTINE b et b e Pt P e e e (it e P8 b Pt (o [ pet P 5 10 18 8 18 8 ot (b (b b 8 b ol 1 8 8 b 5 00 @ G0 G0 B0 6 G0 Be G Vs O W WS B W BF B TP W G0 O UL O G0 BT W S5 B3 00 @0 Br © G0 T B 1552 1553 1554 1555 1556 1557 1558 1559 1560 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 DM_EXER : NOVALUE, DM_INIT : NOVALUE, DM_QUIT, DM_RETPKT : NOVALUE, OM_MSG : NOVALUE, DM_ACC, DM_TALLY : NOVAL UE, UPD_DMBC : NOVALUE, DM_TIME : NOVALUE, MULTI_ORIVE : NOVALUE, MD_INIT : NOVALUE, INIT_IO_BUFF : NOVALUE, QI0_OK, ! DM EXERCISER SUBTEST ! MULTI-DRIVE SUBTEST ! RC25 INTERRUPT SERVICE ROUTINES 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 : 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 RCINTL : L$ISR RCINT2 : L$ISR RCINT3 : L$ISR : NOVALUE, NOVALUE, NOVALUE, NOVALUE, NOVALUE, SEQ 0198 CZRCD3 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1616 1617 1618 1619 1620 1621 162¢ 1623 1624 1625 1626 1627 1628 1629 1630 1631 f 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 et (b i (et s (B b (b b et b b fh b 1615 et R A b R R 1600 1601 1602 i603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 o 0 e e b S s 8 S 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 b el b e b b i b (s 5 bt pt 8 et et e b (i et pb b s b e e b v02.0 RCINT : 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 VAX-11 Blises-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC; 17 NOVALUE, INT_PROC : NOVALUE, ISET_CPAR : NOVALUE, FATAL_ERROR : NOVALUE, POLL _CRING : NOVALUE, POLL _RRING : NOVALUE, ENV_TO_RP : NOVALUE, DATAGM PSECT OWN = OWN ! ! ! ! ! ! ! ! ! $GGG$ : NOVALUE; (READ, NOWRITE, EXECUTE, LOCAL, CONCATENATE); COMM_AREA : BLOCKVECTOR (MAX_CTLR, COMM_LEN, WORD] FIELD (COM_FIELDS), U/Q PORT COMMUNICATIONS AREA BETWEEN HOST AND RC2S 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) FIELL (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) RDM_CNT : WORD INITIAL (RDM_LEN), NUMBER OF RANDOM NUMBERS \ KEEP RANDOM : VECTOR [RDM_LEN, WORD], PATO2 : VECTOR [2] INITIAL (1, %0’ 000000’ ), PATO3 : VECTOR [2] INITIAL (1, ®0'177777' ), PATO4 : VECTOR [2] INITIAL (1, %0°'105613' ), PATOS : VECTOR (2] INITIAL (1, %0'031463' ), PATO6 : VECTOR (2] INITIAL (1, %0’ 030221' ), PATO7 : VECTOR [17] INITIAL (16, %0' 000001, %0°'000003’', %0‘000007', %0’ 000037’, #0'000077', PATO8 : %0'000177', %0'000777', %0'001777', $0'017777', VECTOR [17]) #0'037777', %0'077777', INITIAL (16, %0'003777', RANDOM NUMBER TABLE (PATTERN 1) ! PATTERN 2 ! PATTERN 3 ! PATTERN 4 ! PATTERN 5 ! PATTERN 6 ! PATTERN 7 ! PATTERN 8 %0'000017’, %0'000377', #0'007777', %0'177777'), SEd 0199 / TOGETHER Page 3 (2) CZRCD3 v02.0 CZRCDBO RC2S DISK EXERCISER DECLARATIONS 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ; 1645 1 %0'177776', #0'177774', #0'177770', %0'177760', : i 1647 1648 1} 1 %0°177000', %0' 160000’ , %0'176000', #0'140000’, #0‘174000', #0'100000', %0'170000°’, %0'000000') : 1650 : 1651 H 1652 ;1653 H 1654 1 1 1 1 1 %0' 000000’ , %0'177777°, %0'177777*, %0’ 000000’ , #0' 000000’ , #0'000000’, #0'000000', %0'177777', $0'177777', %0'000000’', %0’'000000', %0'177777, #0°177777', %0'000000', #0'177777', #0'177777'), H H 1646 1649 1 PATO9 : VECTOR [17] INITIAL (16, 1 1 1 PAT10 : VECTOR [2] INITIAL (1, %0°'133331'), PAT11 : VECTOR (17] INITIAL (16, PAT12 : VECTOR [21] INITIAL (20, i655 1656 1657 H 1663 1 H 1665 1 ;1658 H 1659 H i660 ;1661 H 1662 H 1664 H i 1666 1667 : H : 1669 1670 1671 : ; ;. : H 1668 1 1 1 1 1 1 1 1 1 1 1 : H : ; ; 1688 1689 1690 1691 1692 1 1 1 1 1 1695 1696 1697 1698 1 1 1 1 H i 1693 1694 i ; H : i 1699 ; 1700 ;1701 #0'026455', %0'151322', %0’ 000001’ , %0'C00002', %0'000004', %0'000010', %0' 000020’ , #0'000040’', %0'000100’', %0'000200', %0’ 000400’ , %0°'001000’, %0'002000', %0'004000', %0' 010000’ , #0°'020000', %0’'040000', %0‘100000') %0'177776', %0°'177775', #0'177773', %0°'177757', %0'177737', #0'177677', %0°'177377', #0'176777', %0'175777', %0°'167777', %0'157777', «%0'137777*, #0'177767°', #0'177577', %0'173777', %0'077777') %0'133331', %0’ 155554, %0’ 155554’ , #0' 133331’ , #0'133331’', %0'133331', %0'155554', #0'133331', %0'133331', %0'155554', %0' 000000’ , #0'106466', %0'106466', %0°071311‘, #0'071311', #%0'106466', %0'106466', %0’'106466', %0'071311’', %0°071311', #0'071311', %0'071311', 80106466’, %0'106466', %0'106466', %0'071311', %0'106466', =0'071311', %0'106466', %0'106466', PAT16 : VECTOR (17] INITIAL (16, #0'133331', #0°'155554', #0'155554°', #0’'155554', 1 1 PAT17 1 1 %0’ 106466’ ), PAT18 : VECTOR [22] INITIAL (21, 1 1 1 ! PATTERN 10 ! PATTERN 11 ! PATTERN 12 %0'0264SS', %0'026455', %0’'151322', #%0'026455', %0'151322', %0’'026455'), PAT1S : VECTOR [17] INITIAL (16, : 1682 : 1683 ; 1684 ;1685 1686 1687 %0'151322', #0’'’.51322', %0’ 151322, %0'026455', ! PATTERN 9 %0°‘151322', %0’'151322', #%0'026455', %0'026455', 1 1 1 1 1 : i #0'026455', %0'151322', PAT13 : VECTOR [2] INITIAL (1, %0’ 066666’ ), PAT14 : VECTOR (17) INITIAL (16, : 1677 ;1678 ;. 1679 ; 1680 ;1681 %0'026455', #0'026455', 1 1 1 1 1 1 1 1676 %0’ 052525’ , #0'052525', #0°'052525', #0'125252', %0’ 125252’, #0'125252', %0'052525', #0'052525', %0'125252', #0'125252', #0' 052525’ , #0’'125252', #0'052525', %0'1252S52', %0’ 052525, %0'125252'), 1 1 1672 1673 1674 1675 : %0°177740', %0°'177700', #0'177600', %0'177400', 1 H H H SEQ 0200 VAX-11 Bliss-16 V4.0-579 Page 4 USER$1:(AZTEC.CZRCDOB)CZRCD3.SRC; 17 2) %0'133331', #0'155554'), : VECTOR [22] INITIAL (21, %0°'106466°', %0'000000', #0'106466°', %0'106466', %0'071311°, %0'071311', %0°'106466°', %0’'106466', %0'071311', %0'106466', #0'071311‘, %0'106466', ! PATTERN 13 ! PATTERN 14 ! PATTERN 15 . ! PATTERN 16 ! PATTERN 17 ! PATTERN 18 %0'071311', %0'106466', %0'106466', %0'071311', #%0°'071311', %0'071311', %0'071311’, %0'071311', #0'071311'), PAT19 : VECTOR [22] INITIAL (21, ! PATTERN 19 i 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 %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'), : 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', %0’'043146', %0'043146', %0'043146', %0°' 043146’ , : %0'043146'), %0’'134631', #0'043146', %0'134631', %0'134631', L) PAT13, PAT19, PAT14, PAT20, PAT1S, PAT16, PAT21), R R TR e S S S b ] TR R RN R R RN TN B R B N M R R N B S d S Sl LI I R R S et fd S N W N o Yt Lo o Yo X ( NN DR DN RN NN RN RN S b Sd 1 A Lo Ko W T Yo W Yo Yo Yo Yo | —— (0] Vo PATTERN 21 ! ! (LBN) DATA PATTERN ADDRESS TABLE PAT17, CROMP : VECTOR[206,WORD) Lo ! %0'043146' , 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. PRESET Lan Lo Toma Kan T o PATTERN 20 %0'043146', VECTOR [DP_CNT] INITIAL (RDM_CNT, PATO2, PATO3, PATO4, PATOS, PATO6, PATO7, PATO8, PATO9, PATLO, PATI11, PAT12, PAT18, ! #0'134631', %0'134631°', %0’ 000000), ’ : %0’ 000140, %0’ 000000, %0’ 000472" , %0’ 000000’ , %0‘'051103", %0°' 046517, %0'020120°', %0’ 000001’ , %0’ 000013°, %0’ 000000’ , %0’ 000000°, %0’ 000000’ , THIS IS THE DM PROGRAM BYTE COUNT. THIS IS THE OM 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 %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, 80’ 104204, OM CODE STARTS HERE SEQ 0201 VAX-11 Bliss-16 V4.0-579 Page S USER$1:[AZTEC.CZRCOB JCZRCD3.SRC;17 (2 %0°'043146°, VECTOR [2] INITIAL (1, DPA_TBL L b b ok ph b (b 8 (b ek (e b (e et b b b b fh b b b e PAT21 NNV e s 2 OOV N D W n WO VNBWUWNFOOVORSONNIELWN O v e ed s s d et 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 PAT20 o 1732 b d et D e bl [ b o e 1702 1703 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 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 8 s e e e e e b e b b (b b et b b (b (b (8 (e (b e 8 WS ST B0 S5 S G0 G0 B8 S5 96 B G B0 95 WL WE S B0 BT BE B QE G G0 G2 B BE T WS G0 B0 Be BT S W VL VS BS BE WGP W B ST B0 W6 S0 Se S5 s e @0 @e G @s 00 @e CZRCOD3 v02.0 CZRCD3 v02.0 H 1759 : H : 1760 1761 1762 H : H 1764 1765 1766 H 1763 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1§ {30) (31) {32] 1 1 1 [34) (3] [36] 1 : 1767 : 1768 1 H H : 1770 17711 1772 1 1 1 H 1774 : : 1769 (29) 1 1 1 1 1 (33]) [(39]) = = = = #0'104142‘, #0'060020', #0'102207', (44) = (4S] H 17717 1 : 1779 1 1784 1785 1786 : : 1778 #%0'000001’, {40] (41] (42) 1 H #0°'002751', #0’104641°', 1775 1776 #0'104203°, #0'007000’, #£0°'104647', = [43) H = = = = = (38) 1 : #0'104140', #0'002752', #%0'104204', = #%0’'000037', #0'052754°, #0'104077°, = #£0'032305', 1 [46] = 1 (48] = [(47) #0'000002', = #0'007006', #0'000000’, (49] = 1 1 1 [54] (55]) {56] = = = 1788 1789 1 1 (58] {59] = = %0’'104202', «#0'002740', H H H 1791 1792 1793 1 1 1 (61) [62] {63) = = = #0'107017', #0°'105012°, #0'060011°, H 1795 1 {65) = %0'027203', [67) = #0'114000‘, ; H : : 1780 1781 1782 1783 H 1787 H ; ; : : H 1790 1794 1 1 1 1 1 1 1 (50) (51) (52] (53] [S57]) (60]) {64) #0'000000’, #%0’'000000', #%0'000000’, #0’'000000', = «0’'000002', = = 1 : 1798 1 {68) = : 1800 1 [70]) = : H : H ; 1797 1799 1 1 1801 1802 1803 1804 1 1 1 1 H 1806 H 1807 ;1808 1 1 1 : 1805 : 1809 H ; 1811 1812 H : ; H rb._ 1 1 1810 1 1813 1 1814 1815 1 1 1 1 {66]) = = = = 1796 : [69] #%0’000000', = = #0'107027', #0'027107', #0-027146°', #%0'007005‘, w%0'114000', #0'007776°, = = = = (76] (77) (78] = = - #0’'104301', #0’'007005°, #0'104610, [(80) = #0'007767‘, [75] (79] = = #0'114000°*, #0'007776°', «#0'104077°, #0'104206°, #0'007760', «#0'007234°, (81) (82) = = #0°'115000', %0'007767', (84) (85) = = #0'027120', #0’'104200°, (83] = ! DM OVERLAY CODE STARTS HERE #0'104207', #0°'007000°, #0°'104201', (71) (72] (73] (74) #0'077076', S - SEQ 0202 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 #0'007774¢, = = = {37) 1773 1 = 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 —— Page 6 (2> CZRCD3 v02.0 U U U U N Y O Sy S O U P N Y ST o T Y o ol oy oy e e e e o el Y el Y oy e e e e e e el e 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 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 Ll e : H H : : : H H H H H : H : ; H : H : H : : : : : : H : H H H H H H : H H H H : H : H : : H : H : H H H ; H : : H CZRCDBO RC25 DISK EXERCISER DECLARATIONS (86]) = %0'007051', (87) (88] = = #%0'002750’, %0'002740’, (90) = #0'115000', (92) = (94] = (89) (91) (93] = = = %0'027146', #%0'007265', %0'057051', %0'104200°, %0'177777', [95) = (97]) = #0'027146', (100] (101] = = #0'017071', #0'114000', (103) (104] (105] (106] (107) (108] {109) (110) (111) [112) = = = = = = = = = = #0'027130‘, £0°'007051‘, «0'027162', #£0'027203', #0'114000', #0'007264', %0°'027216', «0’'115400°, £0'007005', £0'106200', (96) (98] [99] [(102) (113) (114) (11S5] (116] {117]) (118) (119) (120) = = = = = = = = = = = = #0'007004°', «0°'027130°, %0'115000', %0'007265', #£0°'007004', %0°'000003’, 0'007005', #0'037031°, +0'114000', £0'00700S’, £0'00703%1’, «0’104207', £0°'007002', (121] (122] = = (124) = #0'102207’, = £0’000000°, (129]) (13¢) (131] [(132) = = = = %0°'007005°‘, #0°'104201°, £0'000005’, %0'06003%1’, (136] [(137] = = = (139] (140] = = {123] = (125) [(126] = = (128) = [(127]) (133) (134] (135] (138] (141) (142]) = = = = = #0°'104201’, #0'000002°, £0'060023', #£0'000037’, #£0'057107°, %0°'104307°, «0'104010¢, «0'007001’, £0'000000’, #0°'104307', #0'007002’, «0'105207', #0’'000060', #0°'114001°, «0'104202', %0'000001', 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]CZRCD3.SRC; 17 Page 2 (2) CZRCDBO RC25 DISK EXERCISER CZRCD3 v0e2.0 . . - 1] . ’ . . - . . L) . L) . » . L) . . . . - ’ . . . . 1 . L) . 1] . [ . * . - L » . . * . L) 3 * . L Py . . L) . ’ . L) . . L] . 1] . . . 14 . ’ . L} . L) . L) . L] . 1) . . . ’ . ’ . * lI.IIIIllIIIII'll.l.lllll.l.llIIIIlII.II.IIIIIIIIIIIIllll - * w Ofl\l\lslslsl\I\IQQOO\OOGOOOOOMMMg wn o 1o R W | W | W Y W Y W ) Wy Wy W W i N e T e rarrar Tar rar T rar ralfrad . 1] e o LT TR T T . L) (150]) o e . * e D . e e e . L) WONONDPUWNHOOVENONEBWNFOVRNOVNBEWNFHFOOVIIOMBWNFOO®-J L] e e L L . (146]) (147] (148) (149) ) ) ) ey ) 6 ey ey ) ) ey ey ) gy ey Py =y =y b el b b (b Pt b ot P o s P e Pmd Pt i . (143) (144) [145) N Y N P N P N R 0 ) 6 PN S P P 0 P ) )£ 0 T P P 7 Pt et (e el b b b b (b Pt (e (o b (b (b (e (o [ (b o8 b b b P el (b b O O O O O O O O OO 0O 00O oo oo 1) . b b b b (et 8 0 o (e h b b bt e (b (b (b b o s (i b b (e e e b el et (b e e b i e . e R 1t e e R s b b b et . 1] 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 R s S s . 0 10 1t s . L] * DECLARATIONS %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 VAX-11 Bliss-16 V4.0-579 SEQ USERS$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 0204 RGN ge 8 (2 CZRCD3 CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1944 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 1983 1984 1985 1986 S b Rt R S A S St R e e s s s e R R 1943 (202) (203] (204) (205] = = = = = = SEQ 020S VAX-11 Bliss-16 V4.0-579 Page 9 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2) %0°'102207°', %0°'000037°, #0'057216°, «0'000000‘, %0'143367', #0'000000°); EXTERNAL PATCH : VECTOR (100, WORD], ! PATCH AREA CPT : VECTOR [MAX_UNITS, BYTE], ! CURRENT PASS TESTING (YES / NO) PER UNIT CST : BLOCKVECTOR [MAX_CTLR, CST_LEN, WORD) FIELD (C_FIELDS), ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ' b 1940 1941 1942 (200] (201] ! B 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 b A e e s h e o e 1t (b b b (el Bl et s b d D e et et (et s et (b bt b s et gt v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ! RUN-TIME CONTROLLER STATUS TABLES CST_ADDR : REF BLOCK [CST_LEN, WORD] FIELD (C_FIELDS), CONTROLLER STATUS TABLE ADDRESS OF ‘CURRENT” CONTROLLER DCT : BLOCKVECTOR [MAX_CTLR, DCT_LEN, WORD] FIELD (DC_FIELDS), DRIVER CONTROLLER TABLES OCT_ADDR : REF BLOCK [OCT_LEN, WORD) FIELD (DC_FIELDS), ADDRESS CF “CURRENT” DRIVER CONTROLLER TABLE RC25_ADDR : REF RC25 FIELD (RC_REG), DEVICE ADDRESS OF "CURRENT“ CONTROLLER IRC25_ADDR : REF RC2S5 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, STARTINGDINDEX 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] FIELO (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 TAELE 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 ; H H H 4 H H : H H 4 i H H 4 H é 4 é H H ¢ H H H H 4 H ¢ 3 : H H : H 3 ¢ H [ H H H 4 3 : H é : H 4 ; i H 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 2040 2041 2042 2043 B R P e e 1 e 8 1 0 1 1 8 b bl e b e (s o Bt b el (b (ot e (b b s o e b ot b b b (n o ped b i (b b pea H B 0 S S et 0 H 1987 1988 1989 1990 1991 1992 1993 1994 0SS H H CZRCDBO RC2S DISK EXERCISER DECLARATIONS 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 170 BUFFER OWNERSHIP (CONTROLLER NUMBER) : VECTOR (IODQ_LEN, BYTE], 170 DONE QUEUE - CIRCULAR QUEUE OF RETPKT I0DQ_IN : WORD, ] 100Q_OUT : WORD, ' ENTRY_REASON : BYTE, ' T_FLAG : BYTE, ' EOP_FLAG : BYTE, ! MEM_MGMT : BYTE, ' IIP_FLAG : BYTE, ] CCTLR : WORD, ' SEQ 0206 VAX-11 Bliss-16 V4.0-579 Page 10 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 (2) 100Q CPLAT : WORD, CUOFF : WORD, CTLR_CNT : WORD, DUR : VECTOR [MAX_UNITS, BYTE), QIO : VECTOR [MAX_CTLR, BYTEJ, ' ' ! ' ' FREE _MEM_ADDR, ! MEM_SIZE : WORD, BUFF _SIZE : WORD, NUM_BUFF : WORD, CLK_TYPE : WORD, ! ' ' ! ] CLK_HERTZ : MINUTES WORD, WORD, CLK_CSR, CLK_VECTOR, HOURS : WORD, : ' ' ' ' ! SECONDS : WORD, TICKS : WORD, ST CODE : WORD, ] ! STEP : WORD, OF _RC : SIGNED WORD, SA_REG : WORD, NEX : WORD, CRN : WORD, MSG_02, MSG_03, MSG_04, MSG_0S, MSG_06, MSG_08, EGD 10, EGD_11, EGD_12, EGD_13, EGD_14, £GD_15, EGD_16, EGD_17, EGD_18, EGD_19, EGD_20, EGD_21, EGD_22, EGH_30, STC_00, ' '! ! ' ! SB CODE : WORD, !' ! INDECES I/0 DONE QUEUE IN POINTER I/0 DONE QUEUE OUT POINTER HOW CURRENT PASS WAS INVOKED 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 UNT~ TOTAL NUMBER OF CONFIGURE CONTROLLERS DROP UNIT REASON NUMBER OF OUTSTANDING QIOS PER CONTROLLER AVAILABLE MEMORY (IN WORDS) UP TO 28Kk START OF FREE MEMORY BELOW 28K SIZE (BYTES) OF AN I/0 BUFFER NUMBER OF I/0 BUFFERS TYPE OF CLOCK ON SYSTEM (0O = NONE, -1 = L 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 1 = P_CLOCK) 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 CZRCD3 v02.0 ;. i i i : i ; i ;. i 1 i i s 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 i CZRCDBO RC25 DISK EXERCISER DECLARATIONS 1 1} 1 1 1 1 1 1 1 1 1 1 1 1 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, 2060 1 EX_EVC, ;. 2062 s 2063 i 2064 i 2065 ;2066 i 2067 ;. 2068 i 2069 i 2070 i 2071 2072 3 i 2073 ;. 2074 s 2075 i 2076 ;. 2077 ;. 2078 i 2079 ;. 2080 ;2081 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 EX_03, SWP_STRACK : WORD, SWP_ETRACK : WORD, SWP_FLAGS : BYTE, SWP_DPAT : BYTE, SWP_UCNT : WORD, SWP_UDPAT : VECTOR [MAX_UDP_CNT, WORD], LS$HIMEM, LSUNIT, L$LUN; ;i 2083 ;. 2084 ;2085 i 2086 ;2087 1 1 1 1 1 ¢ i i i i i 3 1 3 i i i 1 1 1 1 1 1 1 1 1 1 1 1 ;2058 i 2059 i i 2061 2082 ;2088 — 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 1 1 1 1 1 14-Jun-1985 09.41:21 14-Jun-1985 09:33:42 SEQ 0207 VAX-11 Blisse-16 V4.0-579 Page 11 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (2) EX_PA, EX_FMT, EX_HMA, EXTERNAL ROUTINE NEX_TRAP : L$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_IODQ, IN_I0DQ : 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, ! ! ! ! ! ! STARTING TRACK ENDING TRACK FLAGS (SEE DOCUMENTATION) DATA PATTERN NUMBER USER DATA PATTERN COUNT USER DATA PATTERN CZRCOD3 CZRCOBO RC2S DISK EXERCISER DECLARATIONS o pes po oo po ot 2101 2102 2103 2104 2105 2106 2107 2108 2109 0 o P B 0 B0 90 @0 00 @0 @0 o v0.0 EMS_17 EMS_18 EMS_19 EMS_20 EMS_21 EMS_22 EMS_30 EMS_42 EMS_43 : : : : : : : : : NOVALUE, NOVALUE, NOVALUE, NOVALUE, NOVALUE, NOVALUE, NOVALUE, NOVALUE, NOVALUE; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0208 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCOB)CZRCD3.SRC;17 Page 12 (2> CZRCD3 CZRC 080 RC2S DISK EXERCISER TEST SECTION 2110 2l11 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 §122 232 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 000000 000000 000440 000540 000569 wmwuuuaaom&buaaamma&uauuabmma&uuuuwr-»»—upnr—-» B WS 63 S0 B0 B S5 BE W0 G0 00 B8 GF B0 B¢ 3 G5 BT G0 B G0 B0 BT G2 G4 G G0 OF e GF B0 B¢ 00 00 @0 S0 @0 @ 90 @0 @0 @0 9 v02.0 €587 TL 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0209 VAX-11 Blise-16 v4.0-579 Page 13 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 3 ' TEST SECTION' THIS SECTION CONTAINS THE TOP-LEVEL TEST CODE FOR THE RC2S DISK EXERCISER. THE EXERCISER CONSISTS OF ONE TEST WHICH IS SUBDIVIDED INTO n NUMBER OF SUBTESTS. ALL SUBTESTS ARE DECLARED WITHIN THIS BLOCK. BGNT ST: EOP_ FLAG = FALSE; IF . ENTRY_REASON NEQU NEW PASS THEN BEGIN BGNSUB; INIT_TEST ENDSUB; ! ! IF START, THEN ! INITIALIZATION SUBTEST ! ! IF OPERATOR SELECTED DM EXERCISER THEN ! RUN DM EXERCISER SUBTEST ! OTHERWISE ! RUN MULTI-DRIVE SUBTEST ! ! PRINT STATISTICS SET END-OF PASS FLAG (); RESTART, CONT, OR PWR FAIL END; IF 8 IT_TST THEN (SWP_FLAGS, SWF_DM) 8EGIN BGNSUB; DM_EXER (); ENDSUB; END ELSE BEGIN BGNSUB; MULTI_DRIVE (); ENDSUB; END; DORP T; EOP_ FLAG = TRUE; ENDT ST:; .TITLE . IOENT .ENABL AMA PSECT $GGG$, COMM. AREA: .BLKW BST: .BLKW DPST: .BLKW ICOM.ADDR: .BLKW CZRTD3 CZRCDBO RC2S5 DISK EXERCISER /N02.0/ 220 40 10 1 RO CZRCO3 vV02.0 CZRCOBO RC2S DISK EXERCISER TEST SECTION 000001 030221 000020 000001 000003 000007 000017 000037 000077 000177 000377 000777 001777 003777 007777 017777 037777 077777 177777 000020 177776 177774 177770 177760 PATO3: PATO4: .WORD PATOS: .WORD PATO6: .WORD PATO7: .WORD PATO8: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD . WORD .WORD .WORD .WORD .WORD .WORD .WORD s s s et e e b w _WORD .WORD .WORD .WORD loal 177777 000001 105613 000001 031463 PATO02: - 000001 000000 000001 .BLKW VEC.AD: .BLKW BRLEVEL : .BLKW USIZE: .BLKW DM.TIMR: .BLKW SWEEP.FLAG: .BLKB .EVEN RDM.CNT: .WORD RANDOM: .BLKW 5 0€0020 MADZ2: .BLKW .BLKW .BLKW RCINT2 RCINT3 e 000632 000634 000674 000676 000700 000702 000704 000706 000710 000712 000714 000716 000720 000722 000724 000726 000730 000732 000734 000736 00C740 000742 000744 000746 000750 000752 000754 000756 000760 000762 000764 000766 000770 000772 MX1: MX2: MAD1 : RCINTO RCINT1 oo 000000V 000000V 000000V ORTIN 000572 000574 000576 000600 000602 000604 000606 000610 000612 000614 000616 000620 000630 1 [ 000000V - 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 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0210 Page 14 USER$1:[AZTEC.CZRCDBICZRCD3.SRC; 17 (3 VAX-11 Bliss-16 vV4.0-579 CZRCD3 CZRCDBO RC2S DISK EXERCISER TEST SECTION V0.0 000774 000776 001000 001002 001004 00106 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 001130 001112 001114 001116 001120 001122 001124 001126 001130 001132 001134 001136 001140 001142 001144 001146 001150 001152 001154 177740 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 177700 177600 177400 177000 176000 174000 170000 160000 140000 100000 000000 000020 000000 000000 000000 177777 177777 177777 000000 000000 .WORD PATO09: 1777717 17771 0C0000 7nn 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 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 PAT10: PAT11: PAT12: .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 SEQ 0211 VAX-11 Bliss-16 V4.0-579 Page 15 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (3 CZRCD3 V0.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£ b CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TEST SECTION 151322 151322 026455 026455 151322 026455 151322 026455 151322 026455 151322 026455 000001 066666 000020 000001 000002 000004 000010 000020 000040 000100 000200 0C0400 01000 002000 004000 010000 020000 040000 100000 000020 177776 177775 177773 177767 177757 177737 177677 177577 177377 176777 175777 173777 167777 157777 137777 077777 000020 133331 133331 133331 155554 155554 155554 133331 133331 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD PAT13: PAT14: PAT1S: 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 .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 40 100 200 400 1000 2000 4000 10000 20000 40000 -100000 -2 -3 -5 -11 -21 -41 -101 -201 -401 -1001 -2001 -4001 -10001 -20001 -40001 77777 -44447 -44447 -44447 -22224 -22224 -4444~ -44447 SEQ 0212 VAX-11 Bliss-16 V4.0-579 Page 16 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC; 17 (3) CZRCD3 V0.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 CZRCDBO RC25 DISK EXERCISER 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 071311 071311 071311 106466 106466 106466 106466 71311 PAT17: 071311 071311 071311 071311 106466 106466 106466 106466 106466 106466 000025 106466 000000 071311 106466 106466 106466 PAT18: 071311 071311 071311 071311 106466 106466 106466 106466 106466 071311 071311 071311 071311 071311 071311 000025 000000 134631 134631 043146 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 25 -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 Page 17 USER$1:(AZTEC.CZRCDB ICZRCD3.SRC;17 » CZRCOD3 CZRCDBO RC25 DISK EXERCISER TEST SECTION 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 134631 000025 134631 000000 043146 134631 124631 134631 043146 043146 043146 043146 134631 134631 001620 001622 001624 001626 001630 001632 001634 001636 001640 001642 001644 001646 001650 001652 001654 001656 001660 001662 001664 001666 001670 001672 001674 001676 0017C0 0017¢2 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 001616 b 043146 043146 134631 134631 134631 134631 043146 043146 043146 043146 043146 134631 134631 134631 134631 134631 PAT20: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WCRrD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 134631 PAT21: .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD WORD DPA.TBL:. WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 43146 43146 -43147 -43147 -43147 -43147 43146 43146 43146 43146 43146 -43147 -43147 -43147 -43147 -43147 -43147 a5 -43147 0 43146 -43147 -43147 -43147 43146 43146 43146 43146 -43147 -43147 -43147 -43147 -43147 43146 43146 43146 43146 43146 43146 1 0 ROM.CNT PATO2 PATO3 PATO4 PATOS PATO6 PATO7 FATO8 PAT09 PAT10 PAT11 PAT12 PAT13 PAT14 PAT15 PAT16 SEQ 0214 VAX-11 Blies-16 V4.0-579 Page 18 USERS$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (3 CZRCD3 CZRCOBO RC2S DISK EXERCISER TEST SECTION b .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 OCOMNOOOO -~ » -713640 U .WORD ~ -~ ~N W L3V] CROMP: .WORD .WORD .HWORD .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 -~ 1 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 001360’ 001434" 001510 001564 001640’ 000140 000000 000472 000000 051103 046517 020120 000001 000013 000000 000000 000000 000000 000000 000000 000000 104206 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 Ny ~N -~ (XX] 001704 001706 001710 001712 001714 001716 001720 001722 001724 001726 001730 001732 001734 001736 001740 001742 001744 001746 001750 001752 001754 001756 001760 001762 001764 001766 001770 001772 001774 001776 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 -73574 -73575 7000 i73131 -73137 2 -73636 60020 -715571 37 52754 -73701 7006 32305 [eXoNoNo] v02.0 SEQ 0215 VAX-11 Bliss-16 V4.0-579 Page 19 USER$1:[AZTEC.CZRCDBICZRCD3.SRC;17 (3) CZRCO3 V0.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 CZRCDBO RC25 DISK EXERCISER 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 115060 007767 077076 027120 104200 007051 002750 002740 027146 115000 007265 057051 104200 177777 007004 027130 027146 115000 007265 917071 114000 007004 027130 007051 027162 027203 114000 007264 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 .WORD .WORD .WORD .WORD .WORD .WORD .WOR" .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 7000 -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 -73600 -1 7004 27130 27146 -63000 7265 17071 -64000 7004 27130 7051 27162 27203 -64000 7264 SEQ 0216 VAX-11 Bliss-16 v4.0-579 Page 20 USER$1:([AZTEC.CZRCDB ICZRCD3.SRC;17 (3 CZRCO3 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 00235¢ 00236v 002362 002364 002366 002370 002372 002374 002376 002400 002402 002404 002406 002410 002412 002414 002416 002420 002422 002424 002426 002430 CZRCOBO RC2S DISK EXERCISER TEST SECTION 027216 115400 007005 106200 000003 007005 037031 114000 007005 007031 104207 007002 104201 000002 060023 102207 000037 057107 000000 104307 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 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .WORD .WORD .WORD -WORD 27215 .WORD 3 .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 -62400 7005 -71600 7005 37031 -64000 7005 7031 -73571 7002 -73577 60023 -75571 57107 0 -73471 7005 -713577 60031 -73770 7001 -73471 7002 -72571 -63777 -73576 -713575 7004 60021 -75571 57130 0 -73471 7002 -63777 -73576 -73575 7234 60020 -75571 57146 0 -73600 7000 -73571 SEQ 0217 VAX-11 Bliss-16 v4.0-579 Page a1 USERS$1:(AZTEC.CZRCDBJCZRCD3.SRC;17 (3) CZRCD3 vo2.0 002432 002743 002434 104301 002436 007001 002440 104272 002442 105612 002444 007240 002446 100612 002450 007240 002452 115401 002454 117400 002456 007000 002460 037171 002462 000000 002464 114000 002466 002743 002470 114000 002472 002744 002474 114000 002476 002745 002500 114000 002502 002746 002504 114000 002506 002747 002510 0C0000 002512 104307 002514 007002 002516 105207 002520 000010 002522 114001 002524 104202 000025 002526 002530 104203 002532 007240 002534 060021 002536 102207 002540 000037 002542 057216 002544 000000 002546 143367 002550 000000 b CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-198S 09:33:42 TEST SECTION .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD SEQ 0218 VAX-11 Bliss-16 V4.0-579 Page 22 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 3 2743 -73477 7001 -713506 -72166 7240 -77166 7240 -62377 -60400 7000 37171 0 -64000 2743 -64000 .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 37 57216 0 -34411 0 .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLOBL .GLoBL .GLOBL PATCH, CPT, CST, CST.ADDR, DCT OCT.ADDR, RC2S5.ADDR, IRC2S.ADDR DM.COMM, DMC.ADDR, RP.SAVE, RPS. X1 RPS.X2, QUTC.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 100Q.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 2744 -64000 2745 -64000 2746 -64000 2747 o -73474 7002 -72571 10 -63777 -73576 25 -73575 7240 60021 -75571 CZRCD3 CZRCOBO RC2S DISK EXERCISER TEST SECTION v02.0 14-Jun-198S 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 .GLCBeL 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 BIT15== BIT14== BIT13== B8IT12== BIT11== BIT10== B8IT09== BIT08== BITQ7== BIT06== B8ITOS== BITO4== BITO3== BIT02== BIT01== 8IT00== BIT9=» BIT8== BIT7== BIT6== BITS== BIT4== BIT3== BIT2== BIT1== BITQ== EF .START == EF .RESTART== EF .CONTINVE== EF .NEW== EF .PUR== PRIQ7== PRIO6== SA.REG, NEX, MSG.04, CRN, MSG.05, MSG.02, MSG.06, SEQ 0219 VAX-11 Bliss-16 V4.0-579 Page 23 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3) MSG.03 MSG.08 £GD.10, EGD.11, EGD.12, EGD.13 €GD.14, EGD.15, EGD.16, €GD.17 €GD.18, EGD.19, EGD.20, EGD.21 €GD.22, EGH.30, STC.00, STC.01 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.FLAGS, SWP.ETRACK SWP.DPAT, SWP . UDPAT, L$HIMEM, NEX.TRAP, COPY.BLK, SWP.UCNT LSUNIT, LSLUN SET.CPAR, SET.UPAR GET.ENV, PUT.ENV, GET.RETPKT, PUT.RETPKT GET.I0.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.22, EMS.19, EMS.30, -100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 1000 400 200 100 40 20 10 4 2 1 40 37 36 35 34 340 300 EMS.20, EMS.42, EMS.21 EMS.43 CZRCO3 V(2.0 CZRCDBO RC25 DISK EXERCISER TEST SECTION 000240 000200 000140 000100 000040 . 000000 000004 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 PRIOS== PRIO4== PRIQ3==s PRIO2== PRIO1== PRIOQ=» EVL== LQTs=s ADR== IDU== ICR== UAMs== BOE== PNT== PRI== IXE== IBE=s=s IER== LOEs== 000022 000024 000026 000030 000036 000040 000042 000046 000050 000052 000054 000056 000060 000064 000066 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: 1s: 000000V 40 0 4 10 20 40 100 200 400 1000 2000 4000 10000 20000 40000 -100000 .SBTTL .PSECT $T1 TEST SECTION $CODES, RO CLRB cMPB8 8EQ TRAP JSR TRAP EOP.FLAG ENTRY.REASON5 , 24 2 PC,INIT. TEST ROR 000002 0000006 2s: 3s: 000000V 43 : 000000V eLo 8178 BEQ TRAP JSR TRAP ROR eccC B8R 'RAP JSR TRAP ROR 000001 000000G Ss: SEQ 0220 VAX-11 Bliss-16 V4.0-579 Page 24 USER$1:[AZTEC.CZRCOB JCZRCD3.SRC;17 3 240 200 140 100 HOE=s= 000000 000000 000004 000012 000014 000016 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 8LO TRAP Mnove RTS 67 RO 1% 02 ,SWP .FLAGS 43 2 PC.DOM.EXER 67 RO S 39 4 PC,MULTI.ORIVE 67 RO 43 24 41,.EOP .FLAG PC ;i Routine Size: 34 words, Routine Bese: $CODES - 0000 31 Meximum steck depth per invocetion: 2 words .SBTTL T1 TEST SECTION 2120 2121 2123 2126 2131 2133 2136 2141 2144 2147 2150 2109 C2RCD3 v02.0 000000 000000 000004 000006 000010 000012 ;: CZRCDBO RC2S DISK EXERCISER 14-Jun-1985 09:41:21 TEST SECTION 004737 14-Jun-1985 09:33:42 000000 T 1%: 104466 006000 103772 000207 Routine S’ze: JSR TRAP PC,$T1 66 RO 1$ PC ROR 8LO RTS 6 words, ; Maximum stack depth per Rout ine Base: invocation: 2 words $CODES$ + 0104 SEQ 0221 VAX-11 Bliss-16 V4.0-579 Page 25 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 (3 2150 CZRCD3 CZRCOBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 ci63 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 o-mmmruuuu-ammo\mmommoo«mmbc-bwuuuwmwmmmumwo—-wpnwo-o-»nnn.-»o-.-o-.-.-.- .c.l...!'!..l..l.I...Q...!.!..."!II.OII...I‘!QQ.I.O.....l.l'n...l.t.I.u.t.l...I.‘.'.t.'.l.l....“.‘.!.l“....“ V0.0 ®SBTTL ' INITIALIZATION ROUTINE INIT_TEST : SUB.EST NOVALUE 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ROUTINES' = 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 OCT AND CST. FOR THOSE DEVICES WHICH SURVIVE THE INITIALIZATION, THIS ROUTINE WILL ATTEMPT 1 OR 2 ACCESS COMMANDS TO EACH PLATTER VIA ROUTINE R SUCCESS IF ACCESSED. "ACCESS”. A BLOCK ON THE INNER THE INITIALIZATION SUBTEST IS DEEMED TRACK OF EACH PLATTER CAN BE 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 ! THEN ! IF CONTROLLER IS STILL ALIVE INCR OFFSET FROM (O + GF _UN) TO (3 + OF_UN) DO BEGIN IF (C.CST_ADDR THEN [.OFFSET, (.CST_ADDR [.OFFSET, ! FOR EACH PLATTER P_PRES) EQLU PRESENT) AND P_STAT] EQLU ONLINE)) BEGIN SET_UPAR (.OFFSET); ACCESS (); ! ! SET UP UNIT-RELATED DATA ITEMS TRY ACCESS TO INNER TRACK END; ! IF UNIT IS PRESENT AND ONLINE END; END; ! UNIT LOOP ! IF CONTROLLER IS ONLINE ! CONTROLLER LOOP IIP_FLAG = FALSE; ! CLEAR INIT-IN-PROGRESS FLAG END; ! ROUTINE INIT_TEST END; SEQ 0222 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 Page 26 (3) CZRCO3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES V0.0 000000 004137 000004 000006 000010 000014 000020 000022 000024 000026 000034 000040 104450 103007 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 : : 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 Routine Size: Maximum stack 000000G 0000006 000001 000001 0000006 000000V 0000006 0000006 000002 .SBTTL INIT.TEST: JSR TRAP BHIS MOV MoV MOV TRAP 1s: 2%: 000003 3s: 000000G 040000 020000 44 Ss: 000003 0700006 cMp Move ; 50 13 R2 R2,-(SP) PC,SET.CPAR CST.ADDR,RO 2(RO) 5 #3,R1 s1.ao 27 (4) 0 2155 ; 2174 ; 2176 ; SP,s ; ; ; : CTLR CTLR, ; ; ; 2177 2178 2179 2182 2183 ,OFFSET OFFSET,s 2187 2190 CS7.ADDR,RO 240000, (RO) 4 420000, (RO) 43 R1,(SP) PC,SET.UPAR PC,ACCESS R1 JSR JSR INC cHp BLE R1,06 33 (SP). R2 R2,83 2 IIP.FLAG PC TST INC CMP BLE CLR8 $CO0ES$ R1,$SAVE2 01,IIP.FLAG PC,DRIVER.INIT JSR CLR MOV JSR MoV TST BPL MOV MOV ASL ADD BIT 8EQ BIT BEQ Page INIT.TEST INITIALIZATION SUBTEST ROUTINES 17 (SP)+,(SP)+ RTS 54 words, Routine Base: depth per invocation: 7 words SEQ 0223 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 oMSG.04, -(SP) 01,-(SP) SP,RO MOV 0000006 000000V 000006 14-Jun-198S 09:41:21 14-Jun-1985 09:33:42 + 0120 ; 2191 ; OFFSET,s 2195 ; : OFFSET 2196 2187 ; ; ; CTLR CTLR,* ; OFFSET,s ; ; 2180 2179 2206 2155 CZRCO3 CZRCDBO RC2S DISK EXERCISER v0e2.0 ® . . * - L) . . - 1] . . . * - . . . - 13 . L] . . - * - L) . L] - * - . - L - * - . L] ® - 1) . L - . - * - * . . - L] - L L] [ - . - L - . - . . . L) » . - [ . . L] - L] - [ - 1 . L - [d . LJ Py Ll - . . LJ - [ . ’ [ . [2 - TM~ n ] 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 INITIALIZATION SUBTEST ROUTINES aammmc\uuuquomommwwbba&aabhuuuummwuuuwuuuuummmmwmmo-o-o-n-r-».-» . . 14-Jun-198S 09:41:21 ROUTINE DRIVER_INIT : NOVALUE 14-Jun-1985 09:33:42 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 = 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; INCR COUNT FROM O TO (ENV_CNT BEGIN - ! ! ADDR (TEXT + 0) OF FIRST MSCP ENVELOPE FOR EACH MSCP ENVELOPE ! ! MARK ENVELOPE FREE LOAD ENVELOPE ADDR INTO ENV DESCRIPTOR ! ! ' SET FLAG BIT SET OWNERSHIP BIT ADVANCE ADDR TO NEXT ENVELOPE ! FOR EACH CONTROLLER ! ! IF CONTROLLER IS PRESENT THEN 1) DO ENV_USE [.COUNT] = -1; MSCP_ENV [ .COUNT, ENV_LO) = .ENV_ADDR; MSCP_ENV [ .COUNT, ENV_HI) = O; MSCP _ENV [ .COUNT, ENV_F] = 1; MSCP_ENV [.COUNT, ENV_0) = 1; ENV_ADDR = _ENV_ADDR + (ENV_LEN # 2); END; INCR CTLR FROM O TO (MAX_CTLR BEGIN IF .CST [.CTLR, THEN BEGIN 1) DO IP_ADCR] NEQA 0 SET_CPAR (.CTLR); VEC_AD = .CST_ADDR [VEC_ADDR]; BRLEVEL = .CST_ADDR [BR_LEV] t S; CTLR_INIT (); IF .DCT_ADDR [STAT] EQLU ONLINE THEN BEGIN INCR OFFSET FROM (O + BEGIN OF _UN) TO (3 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 + OF_UN) DO ! FOR EACH UNIT (PLATTER) EQLU PRESENT ! ! JF UNIT EXISTS THEN SET_UPAR (.OFFSET); UNIT_INIT (); ! ! SET UP UNIT-RELATED DATA ITEMS BRING UNIT ONLINE END; ! IF UNIT EXISTS IF .CST_ADDR THEN BEGIN [.OFFSET, P_PRES] END; END; ! ! SEQ 0224 UNIT LOOP IF CONTROLLER IS STILL ALIVE ge 28 (s) CZRCD3 voe.0 2266 2267 2268 2269 2270 DN W CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES END; END; END; 000000 004137 0000006 000004 000010 000012 000020 000022 000026 000032 000036 000042 000044 000050 000054 000056 000060 000064 000066 000070 000072 000076 000102 012702 005001 112761 010146 012746 004737 010260 062700 005010 052710 062702 022626 005201 020127 003752 005002 010246 012746 004737 022626 0000106 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 005760 001454 010246 004737 013700 016037 042737 205016 116016 012746 004737 010037 004737 005777 100022 012701 010100 006300 063700 032710 001405 010116 004737 004737 005201 020127 003760 000377 -SBTTL DRIVER.INIT: JSR 0000006 18: 000104 0000006 0000006 000002G 140000 000104 000016 0000006 2%: 000000G 0000006 0000006 000002 000612° 000612 177000 JSR 0000006 040000 0000006 000000V 000006 4% : CONTROLLER LOOP ! ROUTINE DRIVER_INIT ORIVER.INIT INITIALIZATION SUBTEST ROUTINES R1,$SAVE?2 R1 R1,0137 1s R2 R2,-(SP) #16,-(SP) PC,BLS$MUL (SP)+,(SP)« CST(RO) 64 R2,-(SP) PC,SET.CPAR CST.ADDR,RO 2(RO),VEC.AD MOvB MOV 3s: ! INC CMP BLE CLR MOV MoV JSR cMp 757 BEQ MOV JSR MOV Mov CLR 000003 IF CONTROLLER IS PRESENT MSCP.ENV+10,R2 R1 #377,ENV.USE(R1) R1,-(SP) €104, -(SP) PC,BL$MUL R2,MSCP.ENV(RO) MSCP.ENV+2,R0 (RO) 140000, (RO) @104 ,R2 B8IC 000004 000005 0000006 000614° 000000V 0000006 ! MoV CLR MOV8 MOV MOV JSR MOV ADD CLR BIS ADD CMP 000137 SEQ 0225 VAX-11 Bliss-16 V4.0-579 Page 29 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (3 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV JSR 18T BPL MOV MOV ASL ADD BIT BEQ MOV JSR JSR INC cMP BLE H ; ; ; ; *,ENV.ADDR COUNT *,+(COUNT) COUNT,s ; H ENV.ADDR, * 2209 2222 2223 2226 2227 2228 H ; *,ENV.ADDR 2230 2231 : ; COUNT COUNT, s 2223 ; i CTLR CTLR,» 2235 2238 : CTLR,» 2242 (SP)+,(SP)+ : 2224 : 2243 : 2244 H H 2245 22+6 #177000,VEC.AD (SP) 4(RO),(SP) #5,-(SP) PC,BL$SHF RO ,BRLEVEL PC,CTLR.INIT 80CT.ADDR 5 #3,R1 R1,RO RO CST.ADDR,RO #40000,CR0) 43 Ri,(SP) PC,SET.UPAR PC,UNIT.INIT R1 R1,%6 3 ; ; *,0FFSET OFFSET,s 2250 2253 ; OFFSET,s 2257 ; ; OFFSET ; OFFSET,» 2258 2250 CZRCD3 V0.0 000240 000242 000244 000250 000252 ;: ; CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 INITIALIZATION SUBTEST ROUTINES 022626 005202 020227 003707 000207 Routine Size: Maximum stack 000003 Ss: 6$: 86 words, Routine Base: depth per invocation: 6 words 14-Jun-1985 09:33:42 CcMP INC CMp BLE RTS $CODES (SP)+,(SP). R2 R2,43 2% PC + 0274 SEQ 0226 VAX-11 Bliss-16 V4.0-579 Page 30 USER$1:{AZTEC.CZRCDB JCZRCD3.SRC:17 (S) H 2240 ; CTLR 2235 H 2209 ; CTLR,» CZRCD3 CZRCDBO RC25 DISK EXERCISER v0o2.0 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 f 2327 INITIALIZATION SUBTEST ROUTINES NNotwo‘ummmmmuwwuuNNNNNNNNNNNl'\n-wwt—-o—u—n—-o—n—-t—n—nv-o-t-oo-r-r-owb-»-t-»-u-o-o-fl-r-r-v- 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 14-Jun-198S5 09:41:21 ROUTINE CTLR_INIT : NOVALUE 14-Jun-1985 09:33:42 SEQ 0227 Page 31 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (6) VAX-11 Bliss-16 v4.0-579 = * THIS “DRIVER” ROUTINE IS CALLED FROM DRIVER_INIT FOR EACH CONTROLLER CONFIGURED FOR TESTING. TO THE HOST. 1. 2. 3. 4. 5. ITS GENERAL PURPOSE IS TO BRING THE RC25 ONLINE SPECIFICALLY, IT IS WRITTEM TO: INITIALIZE DRIVER CONTROLLER DATA, INCLUDING THE OCT, SET UP THE DEVICE'S INTERRUPT VECTOR ADDRESS, (NOTE THAT RC2S INTERRUPT PROCESSING RUNS AT LEVEL 5 FOR ALL RC25'S. THIS IS BASED ON THE ASSUMPTION THAT ALL RC25'S WILL HAVE A FIXED BR LEVEL OF S OR LESS. INTERRUPT PROCESSING CANNOT BE BROKEN WITH A HIGHER PRIORITY INTERRUPT FROM ANOTHER RC2S.) PERFORM A REGISTER EXISTENCE TEST TO VERIFY THE DEVICE'S PRESENCE, PERFORM A VECTOR AND BR LEVEL TEST TO VERIFY THE DEVICE'S VECTOR ADDRESS AND INTERRUPT REQUEST LEVEL, DO A HARD INITIALIZATION (FOUR STEPS) ON THE DEVICE. IF ANY OF THESE INITIAL TESTS FAIL, DEVICE ARE DROPPED. THEN ALL UNI7S 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], DCT_ADDR [IG_INT] = YES; L$SLUN = .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 PRIOS); (USED BY DRS FOR ERROR REPORTING) IF REG_EXIST () EQLU FAILURE THEN BEGIN DROP_CTLR RETURN; (.CCTLR, DU_INIT); REGISTER EXISTENCE TEST. THEN IF FAILURE ! DROP ALL CONTROLLER'S UNITS ! ! VECTOR ADDR AND BR LEVEL TEST. THEN ! DROP ALL CONTROLLER'S UNITS END; IF VEC_BR_TEST () EQLU FAILURE THEN BEGIN OROP_CTLR (.CCTLR, RETURN; END; DU_INIT); IF FAILURE CZRCO3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2339 2340 2341 2342 2343 2344 2345 D O D N 000002 000006 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 ELSE OROP_CTLR (.CCTLR, MARK CONTROLLER ONLINE IN MARK CONTROLLER ONLINE IN INITIALIZE RESPONSE RING SA_GO); ! DU_INIT); ! ! .SBTTL CTLR.INIT: MOV JSR MoV MOV ASL MOV MOV MOV 000000V 000240 0000006 000570 000612 000003 040000 0000006 0000006 000006 177740 0000006 000000V 000000V 000000V 040000 0000006 000001 100000 0000006 0000006 100000 000002 000000V 000001 32 (6) 1¢: 2%: TRAP BIS MOV Mov SWAB BIC MOV JSR TST BEQ JSR TST BNE MOV MOV JSR ADD BR JSR 8IC CMP BNE BIS MOV BIS JSR MOV “DRIVER" “PROGRAM” SET "GO” BIT (START CTLR POLLING) SET CONTROLLER CHARACTERISTICS END; 0000006 000002 000000G 000012 Page CLEAR "IGNORE INTERRUPT” BIT IF HARD INIT WAS SUCCESSFUL THEN RC_ALL, END 010146 000116 000122 000126 000130 000134 000142 000146 000150 000156 000162 000170 000174 WRT_RC25 (RCSA, SEQ 0228 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDBCZRCD3.SRC;17 ATTEMPT HARD DEVICE INIT DCT_ADDR [STAT]) = ONLINE; CST_ADDR [STATE] = ONLINE; INI_ RRING (); SET_ CTLR_CHAR (); 000000 000012 000016 000020 000024 000030 000034 000036 000044 000050 000054 000056 000062 000066 000072 000074 000076 000102 000104 000106 000112 RESULT = HARD_INIT (); DCT_ADDR [IG_INT) = NO; IF RESULT EQLU SUCCESS THEN BEGIN G 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 =2 PO PO RO N G @ @0 %0 B¢ G @ @ BT BT B BE G G0 We B @e @0 W v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 HARD INIT FAILED DROP ALL CONTROLLER'S UNITS ROUTINE CTLR_INIT CTLR.INIT INITIALIZATION SUBTEST ROUTINES R1,-(SP; PC,INI.CTLR.DAT 2271 2305 2306 9240, -(SP) CCTLR,RO RO INT.ADDR(RO),-(SP) VEC.AD,-(SP) €3,-(SP) 37 #40000,30CT.ADDR 2307 2308 CST.ADDR,RO 6(R0O),R1 R1 #177740,R1 R1,LSLUN PC,REG.EXIST RO 2310 13 PC,VEC.BR.TEST RO 23 CCTLR, (SP) 2314 2319 2323 PC.DROP.CTLR #12,5p 5 PC,HARD.INIT #40000,80CT.ADDR RO, #1 3 RESULT,s #100000, 80CT.ADDR 2334 2335 CST.ADDR,RO #100000,2(RO) PC,INI.RRING #1,R1 2324 2321 2328 2329 2330 ; &,RC.REG 2336 2337 CZRCD3 v02.0 000200 000204 000210 000214 000216 000222 000226 000232 000234 000240 000242 ; ;: CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 013700 010160 004737 000407 013716 012746 004737 005726 062706 012601 000207 Routine Size: 000000G 000002 000000V 000000G 000002 0000006 000010 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MoV MOV 3s: 4 Ss: 82 words, Routine Base: Maximum stack depth per invocation: 7 words JSR BR SEQ 0229 VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 RC25.ADDR,RO R1,2(RO) Pr,SET.CTLR.CHAR 43 MOV MOV CCTLR, (SP) JSR 757 PC,DROP.CTLR Page 33 (6) RC.REG,» 2338 2330 2343 (SP)e« ADD MOV RTS PC $CODES + 0550 #10,5P (SP)+,R1 ; 2300 : 2271 CZRCD3 v02.0 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 Page 34 N NOVALUE = * T Iy ey T R INCR IND EX FROM BEGI N ouTC _LIST ouTC -TIMR .OCL_X1 TO [.INDEX] [.INDEX]) .OCL_X2 DO = -1; = O; ! ! INIT OUTSTANDING CMD LIST ZERO OUT OUTSTANDING CMD TIMERS END; (WORDO) = O; (RR_BEG] = COMM_AREA + 8 + (.CCTLR & COMM_LEN & 2); [(RR_END] = .DCT_ADDR (RR_BEG) + ((RRING_LEN - 1) & 4); (CR_BEG) = .DCT_ADDR (RR_END) + 4; [CR_END] = .DCT_ADDR [CR_BEG] + ((CRING_LEN - 1) & 4); (RR_POLL]) = .DCT_ADDR [RR_BEG); DCT_ADDR [CR_POLL]} = DCT_ADDR [CR_NEXT) = .DCT_ADDR [CR_BEG]; DCT_ADDR DCT_ADDR DCT_ADDR DCT_ADDR DCT_ADDR OCT_ADDR 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 NFXT COMMAND POINTERS END; 0000006 000004 000010 000012 000014 013701 005301 000407 112761 010100 006300 005060 005201 0000006 013701 005011 012702 060102 013746 012746 004737 062700 010012 14-Jun-1985 09:33:42 SEQ 0230 BEGIN 004137 020137 003765 VAX-11 Bliss-16 V4.0-579 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 QUTSTANDING COMMAND AREA 000000 000022 000024 000026 000032 000034 000040 000042 000046 000050 000054 000056 000062 000066 000072 000076 : 14-Jun-1985 09:41:21 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. Y Y N H H : H H H : H : H ; H H H H H : H : H : H : H 2354 ROUTINE INI_CTLR_DAT LT : 2346 2347 2348 2349 2350 2351 2352 2353 HNNNNNNNNNNU‘O‘U‘WU‘NNNMHP‘PMHHF‘HHP‘MH# H : : H H H H H CZRCD8BO RC25 DISK EXERCISER INITIALI ZATION SUBTEST ROUTINES 000377 -SBTTL INI.CTLR.DAT: JSR MOV DEC 000000G 1$: 0000006 0000006 0000006 000004 0000006 000110 0000006 000010 2%: B8R MOVB MOV ASL CLR INC CMP BLE MOV CLR MOV ADD MOV MOV JSR ADD MOV INI.CTLR.DAT INITIALIZATION SUBTEST ROUTINES R1,$SAVE2 OCL.X1,R1 R1 H ; ; &, INDEX INDEX #377,0UTC.LIST(R1) R1,RO RO QUTC.TIMR(RO) R1 R1,0CL.X2 : ; &,%(INDEX) INDEX,» 2365 2366 ; ; INDEX INDEX, » 2362 OCT.ADDR,R1 H 2370 : 2371 2s 1s (R1) 94 ,R2 R1,R2 CCTLR, -(SP) #110,-(SP) PC,BL $MUL ¢COMM. AREA+10,R0 RO,(R2) 2346 2362 CZRCO3 CZRCDBO RC25 DISK EXERCISER vo2.0 000100 000104 000112 000116 000120 000124 000130 000134 000142 000146 000152 000156 000160 ; ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 INITIALIZATION SUBTEST ROUTINES 010061 052761 012700 060100 016110 062710 011061 062761 011261 011061 011061 022626 000207 000006 000034 000010 000006 000004 000012 000034 000014 000020 000016 000006 MoV RO,6(R1) #34,6(R1) #10,R0 R1,RO ADD MOV ADD MOV Routine Size: 57 words, Rout ine Base: Maximum stack depth per invocation: 6 words USER$1:[AZTEC.CZRCDB )JCZRCD3.SRC;17 Page 35 7 : 2372 H 2373 H 2374 #4,(RO) MOV ADD MoV MOV MoV (RO),12(R1) @34,12(R1) (R2),14(R1) (R0),20(R1) (RO),16(R1) (SP)+,(SP)+ cMP RTS $CODE$ SEQ 0231 6(R1),(RO) ADD 000012 VAX-11 Bliss-16 V4.0-579 PC + 1014 : 237S H i H 2376 2360 2346 CZRCOD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES H H H : : : H : H H H 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2410 : H : 2411 2412 2413 : H H H H H H : H H H : H 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 SEQ 0232 VAX-11 Bliss-16 vV4.0-579 Page 36 USER$1:([AZTEC.CZRCDB JCZRCD3.SRC;17 8 > ROUTINE REG_EXIST = THIS IS THE REGISTER EXISTENCE (OR “PROBE”) TEST DESIGNED TO VERIFY THE PRESENCE OF AN RC2S5 DEVICE. THIS OBJECTIVE IS ACCOMPLISHED BY SETTING UP THE NON-EXISTENT MEMORY (NEX) TRAP VECTOR (LOCATION 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 : WORD; ! ! TEMP FOR READING SA AND IP AS THE NAME IMPLIES OF _RC ! SET UP TO READ SA FIRST 00 = 2; BEGIN NEX = FALSE; SETVEC (4, NEX_TRAP, TEMP = _(,RC25_ADDR OUMMY = 0; 2406 2407 2408 2409 P : RO : : : H H 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 GGG ; H H H H H : : H H 2379 2380 2381 2382 2383 HRRRTO W WD DB D5 B LG H 3 H : H R R RO RO D s 1+ s - 1o s 1o 1o 2 1o s ot 1o o po v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SET TO "TRAP NOT RECEIVED” SET LOCATION 4 TRAP VECTOR ADDRESS READ REGISTER (THEN TRAP OR CONTINUE) OUMMY INSTRUCTION TO COVER TRAP RETURN BUG (TRAP RETURNS TO NEXT INSTRUCTION) PRIO7); CLRVEC (4); IF _NEX EQLU TRUE CLEAR LOCATION 4 TRAP VECTOR ADDRESS IF NEX TRAP OCCURRED THEN ERRDF (10, EGD_10, RETURN FAILURE; ELSE EMS_10); ! "REGISTER EXISTENCE TEST FAILED" ! SET UP FOR IP REG OR QUIT END OF _RC = .OF_RC - 2; END UNTIL .OF_RC LSS 0; RETURN SUCCESS; END; 000000 004137 0000006 000004 000012 000016 012737 005037 012746 000002 0000006 0000006 000340 .SBTTL REG.EXIST: JSR MOV 1s: CLR MoV REG.EXIST INITIALIZATION SUBTEST ROUTINES R1,$SAVE?2 ¢2,0F .RC NEX €340, -(SP) 2379 2400 2404 2405 e e CZRCO3 vo2.0 000022 000026 000032 000036 000040 000044 000050 000052 000054 000069 000062 000070 000072 000074 000076 000100 000102 000106 000110 000116 000122 000126 000130 000134 000136 000140 ; ;i CZRCDBO RC25 DISK EXERCISER 14-Jun-198S 09:41:21 14-Jun-1985 09:33:42 INITIALIZATION SUBTEST ROUTINES 012746 012746 012746 0000006 000004 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 Routine Size: Maximum stack MoV MOV Mov ONEX.TRAP, -(SP) 4, -(SP) TRAP 37 RC25.ADDR, RO OF .RC,RO (RO),R1 R2 94 ,RO 36 MOV ADD MOV 2%: CLR MOV TRAP cMP BNE TRAP .WORD .WORD .WORD ADD BR sus NEX, #1 24 55 12 €GD. 10 EMS. 10 910,SP 3s #2,0F.RC ADD TST #10,5P OF .RC 13 1,R0 PC RO PC BGE MOV 3s: 49 words, Routine Base: depth per invocation: 9 words RTS CLR RTS $CODES « 1176 SEQ 0233 VAX-11 Bliss-16 V4.0-579 Page 37 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (8 : : 2406 &, TEHP ; DUMMY H 2407 2409 H 2410 : 2414 3 2415 H 2412 : 2419 H 2402 H 2423 H 2394 H 2379 CZRCD3 CZRCDBO RC25 DISK EXERCISER TM 2428 2429 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 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2871 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 c483 c434 INITIALIZATION SUBTEST ROUTINES :ns-a-bJ-bmwwuubwumuwwuuummmmwmmv—-uo-r-no-v—.—-o—n—-v—-o—-nnno—-ww»»r—-o—-wuo—nno—n S O3 0T 00 01 91 01 B0 B S0 00 B 01 @1 B 60 T B B BT 0 WY QT S8 W5 T TF OF B6 G0 T B O 1 G0 8 Q¢ DS B8 G0 G0 S0 @0 @0 0 @ @0 @ ®¢ @5 90 @0 00 B¢ @0 We @0 v02.0 14-Jun-1985 09:41:21 ROUTINE VEC_BR_TEST 14-Jun-1985 09:33:42 VAX-11 Blies-16 v4.0-579 USER$1:(AZTEC.CZRCDB ICZRCD3.SRC;17 = Y : THIS ROUTINE ATTEMPTS TO VERIFY (A) THAT THE RC25 VECTOR ADDRESS GIVEN BY THE USER DURING THE HW DTALOG 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 RC2S5S 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 THME TEST, AND “COMPLETED” IS PRINTED AT ITS SUCCESSFUL CONCLUSION. IF THE WORD “COMPLETED” NDOES NOT APPEAR, AND AN ERROR 1S 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: OCT_ADDR ' ' ' ' ! ! RC25_ADDR VEC_AD BRLEVEL - - ADDRESS OF CURRENT CONTROLLER'S DCT ADDRESS OF CURRENT CONTROLLER'S IP REGISTER - ASSUMED VECTOR ADDRESS OF THE CURRENT CONTROLLER - ASSUMED BUS REQUEST CONTROLLER INTERRUPT LEVEL OF THE CURRENT BEGIN IF MANUAL THEN PRINTF (MSG_02, .VEC_AD, IF INT_GEN () EQLU FALSE THEN BEGIN ERRDF (11, EGD_11, RETURN FAILURE; ! ! .RC25_ADDR); ! ! 0); IF ATTENDED THEN ! "ABOUT TO VERIFY VECTOR...*" FORCE AN INTERRUPT IF INTERRUPT DID NOT OCCUR ! "VECTOR TEST FAILED' ! INTERRUPT DID OCCUR END ELSE BEGIN IF MANUAL IF ATTENDED THEN PRINTF THEN "COMPLETED. ' SET PRIORITY TO ASSUMED BR LEVEL FORCE AN INTERRUPT (SHOULD NOT OCCUR) IF INTERRUPT DID NOT OCCUR (MSG_03); SETPRI (.BRLEVEL); IF INT_GEN () EQLU FALSE THEN BEGIN SETPRI (.BRLEVEL DELAY IF (1); - %0°'40'); .DCT_ADDR [SA_SAVE) NEQU 0 THEN ! ! ! ! LOWER PRIORITY BY 1 WAIT IF INTERRUPT DID OCCUR (SA_SAVE WOULD BE NON ZERO) THEN SEQ 0234 Page 138 (9 C2ZRCD3 CZRCOBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 moORRDDRRWEWSEBVIVLUILL ®F ®1 @ @0 Q¢ @8 95 Ws B 9 GF B0 B¢ 90 ¢ @0 v02.0 BEGIN SETPRI (PRIOO); RETURN SUCCESS; 010146 000002 000004 000006 000010 000014 000020 000024 000030 000032 000034 000040 000044 000046 000050 000052 000054 000056 000060 000062 00G064 000066 000072 000076 000100 000102 000104 000110 000112 000116 000120 000122 000126 000172 0C5746 104450 103014 013746 013746 012746 012746 010600 104417 062706 004737 005700 001005 1044SS 000013 0000006 000000 000460 104450 103007 012746 012746 010600 104417 022626 013700 104441 004737 00570C 001032 013700 162700 104441 ! ! RESTORE PROCESSOR PPIORITY TO 0 ONLY SUCCESSFUL EXIT POINT ! ! COME HERE ONLY FOR BR TEST FAILURE "BR LEVEL TEST FAILED” END; END; END; SETPRI (PRIOO); ERRDF (12, EGD_12, RETURN FAILURE; EMS_12); END; .GLOBL 000000 SEQ 0235 VAX-11 Bliss-16 V4.0-579 39 ge USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (9 14-Jun-1985 09:41:21 14-Jun 1985 09:33:42 .SBTTL VEC.BR.TEST: MOV TST TRAP BHIS 0000006 000612° 0000006 000003 000010 000000V 1s: 24: 000000G 000001 MOV MoV MoV MoV MOV TRAP ADD JSR TST BNE TRAP .WORD .WORD .WORD BR TRAP BHIS MOV MOV MOV TRAP 000614 000000V 000614 000040 3s: cMpP MoV TRAP JSR TST BNE MOV SUB TRAP L$OLY VEC.BR.TEST INITIALIZATION SUBTEST ROUTINES R1.-(SP) : -(SP) 50 1s RC25.ADDR, -(SP) VEC.AD, -(5P) MSG.02, -(SP) 93.-(sP) 2428 , 2459 H 2461 H 2462 H 2466 17 #10,SP PC,INT.GEN RO 23 55 13 EGD.11 0 9 S0 3s ; H 2464 2473 #MSG.03, -(SP) H 2475 SP,RO ; 17 (SP)+,(SP). BRLEVEL ,RO SP,.s 41 PC,INT.GEN RO H 2476 H 2477 8 BRLEVEL,RC €40,R0 : 2481 41 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 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 ; : 012701 000001 021410 013700 0000006 001403 005016 005300 001375 005301 000767 013700 0000006 005760 000002 001405 005000 104441 012700 000001 000407 005000 104441 104455 000014 0000006 0000006 005000 0CS5726 012601 000207 Routine Size: Maximum stack 4%; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MoV e1,Ri1 BEQ 7 L$DLY,RO 6% MOV S$: 6s: 74 BEQ CLR DEC BNE DEC BR (SP) RO S R1 43 Mov TST BEQ OCT.ADDR,RO 2(RO) 8 RO 41 #1,R0 CLR TRAP MOV 8s: BR CLR 10 RO TRAP TRAP .WORD 9% 10s: 77 words, Rout ine Base: depth per invocation: 8 words 41 55 14 €GD.12 EMS.12 .WORD .WORD CLR TST RO (SP). (SP)+,R1 MOV RTS $CODES PC « 1340 VAX-11 Bliss-16 V4.0-579 SEQ 0236 Page 40 USER$1:(AZTEC.CZRCDB)ICZRCD3.SRC;17 ; o, 88TMP2 i *«,$8TMPY ; $STHP ; $3TMPY i $8TMP2 (9) 2482 : 2483 H 2487 ; 2485 : 2496 i 2497 : 2428 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 2541 2542 2543 2544 2545 2546 2547 000000 000004 000010 000014 000020 000024 000026 004137 162706 013704 005064 013700 005200 006200 SEQ 0237 VAX-11 Bliss-16 V4.0-579 Pa Qe 41 USER$1:(AZTEC.CZRCDBJCZRCD3.SRC;17 (10) ROUTINE INT_GEN = * 2501 2502 2503 2504 2505 2506 2507 2508 25C9 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 rflNHU'UHJNJRJN)h)OOUlULb(N(N(M(Nh)h)h)h)fl)h)h)h)h)h)h)fl)h)h)h‘h‘hbhch‘hflrortr-h-hflrob-hown— v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 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 QOF STEP 1) IN ORDER TO HELP VERIFY THE THE USER-SPECIFIED VECTOR ADDRESS AND BUS REQUEST INTERRUPT LEVEL. A VALUE OF "TRUE“ IS RETURNED TO THE CALLER IF AN INTERRUPT OCCURS, AND “FALSE” OTHERWISE. THE INTERRUPT IS VERIFIED BY A NON-ZERO VALUE IN THE “SA SAVE” WORD IN THE DEVICE'S DCT. IMPLICIT INPUTS: OCT_ADDR - ADDRESS OF CURRENT CONTROLLER'S DCT RC25_ADDOR - ADDRESS OF CURRENT CONTROLLER'S IP REGISTER BEGIN LOCAL IE_VEC : WORD, SA : WORD; ! ! DCT_ADDR [SA_SAVE] = 0; IE_VEC = (.VEC_AD t -2) OR SA_INT; WRT_RC25 (RCIP, RC_ALL, ALL_ONES); WRT_RC25 (RCSA, RC_ALL, .SA); JE-BIT-AND-VECTOR-ADDRESS/4 BYTE STORAGE FOR STEP 1 READ AND WRITE ZERO OUT SA SAVE WORD IN DCT VEC ADDR / 4 WITH IE = 1 WRITE IP TO START INIT SEQUENCE WAIT Changed from 500 to 625 for 84 cache STEP 1 READ STEP 1 WRITE VALUE STEP 1 WRITE TEN SECOND LIMIT DELAY (625); SA = _RC25_ADDR [RCSA, RC_ALL]; SA = (WR_RING t+ 8) OR .IE_VEC; INCR COUNT FROM 1 TO 10 DO BEGIN DELAY (400); SA = _RC25_ADDR (RCSA, RC_ALL); IF BIT_TST (SA, SA S2) THEN EXITLOOP; ABOUT 1 SECOND Changed 333 to 400 for 84 READ SA REGISTER IF STEP 2 HAS BEGUN THEN BREAK QUT END; IF .DCT_ADDR [SA_SAVE] THEN RETURN FALSE ELSE RETURN TRUE; EQLU © ! ! ! ! ! IF SA SAVE WORD WAS NOT TOUCHED THEN INTERRUPT DID NOT OCCUR OTHERWISE INTERRUPT DID OCCUR END; 0000006 000006 0000006 000002 000612° .SBTTL INT.GEN: JSR Sus MOV CLR MOV ASR ASR INT.GEN INITIALIZATION SUBTEST ROUTINES R1,$SAVES : #6,5P OCT.ADDR,R4 : 2(R43) VEC.AD,RO : RO RO 2501 2523 2524 CZRCD3 v02.0 000030 000032 000036 000042 000046 000052 000054 000060 000062 000066 000070 000072 000074 000075 000102 000106 000110 000112 000114 000120 000122 000124 000130 000134 000136 000142 000144 000150 000152 000154 000156 000160 000164 000166 000172 000174 000176 000200 000204 000206 000210 000212 000216 000222 : ; CZRCOBO RC25 DISK EXERCISER 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 Routine Size: Maximum stack MoV 8IS MOV MOV MOV 000200 177777 000000G 001161 000000G 000004 1s: 2%: 3s: 0000006 000002 44 0000006 000004 78: 8%: 000002 94 : 010000 000002 000001 000006 BEQ MOV BEQ CLR DEC BNE OEC BR MOV MoV ADD 10¢: 11¢: 12¢: ; RC25.ADDR,RO #2,RS RO,RS MOV MOV MOV MOV #12,R3 #620,R1 93 BEQ MOV BEQ CLR DEC BNE DEC L$DLY,RO 8s 4(SP) RO 7$ R1 63 BR MOV MOV (RS),2(SP) (R5),R2 BIT BNE DEC BNE TST BNE CLR BR #10000,R2 10 R3 5% 2(R4) 11¢ RO 12 MOV ADD RTS 74 words, Routine Base: $CODES depth per invocation: 10 words ; ; ; ; R1 1s (RS),(SP) R3,R2 4115400,R2 R2,R0 RO, (RS) #1,R0 #6,5P pPC + 1572 SEQ 0238 Page 42 USER$1:[{AZTEC.CZRCDBICZRCD3.SRC;17 3s 4(SP) RO 23 BIS S¢: 6$: VAX-11 Bliss-16 V4.0-579 RO,R3 200 ,R3 #-1,R0 RO,8RC25.ADDR #1161,R1 43 L$DLY,RO MOV MOV 115400 000012 000620 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 &, IE.VEC *,IE.VEC *,RC.REG RC.REG,s %, $8TMP2 ; *,38TMP1 ; ; $STMP $$TMPL ; $8TMP2 : ; ; 2525 2526 2527 *,RC.REG ; IE.VEC,SA : *,5A ; SA,RC.REG ; RC.REG,» ; *,COUNT ; %, 88TMP2 ; (10) 2528 2529 2530 2533 %, $8TMPL $STMP ; $$TMPL ; $$TMP2 ; *,RC.REG : RC.REG,SA ; *,5A 2535 ; 2530 COUNT 2534 H 2541 H 2545 : 2501 CZRCD3 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES . * ° L) - . . . . 1] . L) . . - » - L] . * » * . . . » . [ . . . . . * . . - * . . . . - [ - . - * - L) . L] - L[] . » L) - ’ . . . . - 14 . . - 1) - e . ’ . 14 - e . . . . . . - [ . . . [ - [ . Ll - 4 . . . [ . [ Py ] . 14 . L) . L . L) - [ 2548 2549 2550 2551 2552 2553 2554 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 2538 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 oxa\a«uunuunabbbauuuwuuwuuwbbbuuuba-buuuwmmmmwwmmo—-»—-»—-r—nr—-»—-r‘po—-wpw» v02.0 ROUTINE HARD INIT 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.CZRCDBICZRCD3. SRC; 17 (1 1) = 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. [} ' ' ' ' 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 | . BEGIN LOCAL IE_VEC IE_VEC = : WORD; .VEC_AD t ' ! IE-BIT-AND-VECTOR-ADDRESS/4 BYTE (USED IN STEP 1 WRITE AND STEP 3 READ) ! GET VECTOR ADDR/4 ' 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 STCP -2; INCR ATTEMPTS FROM 1 TO INI_ATT DO BEGIN WRT_RC25 (RCIP, RC_ALL, 00 BEGIN DELAY (100); END UNTIL .T_FLAG EQLU TRUE; T_FLAG = FALSE; D0 BEGIN DELAY (100); END UNTIL .T_FLAG EQLU TRUE; T_FLAG = FALSE; ! ' ] ALL_ONES); = 0) STEP 1 STEP = 1; SA_REG = .RC25_ADDR [RCSA, RC_ALL); IF (.SA_REG AND S1_MASK) EQLU SA_S1 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 ' (IE DELAY (400); 00 BEGIN DELAY (100); END ! 1 WRITE VALUE 1 WRITE TEN SECOND LIMIT ! ABOUT 1 SECOND 333 old 400 new * CZRCO3 v02.0 . . L) . [ . . . . . L] . . - 1) . . . L) . LJ . e . 1] . * . LJ . . . . . * - . . . - . . [ . [ . . . L) . 13 - ] - . - [ - 1] . . . [ . [ - L] . [ . . . 1 . ’ . J . [ . L . * . L) . ’ . L] . L . L) . . . L) . . . e . . - . . ’ . L] L) 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 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 \l\l@flfl\l\JOOO\J\I\J\‘O‘O‘O‘O‘MO‘MMU‘U‘U‘O‘OO‘NO‘O\O\N\JQOOOOU‘U!U'UIbUlbbb&bUlUDU!OUIU!UI i L) CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 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_ALL]); IF BIT_TST (SA_REG, SA_S2) THEN EXITLOOP; SEQ 0240 VAX-11 Bliss-16 V4.0-579 Page 44 USER$1:[AZTEC.CZRCDBJCZRCD3.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) THEN BEGIN WRT_RC25 (RCSA, RC_ALL, .DCT_ADDR INCR COUNT FROM 1 TO 10 DO BEGIN ! DELAY DO BEGIN ! ! IF STEP 2 READ IS 0.K. THEN [RR_BEG]); (400); ! ! RINGBASE-LO, PI = 0 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 0OUT END; ! STEP 3 STEP = .STEP + 1; IF (.SA_REG AND S3_MASK) EQLU (SA_S3 OR THEN BEGIN WRT_RC25 (RCSA, RC_ALL, .IE_VEC) 0); INCR COUNT FROM 1 TO 10 DO BEGIN ! 00 BEGIN DELAY (100); END UNTIL DELAY (400); .T_FLAG EQLU TRUE; T_FLAG = FALSE; ! ! ! IF STEP 3 READ IS 0.K. THEN ! ! PP, RINGBASE-HI = 0 TEN SECOND LIMIT ! ABOUT 1 SECOND changed 333 to 400 for 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 QUT 11/84 cache CZRCD3 v02.0 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 26177 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 END; ! STEP 4 STEP = STEP + 1; IF ( .SA_REG AND S4 _MASK) EQLU SA_S4 THEN BEGIN WRT_RC25 (RCSA, RETURN SUCCESS; RC_ALL, 0); ! ! %F STEP 4 READ IS 0.K. THEN ! ! BURST, LF, GO = 0 SUCCESS EXIT POINT END; END; END; END; END; ERRDF (13, EGD_13, RETURN FAILURE; E MS_13); END; 000000 004137 0000006 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 012701 001410 000012 000612 f SEQ 0241 VAX-11 Bliss-16 V4.0-579 Page 4S5 USER$1:(AZTEC.CZRCDB )JCZRCD3.SRC;17 (1) 14-Jun-1985 09:41:21 14-Jun-198S 09:33:42 INITIALIZATION SUBTE ST ROUTINES ROV UWWEDLVNVNIORNINIIJORANRNN H H : H : : H H : H : H H H : H ; : H H H H H : H H : CZRCDBO RC25 DISK EX ERCISER .SBTTL HARD.INIT: JSR suB MoV 0000006 0000006 000002 000002 177777 0000006 000144 000012 1s$: MOV 28: 3 44: 5¢: 000000G 000001 0000006 000144 ASR ASR MOV MOV MoV ADD MOV ! TRY AGAIN OR GIVE uP ! "INIT SEQUENCE FAILED" ! ROUTINE HARD_INIT HARD.INIT INITIALIZATION SUBTEST ROUTINES R1, $SAVES €12, SP VEC.AD,-(SP) (SP) (SP) L$OLY,R4 RC25.ADDR,RO &2 ,R2 RO,R2 #2,R5 H 2548 : : ; : ; *, IE.VEC IE.VEC IE.VEC ; &,ATTEMPTS 2568 2575 2590 2569 @-1,R0 ; *,RC.REG MOV BEQ MOV 8tQ #144 R1 64 R4 ,RO 5% ; RC.REG,» 2572 i %, 83TMP2 2575 ;: *,$8TMPL DEC BNE DEC RO 43 R1 MOV CLR RO,8RC25.ADDR 12(SP) 6$: BR CMPB BNE 3 T.FLAG,#1 24 7%: 8s: MOV BEQ #144 ,R1 11 CLR8 T.FLAG ; SSTMP ; $$TMPL i $$THP2 i 2577 ; i %, 88TMP2 2578 2581 CZRCD3 voc.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 000375 0004CO 0004C2 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 010400 001404 005066 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 118: 0000006 000001 0000006 000002 0000006 0000006 115400 0000006 0000006 000012 000144 MoV BEQ CLR DEC BNE OEC 8R CMPB BNE CLR8 MOV MOV MOV MOV 001777 004000 12%: 13s: BIC CcMP BNE MOV BIS MOV MOV MOV MOV BEQ MoV 000012 14¢: 15%: 000000G 000001 16¢: 000000G 000004 000000G 010000 0000006 0000006 003400 010233 17¢: 000012 000144 000012 BEQ CLR DEC BNE DEC CMPB BNE CLRB MOV MOV BIT BNE DEC BNE INC MOV 8IC CMP BNE 0000006 000004 MOV 18s: 19s: 208: 2ls: SEQ 0242 VAX-11 Bliss-16 V4.0-579 Page 46 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 (1 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV MOV MOV MOV BEQ MOV BEQ CLR DEC BNE DEC R4,RO 104 12(SP) RO 9 R1 8 T.FLAG,#1 78 T.FLAG i »,88THMPL ; ; $STMP $$TMPL ; $8$TMP2 H #1,STEP H 2584 H 2589 (R2),2(SP) (R2),SA.REG (R2),RO ;i (SP),SA.REG ; ¢,RC.REG 2590 : SA.REG,* 2591 ;: IE.VEC,» 2595 ;: *,RC.REG 2596 ; ; 2597 2603 #1777 ,RO RO, #4000 304 115400, SA.REG SA .REG,RO RO, (R2) ; 412,R3 9144 R1 16¢ R4,RO 15¢ 12(SP) RO 14 R1 134 T.FLAG,#1 123 T.FLAG (R2),4(SP) (R2),SA.REG #10000, (R2) 17¢ R3 124 STEP SA.REG,RO #3400,R0 RO, 410233 31% OCT.ADDR,RO 4(RO),RO RO, (R2) #12,R3 #4144 R} 22% R4 ,RO 21 12(SP) RO 204 R1 2583 RC.REG,» RC.REG,» &, COUNT %, 88TMP2 ; %,$3TMPL ; ; $$TMP $$TMPL ; $$TMP2 : H ; ; ;: 2605 2606 *,RC.REG 2607 =,SA.REG 2608 RC.REG,» ; COUNT 2597 H 2616 : 2617 : ; ; : : : #,RC.REG 2621 RC.REG,» &,COUNT %, 38THMP2 &,$8$TMPL : SSTMP : $STMPL ; $$TMP2 2622 2628 CZRCD3 v0o2.0 000404 000406 0004 14 000416 000422 000426 000432 000436 000440 000442 000444 000450 000454 000460 000462 000466 000470 000472 000474 000476 000502 000506 000510 000512 000514 000520 000522 000524 000526 000530 000536 000540 000544 000550 000554 000560 000562 000564 000566 000572 000576 000602 000606 000610 000612 000616 000620 000622 000624 000630 000632 000634 000636 000640 000642 0006406 CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 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 0000006 000000G 005000 062706 000207 000000G 000001 22¢: 0000006 000006 000000G 020000 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 BR CMPB BNE CLRB MoV MOV BIT BNE DEC BNE 0000006 000000G 003400 INC MoV 020000 000012 000144 000012 24s: 25¢: 268%: 27s: 000000G 000001 28¢: 0000006 000010 0000006 040000 000000G 0000006 003777 040000 8EQ MOV 8EQ CLR DEC BNE DEC CMPB BNE CLR8 MOV MoV 298: 30s: 000001 31s: 002060 32%: BIT BNE DEC BNE INC MOV BIC CMP BNE CLR MOV BR OEC BEQ JMP TRAP .WORD .WORD .WORD 000014 33s: CLR ADD RTS «,RC.REG 2631 2632 ; RC.REG, s : *,S5A.REG 2633 R3 18% ; COUNT 2622 23 #20000,R0 MOV MOV 2630 H ; (11) 920000, (R2) 8IS cMp : (R2),6(SP) (R2),SA.PEG BIC BNE CLR CLR SEQ 0243 Page 47 USER$1:[AZTEC.CZRCDB JICZRCD3.SRC; 17 19¢ T.FLAG, %1 18% T.7FLAG STEP SA.REG,R1 #3400,R1 MoV VAX-11 Bliss-16 V4.0-579 (SP),RO H 2641 H 2642 ; R1,RO 31% RO (R2) @12,R3 4144 ,R1 28$ R4,RO 27 ; RC.REG 2646 : ; &,COUNT %, 88TMP2 2647 2653 ; %,$3TMPL 12(SP) RO 264 R1 254 T.FLAG,#1 H T.FLAG H 244 (R2),10(SP) (R2),SA.REG #40000,(R2) 294 R3 244 STEP SA.REG,RO 43777.R0 RO, 940000 31 (R2) @1,R0 33$ RS 32¢ 1 55 15 €GD.13 EMS.13 RO #14,5P PC IE.VEC,» ; $STMP ; $$TMPYL ; $$TMP2 ; ; ; 2655 *,RC.REG RC.REG,» &,SA.REG ; COUNT 2656 2658 2659 2647 ; 2667 H 2668 H 2672 ; 2670 ;: ATTEMPTS 2569 H 2685 : H 2562 2548 CZRCD3 v0e.0 H H H : H H H : : H H H H H H H : H H H : H H H : H H H H H 3 H : Routine Size: Maximum stack 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2704 2705 2706 2107 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2723 212 words, depth per : 14 words NOVALUE VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 $CODES$ SEQ 0244 Page 48 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;:17 (11) » 2016 = e ' ! ! ! ' ! 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 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; ! FIRST RESPONSE RING SLOT ! ! ! ! ! ! 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; 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 000000G 000004 000010 000000G 000000G 001354 000207 Routine Base: invocation: ROUTINE INI_RRING 000000 - 14-Jun-1985 09:41:21 INITIALIZATION SUBTEST ROUTINES wmuuuwuuuuummwmmmmm».—-ur-.-o-r-v-o-no-.-.-o—- : ;: CZRCDBO RC25 DISK EXERCISER 000104 000000G 000074 000004G 0000006 000002G .SBTTL INI.RRING: JSR MOV MOV MOV 14: MOV JSR MOV MOV MOV JSR MOV MOV MOV cMP DEC BNE RTS INI.RRING INITIALIZATION SUBTEST ROUTINES R1,$SAVE3 OCT.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)e R2 13 PC : : : : : &,RRING.ADDR &,COUNT 2689 2710 2711 2714 ; ; ¢,INDEX INDEX, s 2715 ;3 ; ¢,RRING.ADDR &,RRING.ADDR 2716 2718 : ;s 3 COUNT 2712 2711 2689 CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.0 INITIALIZATION SUBTEST ROUTINES : Routine Size: ; H H : H : ; H H : H H H ; H : H H H H : 3 H H : H : : H H H H : ; H H $ H : H H H H H F H 3 H H 3 H Meximum stack 2724 2725 2;%3 2 2731 2732 2733 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 27156 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 000000 29 words, depth per Routine Base: invocation: 1 1 ROUTINE SET_CTLR_CHAR 1 1 ' H 2726 2727 2728 2767 2768 2769 27170 2771 27172 2773 2775 14-Jun-1985 09:41:21 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 Page 50 (1 2) $CODES + 2666 : NOVALUE = THIS ROUTINE IS CALLED BY CTLR_INIT AFTER THE RC2S HAS BEEN HARDINITIALIZED. ITS PURPOSE IS TO FORMAT AND SEND THE “SET CONTROLLER ! ! ! ! !BEGIN CHARACTERISTICS” COMMAND, AND TO VERIFY THAT THE MESSAGE WAS ACCEPTED. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER LOCAL REASON : WORD, M_INDEX : WORD; ! DROP UNIT REASON ! 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) EQLU FAILURE THEN PUT_ENV (.M_INDEX) ELSE BEGIN WAIT (); RP_INDX = QUT_I00Q (); RP_ADDR = RETPKT « (.RP_INDX & RP_LEN & 2); IF _RP_ADDR [CONID] €EQLU CID_DRIVER THEN BEGIN 4 4 REASON = 4 4§ S S S S S 4 4§ 010146 SEQ 0c4S 1e 3 3 3 4 4 4 3 3 3 3 2 1 7 words 14-Jun-1985 09:33:42 VAX-11 Bliss-16 V4.0-579 DU_FATAL; IF _RP_ADDR [MESTYP] EQLU MT_TIMEQUT THEN BEGIN REASON = DU_INIT; ERRDF (1S5, EGD_15, EMS_15); ! ! ! ! ! ! ! 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, .REASON); END; ! DROP CONTROLLER'S UNITS ! IF RETPKT IS FROM “DRIVER" PUT_RETPKT (.RP_INDX); END; END; ! IF SEND WAS SUCCESSFUL ! ROUTINE SET_CTLR_CHAR .SBTTL SET.CTLR.CHAR: MOV SET.CTLR.CHAR INITIALIZATION SUBTEST ROUTINES R1,-(SP) 2724 CZRCOD3 vo2.0 000002 000006 000012 000014 000016 000022 000026 000034 000042 000044 000050 000052 000054 000056 000062 000064 000070 000074 000100 000102 000106 0C0112 000116 000122 000130 000132 000136 000142 000146 000152 000154 000160 000162 000164 000166 000170 000174 000176 000202 000204 000210 000214 000216 000220 000222 i CZRCOBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 013746 0000006 004737 0000006 010001 010116 012746 000104 004737 0000006 112760 000004 0000206 012760 000120 0000266 010116 004737 0000006 005700 001004 010116 004737 0000006 000455 004737 0000006 004737 0000006 010037 0000006 010016 012746 000060 004737 0000006 062700 0000006 010037 0000006 126027 000003 000003 001025 012701 000004 116000 000002 042700 177417 020027 000100 001006 012701 000002 104455 000017 0000006 0000006 013716 0000006 010146 004737 0000006 005726 013716 0000006 004737 0000006 005726 022626 012601 000207 Routine Size: 74 words, : Meximum steck depth per 1¢: 2s: 3% 4% : Rout ine Dese: invocetion: 6 words SEQ 0246 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV JSR MOV MoV MOV JSR MOove MOV MOV JSR TS7T BNE MOV JSR BR JSR JSR MOV MoV MoV JSR ADD MOV CMPB BNE MOV Move BIC cMp BNE MoV TRAP .WORD .WORD .WORD MOV MOV JSR TST MOV JSR 18T cHp MOV VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDBICZRCD3.SRC; 17 CCTLR, -(SP) : PC,.GET.ENV RO,R1 R1,(SP) 2104, -(SP) PC,BL$MUL @4 ,MSCP.ENV+20(R0) ; #120,MSCP.ENV+26(RO) S2 (1 3) 2741 &,M.INDEX ; M.INDEX,s H R1,(SP) PC,SEND Page 2742 2743 ;s M.INDEX,s 2744 ; M.INDEX,s 2746 : 2744 RO 1s R1,(SP) PC.PUT.ENV 44 PC,WAIT PC,0UT.IO0DQ RO ,RP. INDX RO,(SP) : 2750 H 2751 ; RP.INDX,s 2752 PC,BL$MUL ORETPH ,RO RO,RP.ADDR 3(RO), 03 3 44 ,R1 2(RO),RO €177417,R0 RO,#100 24 #2,R1 55 17 €GD. 15 EMS. 15 CCTLR,(SP) R1,-(SP) PC.DROP.CTLR (SP)» RP . INDX, (SP) PC,PUT .RETPKT (SP). (SP)+,(SP). (5P)+,R1 RTS PC $CODES - 2760 2753 ; *,REASON H ; »,REASON H 2762 2763 ' ;s 2757 2758 REASON,s 2767 H 2755 H 21N H 2748 : 2738 : 2724 CZRCD3 CZRCOBO 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 2521 2822 2823 2824 2825 2826 2827 2823 2829 2830 2831 832 ROUTINE UNIT_INIT : NOVALUE THIS ROUTINE IS (PLATTER) WHICH INITIALIZATION. MESSAGE, AND TO = CALLED FROM DRIVER INIT FOR EACH CONFIGURED UNIT IS ATTACHED TO A CONTROLLER THAT SURVIVED ITS PURPOSE IS TO FORMAT AND SEND AN “ONLINE"” 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 : WORD, M_INDEX : WORD; ! ! M_INDEX = GET_ENV (.CCTLR); MSCP _ENV [.M_INDEX, PL_ADDR] = .CPLAT; MSCP _ENV [ .M_INDEX, OPCODE) = OP_ONL: MSCP_ENV [.M_INDEX, DDPAR] = BITO0; GET AN MSCP ENVELOPE SET PLATTER ADDRESS (MSCP UNIT NUMBER) THEN PUT_ENV (.M_INDEX) BEGIN WAIT (); RP_INDX = RP_ADDR = IF QUT_IODQ RETPKT + WAIT (); (.RP_INDX THEN IF RETPKT RESPONSE THEN BEGIN REASON FOR GET INDEX OF RETPKT CALCULATE RETPKT ADDRESS IF RETPKT IS FROM “DRIVER" s RP LEN & 2); [CONID) €QLU CID_DRIVER _RP_ADDR "ONLINE* SHOW ALL ECC ERRORS IN ERROR LOG MESSAGES ATTEMPT TO SEND; IF CTLR IS OFFLINE THEN RETURN ENVELOPE TO POOL OTHERWISE (SEND WAS SUCCESSFUL) IF SEND (.M_INDEX) EQLU FAILURE ELSE DROP UNIT REASON MSCP ENVELOPE INDEX OPCODE FOR = DU_FATAL; _RP_ADDR [MESTYP) EQLU MT_TIMEOUT THEN BEGIN REASON = DU_INIT; ERRDF (15, €GD_15, EMS_15); ! ! ASSUME FATAL SA ERROR IF COMMAND TIMED OUT ' THEN ¢ ! SET REASON TO INIT ERROR "MESSAGE RESPONSE TIMEOQUT*" ' DROP ALL CONTROLLER'S UNITS ! OTHERWISE, * ! GET STATUS CODE GET SuB-CODE END; DROP _CTLR (CCTLR, ELSE .REASON); END 8EGIN ST_CODE = SB8_CODE = .RP_ADDR [STSCOD]J; .RP_ADDR [SUBCOD]; SEG 0247 VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDBICZRCD3.SRC;17 * 2776 2777 2778 2779 bbbbwhbbhbu‘IUH.nU!UlbbbbbuuwololuNNNNNNNNNNNNNNNMMMw»n»»Mr-v-ur—»r-» v0e.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 IF RETPKT IS FROM DISK MSCP Page 572 r14) CZRCO3 CZRCOBO RC2S DISK EXERCISER 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 THEN BEGIN ERRDF ELSE EGD_16, EMS VAX-11 Bliss-16 V4.0-579 USER$1:(AZTeC.CZRCDB JCZRCD3,SRC;17 ! ! IF STATUS CODE IS NOT SUCCESSFUL THEN ! ! ! "ONLINE FAILED" SET UP REASON FOR DROPPING UNIT DROP UNIT ! STATUS CODE IS 0.K. 16); Page 5S4 (14) END BEGIN IF ((BIT_TST (RP_ADDR [U_FLGS), UF _WPH)) AND (.CST_ADDR [.CUOFF, P_PROT] EQLU UNPROTECTED)) THEN BEGIN 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 T0 DROP UNIT ! DROP UNIT ! WRITE PROTECT SWITCH IS 0.K. END BEGIN USIZE = .RP_ADDR [USIZ_LO]; CST_ADDR [ .CUOFF, P_STAT] = ONLINE; CPT [.LSLUN) = YES; CST_ADDR [U_CNT) = .CST_ADDR [U_CNT] UNIT SIZE (NO. OF MARK UNIT ONLINE + 1; LBN'S) 0.K. TO TEST INCR NO. OF TESTABLE UNITS END; END; END; PUT_RETPKT END; 000000G 000004 000010 000014 000016 000020 000024 000030 000036 000044 013746 004737 010001 010116 012746 004737 013760 112760 012760 010116 004737 0000006 0000006 000104 000000G 000000G 000014G 000011 000020G 000001 0000446 0000006 ! IF STATUS CODE = SUCCESS ! IF RETPKT ORIGINATED AT CONTROLLER ! IF ! ROUTINE UNIT_INIT (.RP_INDX); END; 004137 000054 (16, SuC DUR [.LSLUN] = DU_INIT; DODUV (.LSLUN); 000000 000052 T INITIALIZATION SUBTEST ROUTINES HNNU‘UAWUA&bU’fUlOiO'OO\OO\OMOOOOOOOMOO\U‘MOMU‘U‘U‘U‘WWO& Quq..o.u.-.o'n.----nn.-.n-o-o-.-.o--o-n...-...o.a-oocQuoatl.aon.au-lu--cu v0e2.0 SEQ 0248 14 Jun-1985 09:41:21 14-Jun-1985 09:33:42 .SBTTL UNIT.INIT: JSR MOV JSR MOV MOV MoV JSR MOV MOvVB MOV MOV JSR UNIT.INIT SEND WAS SUCCESSFUL INITIALIZATION SUBTEST ROUTINES R1,$SAVER CCTLR, -(SP) PC,GET.ENV i H RO,R1 R1,(SP) #104,-(SP) ; ; PC,BL$MUL CPLAT,MSCP.ENV+14(RO) #11,MSCP.ENV+20(R0O) 41 ,MSCP.ENV+44(RO) R1,(SP) PC,SEND : i ; 2776 2798 »,M.INDEX M.INDEX, s 2799 M.INDEX,» 2800 2801 2802 - CZRCD3 v02.0 f 000060 000062 000064 000066 000072 000074 000100 000104 000110 000112 000116 000122 000126 000132 000134 000142 000144 000150 000154 000160 000164 000166 000172 000174 000176 000200 000202 000206 000210 000214 000216 000220 000226 000234 000240 000242 000244 000246 000250 000252 000256 000262 000266 000272 000274 000276 000300 000302 000304 000312 000314 000316 000320 000326 000330 000334 000326 CZRCOBO RC2S DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 005700 001004 010116 004737 0000006 000565 004737 000000G 0000006 004737 010037 0000006 010016 012746 000060 004737 0000006 062700 0000006 0:0037 0000006 010001 126127 000003 000003 001026 012700 000004 116102 000002 042702 177417 020227 000100 01006 012700 000002 104455 0C0017 0C0000G 000000G 012716 0000006 010046 004737 0000006 005726 000506 116137 000016 000000G 042737 177740 000000G 000016 016100 006200 006200 006200 006200 006200 042700 174000 0000006 010037 013702 0000006 005737 000000G 001412 104455 000020 0000006 000000G 112762 000002 000000G 010200 104451 002446 032761 020000 000022 001421 013700 0000006 005300 063700 0000006 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 757 BNE MOV 1¢: JSR BR JSR JSR MOV MOV MoV JSR ADD MOV MoV CcMPB BNE MOV Move 8IC cMP BNE 2%: 3s: MOV TRAP .WORD .WORD . WORD MOV MOV JSR TST BR HMovse BIC MOV ASR ASR ASR ASR ASR 8IC 4%: MoV MOV TST BEQ TRAP .WORD .WORD .WORD Movs MOV TRAP BR BIT 8EQ MOV ASL ADD VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 RO 1s R1,(SP) PC.PUT.ENV 79 PC,WAIT PC.0UT.I00Q RO,RP. INDX RO,(SP) #60, -(SP) PC,BLS$MUL ARETPKT RO RO,RP.ADDR RO,R1 3(R1), 03 3 #4,RO 2(R1),R2 9177417, ,R2 R2,#100 23 i : 2804 2802 ; 2809 ; RP.INDX, s 2810 ; RP.ADDR, s 2811 ; *,REASON : : 4CCTLR,(SP) i : H 2815 2816 *,REASON : RO, -(SP) PC,DROP.CTLR (SP). 63 16(R1),RO RO RO RO RO RO S5 (14) 2808 55 17 EGD. 15 EMS. 15 16(R1),ST.CODE M.INDEX,s Page : @2,RO #177740,ST.CODE SEQ 0249 2820 2821 REASON,# 2825 2813 ; 2811 H 2831 : 2832 9174000,R0 RO,SB.CODE LSLUN,R2 ST.CODE 44 55 20 EGD. 16 EMS. 16 2 ,0UR(R2) R2,R0 51 6% 220000.22(R1) $ CUOFF,RO RO CST.ADDR,RO i 2838 i 2833 : 2837 H 2838 : 2839 H 2833 : 2845 H 2846 CZRCO3 CZRCOBO RC2S DISK EXERCISER INITIALIZATION SUBTEST ROUTINES v0e.o0 000342 000344 000346 000350 000352 000324 000356 000364 000366 000370 000372 000400 000404 000406 000412 000416 000424 000430 000434 000440 000444 000446 000450 TST BPL TRAP .WORD .WORD .WORD 000021 0000006 0000006 112762 000002 010200 104451 000421 0:1613? 013700 006300 063700 052710 112762 013700 105260 013716 004737 005726 022626 000207 0000006 000050 000616 0000006 0000006 020000 000001 000000G 0000006 000005 0000006 000000G (RO) 5 55 21 EGD.17 EMS.17 MOvVB MoV TRAP S$: @2 ,0UR(R2) R2,RO 51 63 S0(R1),USIZE CUOFF,RO BR MOV MoV ASL ADD RO 6%: 7$: 420000, (RO) #1,CPT(R2) Move MOV INCB MoV JSR 187 CST.ADDR,RO 5(R0O) RP . INDX, (SP) PC,PUT.RETPKT (SP)+ (SP)+,(5P)« cMp RTS $CODES SEQ 02s0 VAX-11 Bliss-16 V4.0-579 Page 56 USER$1:{AZTEC.CZRCDBICZRCD3.SRC; 17 (14) i 2850 : 2851 ; 2852 H 2845 : 2858 : 2859 CST.ADDR,RO BIS Routine Size: 149 words, Routine Base: Maximum stack depth per invocation: 8 words f ; : 005710 100012 104455 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 PC + 3204 ; 2860 H 2861 ; 2869 H 2806 ; 2792 : 2776 CZRCDOBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES ROUTINE ACCESS : NOVALUE VAX-11 Bliss-16 v4.0-579 = 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: CURRENT CONTROLLER NUMBER CCTLR 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') PASS = 1; 00 BEGIN M_INDEX = GET_ENV (.CCTLR); MSCP_ENV [.M_INDEX, PL_ADDR] = - GUILTY UNTIL PROVEN INNOCENT STATUS CODE AND SUB CODE START WITH LAST LBN ON TOP SURFACE LOOP PASS COUNT LOOP STARTS HERE 1; GET AN MSCP ENVELOPE SET PLATTER ADDR (MSCP UNIT NUMBER) ACCESS OPCODE BYTE COUNT (1 BLOCK) LOGICAL BLOCK NUMBER ?TTEHPT TO SEND; IF CTLR NOT ONLINE .CPLAT; MSCP_ENV [.M_INDEX, OPCODE} = OP_ACC; MSCP_ENV ([ .M_INDEX, 8C_LO) = BLK_SIZE; MSCP_ENV [ .M_INDEX, LBN_L] = .LBN; IF SEND (.M_INDEX) EQLU FAILURE THEN BEGIN PUT_ENV (.M_INDEX); PASS = 2; ! RETURN ENVELOPE TO POOL NO MORE TRIES END R 2); Y WAIT (); RP_INDX = QUT_IODQ (); RP_ADOR = RETPKT + (.RP_INDX & RP LEN IF _RP_ADDR [CONID} EQLU CID_DRIVER IF SEND WAS SUCCESSFUL LR ! BEGIN L ELSE HEN ! ST_CODE = .RP_ADDR [STSCOD]; SB_CODE = .RP_ADDR (SUBCOD); IF .ST_CODE EQLU ST_SuC ! ! ! SEQ 0251 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 * LnU'lUH.llUIbbb&&&#&h(flbb&#b&MNNNWUMWUJNNNNNNNNNNNNNHHPPMMPH#HMM#‘H 2874 2875 2876 2877 2878 2879 2880 2881 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 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 R CZRCD3 v02.0 WAIT FOR RESPONSE GET RETPKT (RESPONSE) INDEX CALCULATE RETPKT ADDRESS IF RETPKT CAME FROM “DRIVER“ THEN NO MORE TRIES OTHERWISE - CHECK OUT RESPONSE GET STATUS CODE FROM PACKET GET SUB-CODE FROM PACKET IF STATUS CODE INDICATES SUCCESS Page 57 (15) CZRCD3 CZRCDBO RC2S 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 000064 000072 0001C0O 0001C6 her HNNW“WN“WMNNNNNUJWU‘WUJMU‘&&O&MU’OOO‘OOU‘ - » S OF Wr B0 B0 B € G5 B @0 WL G 0 G B0 B0 @9 B @ @0 @ G0 S Be s @ we we v02.0 SEQ 0252 VAX-11 Bliss-16 v4.0-579 58 USER$1:[AZTEC.CZRCDB)JCZRCD3.SRC;17 (15) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THEN BEGIN RESULT = SUCCESS; PASS = 2; ! THEN ! NO NEED TO TRY AGAIN END; END; ! IF RETPKT ORIGINATED AT CONTROLLER ! IF SEND WAS SUCCESSFUL ! ! ADVANCE TO FIRST LBN OF BOTTOM SURFACE SECOND PASS ! END OF PASS LOOP DODU (.LS$LUN); ! ! ! ! ! DELAY POSSIBLE ERROR LOG MESSAGE "ACCESS FAILED" RESTORE PROCESSOR PRIORITY SET REASON TO DROP UNIT DROP UNIT END; ! IF ACCESS FARILED ! ROUTINE ACCESS PUT_RETPKT (.RP_INDX); END; LBN = .LBN + PASS = _PASS 1; + 1; END UNTIL .PASS GEQU 3; IF _RESULT EQLU FAILURE THEN BEGIN SETPRI (PRIOS); ERRDF (18, EGD_18, SETPRI (PRI0OO); DUR [.LSLUN] EMS_18); = DU_INIT; END; 004137 000000G 005003 005037 0000006 005037 000000G 013700 000616° 006200 010004 042704 100000 005304 012701 000001 013746 000000G 004737 0000006 010002 010216 012746 000104 004737 000000G 013760 000000G 000014G 112760 000020 000020G 012760 001000 000024G 010460 0000446 ACCESS: LSBTTL JSR CLR CLR CLR MOV ASR MOV BIC OEC 1$: MOV MOV JSR MOV MOV MOV JSR MOV MOVB MOV MOV ACCESS INITIALIZATION SUBTEST ROUTINES R1,$SAVES H R3 : RESULT SB.CODE ; ST.CODE USIZE,RO : RO RO,R4 *,LBN #100000,R4 *,LBN R4 LBN #1,R1 *,PASS CCTLR, -(SP) PC,GET.ENV RO,R2 : *,M.INDEX 2874 2896 2897 2898 2899 2903 2904 PC,.BLS$MUL CPLAT,MSCP.ENV+14(RO) #420,MSCP .ENV+20(RO) 91000, MSCP .ENV+24(RO) R4 ,MSCP.ENV+44(RO) . ; : ; LBN, s 2905 2906 2907 CZRCD3 v02.0 000112 010216 000114 024737 000120 005700 000122 001006 000124 010216 000126 004737 000132 012701 000136 000460 000140 004737 000144 004737 000150 010037 000154 010016 000156 012746 000162 004737 000166 062700 000172 010037 000176 126027 000204 001426 000206 116037 000214 042737 000222 016005 000226 006205 000230 006205 000232 0C6205 000234 006205 000236 006205 000240 042705 000244 010537 000250 005737 000254 001004 000256 012703 000262 012701 000266 013716 000272 004737 000276 005726 000300 005204 000302 005201 000304 022626 000306 020127 000312 103652 000314 005703 000316 001017 000320 012760 000324 104441 000326 104455 000330 000022 000332 0000006 000334 000000G 000336 005000 000340 104441 000342 013700 000346 112760 000354 103451 000356 000207 ; ol ; Routine Size: Maximum stack CZRCDBO RC25 DISK EXERCISER INITIALIZATION SUBTEST ROUTINES 000000G 000000G 000002 0000006 0000006 0000006 2$: 000060 000000G 0000006 000000G 000003 000003 000016 177740 000016 000000G 000000G 174000 000000G 000000G 000001 000002 0000006 0000006 38 4 ; S$: 000003 000240 0000006 000002 000000G 6$: 120 words, depth per Routine Base: invocation: 10 words SEQ 0253 Page 59 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (15) 14-Jun-1985 09:41:21 VAX-11 Bliss-16 v4.0-579 14-Jun-1985 09:33:42 MOV JSR TS7T BNE MOV JSR MOV BR JSR JSR MOV MOV MOV JSR ADD MOV CMPB B8EQ MOVB BIC MOV ASR ASR ASR ASR ASR 8IC MOV TST BNE MOV MOV MOV JSR TST INC INC cMP cMP BLO TST BNE MOV TRAP TRAP .WORD .WORD .WORD CLR TRAP MOV MOVB TRAP RTS $CODES$ R2,(SP) PC,SEND RO 2% R2,(SP) PC,PUT.ENV #2,R1 S$ PC,WAIT PC,0UT.IO0DQ RO,RP. INDX RO,(SP) #60,-(SP) PC,BLS$MUL ARETPKT,RO RO,RP.ADDR 3(RO),#3 3 16(R0O),ST.CODE #177740,ST.CODE 16(R0O),RS RS RS RS RS RS #174000,RS RS5,SB.CODE ST.CODE 44 #1,R3 #2,.R1 RP.INDX, (SP) PC,PUT.RETPKT (SP). R4 R1 (SP)+,(SP)+ R1,#43 13 R3 6 #240,R0 41 S5 22 EGD.18 EMS.18 RO 41 L$LUN,RO #2 ,DUR(RO) 51 PC + 3656 ; M.INDEX, s 2908 ; M.INDEX, = 2912 ; ; : : *,PASS 2913 ; RP.INDX,* 2908 2919 2920 2921 : : H 2922 2924 2928 : 2929 : 2930 ; ; ; : ; ; H ; ; &, RESULT *,PASS 2934 2935 2941 PASS, & 2917 2945 2946 2901 2950 RESULT 2952 LBN PASS : 2956 : 2957 ; 2958 : 2959 ; ; 2960 2874 CZRCD3 CZRCDBO RC2S DISK EXERCISER DM EXERCISER ROUTINES . . L] . Ld - . * . e . . . » . L) . L) . [ - » . . . * . [ Y ’ . L) - L4 - * . L) . 1 . L] . [ . 1 . [ . * . ’ - L] . 14 . ’ . ’ - L4 . L) 3 L] . . . [ . 1) . » . [ . ’ . [ . * . L] . L] . . . . . [ . ] . ] - [ . ] . [] her SEQ 0254 VAX-11 Bliss-16 V4.0-579 Page 61 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (1 6) ‘DM EXERCISER ROUTINES' ROUTINE DM_EXER : NOVALUE = * . L) %SBTTL T LD YD LD LB I R B Y T LW YD LD I W Y Y e vt s - 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 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 mo\cflo\afia\O‘O\u‘Ommmw#bAuuwuwumNNNNuNNHPr-o—r—-ppwrn—o-o-n-»-wo-r-wv-t-v-o-r-v—p-b- v02.0 14-Jun-1985 09:41:21 14-Jun-198S 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 OM EXERCSER / FRONT PANEL TEST COMMUNICATION AREA (DM_COMM). THIS BLOCK OF MEMORY HOLDS THE '“NIT 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_TALLY), AND MAINTAINING COMMAND TIMERS (DRV_TIMCHK). BEGIN IF MANUAL THEN PRINTF (MSG_06); ! ! ! DM_INIT (); 00 BEGIN ! INIT DM_EXER DATA, ! "EXECUTIVE” PROCESSING LOOP BREAK; DM_RETPKT (); IF .T_FLAG EQLV TRUE BEGIN - 1) DO FOR EACH CONFIGURED CONTROLLER SET_CPAR (.CTLR); IF CC.CST_ADDR [STATE) EQLU ONLINE) AND (.CST_ADDR [U_CNT] NEQU 0)) THEN BEGIN IF DM_ACC ) THEN DM_TALLY (); OM_TIME (); END; SEND CROM PRIMER BREAK IN CASE USER TYPED <CTRL-C> PROCESS ANY DUP END MESSAGES OR "DRIVER” ERRORS IF ONE SECOND HAS ELAPSED THEN THEN INCR CTLR FROM 0 TO (.CTLR_CNT BEGIN IF ATTENDED THEN "DM EXERCISER SUBTEST START* ! ' ! ! 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 TCTALS CHECK FPT SANITY TIMER FOR CONTROLLER IF CTLR IS ONLINE AND AT LEAST ONE UNIT 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 000000 000004 000006 000010 000014 000020 000022 000024 000026 000032 000034 000040 000046 000050 n00054 000056 000060 000062 000066 000072 000076 000100 000104 000106 000112 000114 000116 000122 000120 000130 000132 000134 000136 000142 000146 000150 000152 ; : CZRCDOBO RC25 DISK EXERCISER DM EXERCISER ROUTINES PO WWWDEELDAWM We @0 W0 @0 0 @0 Be @0 we we W CZRCD3 v0e2.0 004137 104450 103007 012746 012746 010600 104417 022626 004737 1CA4422 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: Maximum stack SEQ 0255 VAX-11 Bliss-16 V4.0-579 Page 62 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (1 6) 14-Jur 1985 09:41:2% 14-Jun-1985 09:33:42 END; ! CONTROLLER LOOP DRV_TIMCHK (); ! 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 000000G .SBTTL DM.EXER: JSR TRAP BHIS 0000006 000001 000000V 000000V 000000G 000001 MOV MOV 1¢: 2%: 0000006 0000006 3s: JSR PC,OM.INIT CcMP TRAP JSR CMPB BNE MOV CLR BR MOV H H 2967 2993 : 2995 ; SP,» (SP)+,(SP)e 22 PC,DM.RETPKT T.FLAG,®1 74 CTLR.CNT,R2 R1 6 R1,-(SP) PC,SET.CPAR : 2996 2999 3002 3003 ; : ; H ; CTLR ; CTLR,» 3007 3010 JSR JSR CST.ADDR,RO 2(RO) 5S¢ S(RO) S$ PC,DM.ACC RO 44 PC,DM. TALLY PC,DM.TIME 6$: INC CMP BLT R1 R1,R2 3 ; ; 74: JSR JSR ROR PC,DRV.TIMCHK PC,DM.QUIT RO H : 3025 3030 RTS PC H 2967 $CODES + 4236 000000V 000000V 000000V SP,RO 17 MOV TST 8PL 1578 BEQ JSR ROR 000005 000000V 000000V 14 MSG.06,-(SP) #1,-(SP) MOV TRAP JSR 000000, 000002 DM.EXER DM EXERCISER ROUTINES R1,$SAVEZ2 S0 8CC 4 : S5¢: TST B8CC S4 words, Routine Base: depth per invocation: 7 words (SP). : 3011 : 3012 : 3016 : H 3018 3019 3008 3007 ; CTLR CTLR,s 24 CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.0 [ H : ¢ H 4 : H H : i H 4 H H é H 4 3 : 4 4 4 H H ¢ H i 4 H : H H : i ; ’ 4 i i H i H [ H i 4 H H é ¢ i H ROUTINE DM_INIT : SEQ 0256 VAX-11 Bliss-16 Vv4.,0-579 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 NOVALUE = * 4 3 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 P L D Y D S T T e S rw I St s ; OM EXERCISER ROUTINES mwwwwmmmmm&bbbutmunmmutmw&babhuuuuummmmmmw.—-o—-o—-wo—-u.—-0-0---.-.-»-0-0-'-'-.- 3 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY DM_EXER WHEN THE DM EXERCISER IS FIRST STARTED. ITS PURPOSE IS (A) TO INITIALIZE DM EXERCISER DATA, AND (8) TO START THE FRONT PANEL TEST EXECUTING IN THE DM. THE MOST SIGNIFICANT DATA INITIALIZATION OCCURS IN THE COMMUNICATION ARER (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'5 "EXECUTE SUPPLIED PROGRAM” MESSAGE. THE CROM PRIMER THEN LOADS THE FPONT PANEL TEST INTO RAM AND STARTS ITS EXECUTION. THE SUCCESS / FAILURE OF THIS OPERATION IS COMMUNICATED BACK TO THE HOST THROUGH AN END Mt3SAGE. BEGIN LOCAL MX : WORD; INCR CTLR FROM O TO (.CTLR_CNT BEGIN - 1) DO ! MSCP ENVELOPE INDEX ! FOR EACH CONFIGURED CONTROLLER SET_CPAR ( .CTLR); IF .CST_ADDR [STATE] EQLU ONLINE THEN BEGIN ! ! ! INCR COUNT FROM 8 TO ((DMC_LEN s 2) (.DMC_ADDR « .COUNT) = 0; INCR OFFSET FROM O TO 3 DO BEGIN IF .CST_ADDR [.OFFSET + OF _UN, THEN DMC_ADDR [.OFFSET, ALLBIT] ELSE DMC_ADDR [.OFFSET, ALLBIT] - 2) BY 2 DO P_STAT] EQLU ONLINE = .CST_ADDR = -1; [.OFFSET END; ! CLEAR CTLR'S DM_COMM STATS : FOR EACH UNIT UNDER CTLR ! IF UNIT IS ONLINE ! THEN LOAD PLATTER ADDRESS + OF _UN, P_ADDR] ! OTHERWISE ! DO NOT EXERCISE ! IF _ENTRY_REASON NEQU NEW_PASS THEN BeGIN OM_TIMR [.CTLR] SET UP CONTROLLER-RELATED PARAMETERS IF CON'ROLLER IS ONLINE THEN = 0; MX = GET_ENV (.CTLR); MSCP _ENV [ .MX, CONNID) = CID_DUP; MSCP_ENV [.MX, OPCODE] = OP_ESP; MSCP_ENV [.MX, DBC_LO) = .CROMP [0]; MSCP_ENV [.MX, DBUF_0] = CROMP; MSCP_ENV [.MX, OBUF_0] = CROMP + .CROMP IF SEND (.MX) EQLU FAILURE ! ! ! END UNIT LOOP IF START, THEN RESTART, CONT, OR PWR FAIL INIT FPT SANITY TIMER GET AN MSCP ENVELOPE CONNECTION ID (DUP) OPCODE = EXECUTE SUPPLIED PROGRAM BYTE COUNT BUFF DESC OF CROM PRIMER [0]; ! OVERLAY BUFF DESC ! ATTEMPT TO SEND. IF FAILURF ! ! ! ! ! Page 63 17 000040 000042 000046 000050 000054 000060 000062 000064 000066 000070 000074 000076 000100 000104 000112 000114 000120 000124 000126 000132 000134 000140 000142 000150 000152 000154 WEHNDDWWEENVWL 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 000000 000004 000010 000012 000014 000016 000022 000026 000032 000034 b CZRCDOBO RC25 DISK EXERCISER DM EXERCISER ROUTINES THEN PUT_ENV (.MX); END; END; END; IF ((.ENTRY_REASON NEQU CONT) AND (.ENTRY_REASON NEQU PWR_FAIL)) ! 004137 013705 0C5003 000531 010346 004737 013700 005760 100117 012700 010001 063701 005011 0627G0 020027 003767 005002 010201 006301 063701 010200 006300 063700 032760 001405 116011 105061 000402 012711 005202 020227 003751 123727 001450 010300 006300 INCR COUNT FROM O TO ((MAX_UNITS « TALLY_LEN) TALLY [.COUNT] = 0; T_FLAG = FALSE; END; 0000006 0000006 0000006 0000006 000002 ! ! THEN RETURN ENVELOPE TO POOL ! IF START, ! END ! END CONTROLLER LOOP IF START, - RESTART, ! THEN ! CLEAR ALL STATS CLEAR ONE SECOND TIMING FLAG ! ROUTINE DM_INIT 1s: R3,-(SP) : CTLR,» MOV JSR MoV TST PC,SET.CPAR CST.ADOR,RO 2(RO) 0000006 CLR MOV ASL ADD 0000006 020000 000006 MoV ASL ADD BIT R2,R0 RO CST.ADDR,RO $20000,6(RO) 2s: BPL MOV MOV 84 ADD CLR ADD CMP BLE 3: 000006 000001 44 5%: 64 an OR PWR FAIL OR NEW PASS CTLR B8R Page IF CTLR IS ONLINE H H : 000062 000000G 000005 CONT, DM.INIT DM EXERCISER ROUTINES R1,$SAVES CTLR.CNT,RS R3 000002 000003 1) DO - RESTART, ! 78 ¢10,R0 RO,R1 OMC.ADDR,R1 (R1) &2,R0O RO, ®62 24 R2 R2,R1 R1 DMC.ADOR,R1 1777717 VAX-11 Bliss-16 vV4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD2.SRC; 17 .SBTTL OM.INIT:JSR MoV CLR 000010 0000006 SEQ 0257 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THEN =R W1 B B Be @e W W W2 W ®e BE W B0 Ge B6 W Be @0 CZRCO3 v02.0 3033 3057 : : ;: ; 3060 3061 »,COUNT COUNT,s 3065 3066 ; COUNT,s &,COUNT 3065 ; i OFFSET OFFSET,s 3067 3072 : OFFSET,s 3070 BEQ MOVB CLRB BR 43 6(R0O), (R1) 1(R1) S$ i 3072 H 3070 INC R2 ; BLE gHSB € MOV ASL 3 sNTRY.REASON.OS $ R3,RO RO MOV CcHP @-1,(R1) R2,43 i OFFSET ;s OFFSET,s ; ; 3074 3067 3078 CTLR,s 3082 CZRCOD3 CZRCDBO RC25 DISK EXERCISER 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 ; : 14-Jun-198S 09:41:21 14-Jun-1985 09:33:42 DM EXERCISER ROUTINES 005060 010316 004737 010004 010416 012746 004737 112760 112760 013760 012760 016060 062760 010416 004737 005700 001003 010416 004737 005726 005726 005203 020305 0C2645 000620 CLR MoV JSR MOV MOV 0000006 000104 0000006 000002 000002 001716°' 001716’ 000024G 001716’ MOV 0000006 JSR TST BNE MOV 0000006 64: 7s: 8%: 123727 000000G 000003 123727 001410 005000 005060 062700 020027 003771 105037 000207 000000G 000004 00.414 Routine Size: Maximum stack JSR MOVB Move MoV MOV MOV ARDD MOV 000007G 000020G 000024G 000030G 000044G 000044G 0000006 000002 001376 9s: 0000006 10%: JSR TST TST INC o BLY CHPB BEQ CMP8 BEQ CLR CLR ADD cHMP BLE CLRB RTS 116 words, cepth per Rout ine Base: invocation: 9 words $CODES SEQ 0258 VAX-11 Blise-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 OM.TIMR(RO) R3,(SP) PC.GET.ENV RO,R4 R4,(SP) 2104, -(SP) PC,.BLS$MUL 92 ,MSCP.ENV+T7(RO) 92 ,MSCP.ENV+20(RO) CROMP ,MSCP.ENV+24(RO) ; CTLR,» ; (SP). (SP). R3 R3.RS 1 ENTRY.REASON@3 , 108 ENTRY.REASON, 04 10 RO TALLY(RO) #2.R0 RO,91376 94 T.FLAG PC « 4412 65 a7 3083 &,MX i MX, e 3084 308S 3086 3087 3088 OCROMP ,MSCP.ENV+30(RO) MSCP .ENV+24(RO),MSCP.ENV+44(RO) #CROMP ,MSCP.ENV+44(RO) R4,(SP) PC,.SEND RO 64 R4,(SP) PC,PUT.ENV Lad : MX, s 3089 : MX, s 3091 : CTLR 3080 3058 3057 ;: CTLR,s 309 3100 ; ; COUNT «(COUNT) ; COUNT,» 3102 3103 3102 3105 3033 CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 000000 000002 000004 000012 000014 000016 000022 000024 000030 000032 000034 005000 000405 126027 001407 005200 020037 002770 012700 000207 005000 000207 ;1 Routin e Size: : Maximum steck 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0259 VAX-11 Bliss-16 V4.0-579 Page 66 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 (18) * ROUTINE DM_QUIT = W Sttt ' W@ ‘@ s s 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 2 PO RO RO O RO PO RO R 1= o 0 1 s 1o (b s 1t o 1 =t ot ot o B WS G0 e W0 W0 W B0 TH W W B B e T B0 B Be s B Bs B Be we CZRCD3 v02.0 THIS ROUTINE IS CALLED BY THE OM_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” (INDICAT ING THAT CURRENT PASS TESTING ON THE UNIT IS COMPLETE), THEN THIS ROUTINE RETURNS A VALUE OF "TRUE” TO ITS CALLER. IF ANY ONE UNIT HAS A VALUE OF "YES”, THEN "FALSE” IS RETURNED. IMPLICIT INPUTS: L$UNIT - NUMBER OF UNITS CONFIGURED FOR TEST BEGIN INCR UNIT FROM O TO (.LS$UNIT IF .CPT (.UNIT] EQLV YES THEN RETURN FALSE; RETURN TRUE; 1) DO FOR EACH CONFIGURED UNIT IF UNIT STILL UNDER TEST THEN TEST NOT FINISHED ALL UNITS DONE END; ! 000000G 000001 0000006 000001 .SBTTL DM.QUIT:CLR BR 1s: CMPB BEQ INC 2s: CMP BLT MOV 3s: 15 words, depth per Routine Base: invocetion: 0 words RTS CLR RTS $CODES ROUTINE DM_QUIT gH.QUIT DM EXERCISER ROUTINES 0 24 CPT(RO), 21 34 RO RO,L$UNIT 1 #1,R0 PC RO PC « 4762 UNIT 3125 s(UNIT),» 3126 3128 3125 UNIT UNIT,s 3123 3108 CZRCO3 CZRCDBO RC25S DISK EXERCISER DM EXERCISER ROUTINES 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3152 3154 3155 3156 3157 3158 3159 3160 7161 3162 3163 3164 3165 2166 3167 3168 3169 3170 3171 3172 7173 2174 3175 1176 3177 3178 3179 2180 3181 000000 010146 0000C2 000019 023737 001506 : NOVALUE 14-Jun-1985 09:33:42 VAX 11 Bliss-16 V4.0-579 SEQ 0260 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC; 17 Page 67 (19 = * @' e s TRy ROUTINE DM_RETPKT 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. (HE I/0 DONE QUEUE (I00Q@) ACTS AS THE LINK BETWEEN THE TWO PROGRAM PARTS; IT HOLDS INDECES OF RETURN PACKETS WHICH REQUIRE PROCESSING. I 0 B I DG IS IO D 317 313 FHRDWWWWNELLDLELLWLLLLLLLLBUWWLWWWWRINR F 1o o 16 bt pb po 10 (o (o o jo o bt ps po ®9 S5 0% B TE W B9 A S0 G0 B W5 @5 B0 1 B B SE O8G0 0 T OF G O3 B0 GI B0 GP G L BT CF G0 UT G0 GF G0 B0 W9 G €0 B 00 00 S0 OS¢ <0 @6 O v0e.0 14-Jun-1985 09:41:21 UNDER THE DM EXERCISER SUBTEST, RETURN PACKETS ORIGINATE FROM TWO SOURCES: 1. DUP - DESCRIBING AN END MESSAGE RECEIVED FROM THE RC25 IN RESPONSE 2. THE PROGRAM TO A HOST COMMAND ~DRIVER” DESCRIBING A CONTROLLER ERROR OR COMMAND TIMEOUT. BEGIN WHILE .IODQ_IN NEQU BEGIN RP_INDX RP_ADDR .I0DG_OUT DO = QUT_I00Q (); = RETPKT . (.RP_INDX ! SET_CPAR (.RP_ADDR (CTLR)); LSLUN = _CST_ADDR [OF_UN, P_UNIT]; IF _RP ADDR [CONID] EQLU CID_DRIVER THEN BEGIN CST_ADDR [STATE] = OFFLINE; I/0 DONE QUEUE IS EMPTY GET INDEX OF NEXT RETPKT AND ADVANCE QUT POINTER CALCULATE RETPKT ADDRESS SET UP CURRENT CONTROLLER PARAMETERS GET UNIT NUMBER OF FIRST UNIT IF RETPKT IS FROM PROGRAM 'DRIVER” THEN & RP_LEN & 2); IF .RP_ADDR [MESTYP] EQLU MT_TIMEOUT THEN ERRDF (15, EGD 15, EMS_15); DROP _CTLR (.CCTLR, DU_FATAL); DO UNTIL ! ! ! ! !) IF COMMAND TIMEOUT THEN "MESSAGE RESPONSE TIMEOUT” DROP CONTROLLER’S UNITS MARK CONTROLLER OFFLINE ! OTHERWISE ! ! ! IF RETPKT IS FROM DuUP THEN PROCESS THE END MESSAGE ' RETURN PACKET TO POOL t END ! ROUTINE OM_RETPKT END ELSE BEGIN IF .RP_ADDR [CONID) EQLU CID_DUP THEN DM_MSG (); (RETPKT NOT FROM "DRIVER") END; PUT_RETPKT (.RP_INDX); END; END; .SBTTL DM.RETPKT000000G 0000006 1s: MOV CMP BEQ DOM.RETPKT UNTIL I/0 DONE QUEUE IS EMPTY DM EXERCISER ROUTINES R1,-(SP) I0DQ.IN, I0DQ.QUT S$ ; ; 3132 3150 CZRCO3 v0e2.0 000012 000016 000022 000024 000030 000034 000040 000044 000050 000054 000060 000064 000070 000072 000076 000102 000106 000114 000116 000122 000126 000132 000134 000136 000140 000142 000144 000150 000154 000160 000164 000172 000174 000176 000204 000206 000212 000216 000222 000224 000226 000230 ol3 ;: : CZRCDBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 004737 010037 010046 012746 004737 062700 010037 116016 042716 004737 013700 016003 000301 042701 010137 013700 126027 001030 116000 042700 020027 001004 104455 0C0017 0C0000G 0000006 013716 012746 004737 013700 042760 005726 000406 126027 0€1002 004737 013716 004737 022626 000666 012601 000207 Routine S ze: Maximum staclk 0000006 0000006 JSR JSR ADD MOV MOVB BIC JSR MOV MOV LWAB 0000006 000002 177760 0000006 000000G 000006 177740 0000006 0000006 000003 000003 cMPB BNE Movse 8IC CcMP BNE TRAP .WORD .WORD 0000006 000004 0000006 000000G 100000 000002 000000V 0000006 000000G 000002 2$: 3s: 43. .WORD MoV MOV JSR MoV BIC TST BR CMPB BNE (SP)+ 43 3(RO), 42 43 PC,DM.MSG RP_INDX,(SP) PC,PUT.RETPKT JSR MoV JSR 5s%: 77 words, Rout ine Base: depth per ‘nvocation: S words cMP BR (SP)+,(SP). 1 MOV RTS $CODE$ (5P)+,R1 PC . 5020 Page 68 (19) 3153 ; RP.INDX, s 3154 H 3155 H 3156 H 3157 : 3161 : 3163 H 3164 H 3165 CST.ADDR,RO 6(RO),RL R1 @177740,R1 R1,LSLUN RP .ADDRRO , 3(RO), #3 3 2(R0O),RO 9177417,R0 RO, #100 23 55 17 EGD. 1S EMS. 15 CCTLR, (SP) 44, -(SP) PC,DROP.CTLR CST.ADDR,RO #100000,2(R0O) SEQ 0261 H 2(RO?, (SP) BIC V4.0-579 USER$1:(AZTEC.CZRCOBICZRCD3.5RC;: 17 177760, (SP) PC,SET.CPAR MoV MoV 000002 177417 000100 VAX-11 Blisse-16 PC,0UT.I00Q RO,RP. INDX RO, (SP) 260, -(SP) PC,BLS$MUL QRETPKT,RO RO,RP.ADDR MoV MOV MOV 000060 0000006 0000006 000003 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 H 3159 ; 3157 H 3171 H 3173 : 3177 : 3151 : 3150 : 3132 CZRCO3 CZRCDBO RC25 DISK EXERCISER OM EXERCISER ROUTINES TM ] 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 31238 RCUTINE DM_MSG : NOVALUE = VAX-11 Bliss-16 v4.0-579 ’ THIS ROUTINE IS CALLED BY DM_RETPKT FOR ALL DUP END MESSAGES RECEIVED 8Y THE DM EXERCISER. THIS ROUTINE FIRST CHECKS THE STATUS CODE OF INDICATES ANYTHING OTHER THAN SUCCESSFUL THE END MESSAGE; THEN A DEVICE FATAL ERROR IS DECLARED FOR THE CONTROLLER, IF THE STATUS CODE INDICATES SUCCESS, COMMAND). "EXECUTE SUPPLIED PROGRAM" END MESSAGE, PROCESSING IS DEPENDENT ON THE ENDCODE FORMATS FOR THE AND SENDS A ‘SEND DATA“ WITH THE HOST ADDRESS OF (OPCODE OF MESSAGE, THE CURRENT COMMUNICATION BLOCK (DM_COMM). IF IT COMPLETION OF THE COMMAND, UNITS ARE DROPPED. AND ALL ITS THEN THE ASSOCIATED PROVIDING THE THIS ROUTINE FRONT PANEL CONTROLLER’S DM EXERCISER 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 BEGIN LOCAL MX : WORD, DUP_OP : WORD, UNIT : WORD; IF (ST_CODE = THEN BEGIN .RP_ADDR [STATUS}) NEQU ST _SUC ERRDF (21, EGD_21, DROP _CTLR (.CCTLR, ELSE ! MSCP ENVELOPE INDEX ! ! IF STATUS CODE NOT SUCCESS THEN ! ! "DUP COMMAND FAILED” DROP CONTROLLER'S UNITS ! OTHERWISE ! GET OPCODE ! ! EMS_21); DU_FATAL); DUP OPCODE UNIT NUMBER END BEGIN OUP_QP = _RP_ADDR [ENDCOD) SELECTONEU .DUP_OP OF SET [OP_ESP] : AND CP_MSK; BEGIN MX = GET_ENV MSCP_ENV MSCP_ENV MSCP_ENV (.CCTLR); [.MX, [.MX, [.MX, CONNID] OPCODE] DBC_LO] = CID_DUP; = OP_SND; = 2; MSCP_ENV [.MX, DBUF 0] = DMC_ADDR; IF SEND (.MX) EQLU FAILURE THEN PUT _ENV (.MX); END; - SUCCESS IF “EXECUTE SUPPLIED PROGRAM* GET AN MSCP ENVELOPE CONNECTION ID (DUP) OPCODE = SEND DATA BYTE COUNT ADDR OF ADDR OF CTLR'S DM_COMM AREA ATTEMPT TO SEND. IF FAILURE THEN RETURN ENVELOPE TO POOL END - IF SEQ 0262 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC; 2 > 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 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 w;u:-bla&-auh8-anbJb&LMuuxcuuuxnauuxcuuudcdh:&nuna&HUN)AHUrar-Htaboww‘»-wu*r-wwarown—ronuauouna ..-t.n.n-‘.llu.t.'.'l..l.l.'..QQ!I.OOl.l.l.c-tIO.'.I...o.t.o-t.....o.o.lflo.lloll..'l.l.'.l.i'!.......'...‘...n“fi v0e.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 “EXECUTE SUPPLIED PROGRAM' Fare $9 B CZRCD3 CZRCOBO RC25 DISK EXERCISER DM EXERCISER ROUTINES 3239 3240 3241 3242 3243 3244 3245 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 = ; : PO W W v02.0 {OP_SND) DM TIMR [.CCTLR) = TO_DM; ! IF "SEND DATA", START FPT SANITY TIMER TES; END; END; 010146 013700 000000G 016037 000016 000000G 001413 104455 000025 0000006 0000006 013746 0000006 012746 000004 004737 0000006 000447 013700 0000006 116000 000014 042700 177600 020027 0000C2 001040 013746 0000006 004737 0000006 010001 010116 012746 000104 004737 0000006 112760 000002 000007G 112760 000004 0000206 012760 000002 0000246 012760 000000G 0000306 010116 004737 0000006 005700 001003 010116 004737 0000006 022626 000411 020027 000004 001006 013700 0000006 006300 012760 000550 000620 012601 000207 Routine 5ize: Maximum stack : SEQ 0263 VAX-11 Bliss-16 v4.0-579 Page 70 USER$1:[AZTEC.CZRCDB]CZRCD3.SRC;17 (20) 14 Jun-1985 09:41:21 14-Jun-1985 09:33:42 DM .MSG: .SBTTL MOV MOV MOV JSR B8R MOV Move 8IC CMP BNE 14(RO),RO 3s CCTLR, -(SP) 3182 3211 3215 3216 : *,DUP.OP : PC.BLSMUL 92 ,MSCP.ENV+7(RO) 94 ,MSCP.ENV+20(RC) %2 ,MSCP.ENV+24(RO) 4DMC . ADDR,MSCP .ENV+30(R0) R1,(SP) PC,SEND RO 2% R1,(SP) PC,PUT _ENV 3213 3222 *,0UP.0P : DUP.OP,s 3226 3228 PC.GET.ENV RO,R1 R1,(SP) JSR TST BNE MOV JSR CMP BR CMP BNE MOV ASL MOV MOV RTS $CODE$ DM.MSG DM EXERCISER ROUTINES R1,-(5P) RP.ADDR,RO #177600,R0 RO, %2 MOV MOV MOV 70 words, Routine Base: depth per invocation: 4 words = SUCCESS CCTLR, -(SP) JSR MOV MoV MoV JSR MOvVB Move 44 : ROUTINE DM_MSG IF STATUS CODE 44,-(SP) PC.DROP.CTLR 24 RP.ADDR,RO MOV 3s: ! - EMS. 21 MOV 2%: END 16(R0),ST.CODE 1$ 55 25 EGD.21 BEQ TRAP .WORD .WORD .WORD MOV 1$: ! 3229 ;i MX, & 3230 3231 3232 3233 MX,» 3235 DUP.OP,» 3226 3223 3239 (SP)+,(SP)+ ; CCTLR,RO RO #550,0M. TIMR(RO) (SP)+,R1 PC + 5252 3182 CZRCD3 CZRCOBO RC25 DISK EXERCISER OM EXERCISER ROUTINES H H H H : : H : : : H H H H H : H : H H : : H : : H : : H H ; : : : : ; 3246 3247 3248 3249 3250 3251 3252 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 1281 000000 000004 000010 000014 000022 000024 000030 000032 000036 000040 000042 HNNNNolulouflouuNNNNmmmmo—-»»—-o—-o—-o—u—-v—-wn—-pwp»fl-»» v0e.o0 004137 012702 013700 012760 010001 005761 001403 005060 005002 010200 000207 ; Routin e Size: e ; Maximum stack ROUTINE DM ACC SEQ 0264 VAX-11 Bliss-16 V4.0-579 Page 71 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (21) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 = e ! ! ' ! ! 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 (1.E., IF THE FRONT PANEL TEST (FPT) IS NOT CURRENTLY UPDATING DM_COMM STATISTICS), THEN THIS ROUTINE RETURNS A VALUE OF “SUCCESS". OTHERWISE, ACCESS IS DENIED AT THIS TIME, AND "FAILURE” IS RETURNED. |] ' ! IMPLICIT INPUTS: DMC_ADDR [] ! - ADDRESS OF CURRENT CONTROLLER'S DM_COMM AREA QUTPUTS: ! ! *SUCCESS" “FAILURE” | . - ACCESS TO DM_COMM IS PERMITTED ACCESS TO DM_COMM IS DENIED BEGIN LOCAL RESULT RESULT : WORD; ! = SUCCESS; ! PMC_ADDR [HOST _ACC] = ALL_ONES; IF _DMC_ADDR [FPT_ACC) NEQU O THEN BEGIN OMC_ADDR [HOST_ACC] RESULT = FAILURE; ! ! ! = 0; ! RESULT OF ACCESS REQUEST ASSUME ACCESS WILL BE GAINED SET HOST ACCESS WORD IF FPT HAS ACCESS NOW THEN WITHORAW ACCESS REQUEST ! CHANGE RESULT TO FAILURE ! ROUTINE DM_ACC END; RETURN .RESULT; END; 0000006 000001 000000G 177777 OM.ACC: 000062 000062 1¢: 18 words, DM.ACC DM EXERCISER ROUTINES R1,$SAVEZ #1,R2 DMC.ADDR,RO : : : *,RESULT 3246 3268 3269 MOV TST BEQ CLR CLR RO,R1 ; DMC.ADDR,* 3270 : ; RESULT 3274 3275 MOV 000060 depth per .SBTTL JSR MOV MOV Routine Base: invocation: 4 words #-1,62(R0O) 60(R1) 13 62(RO) R2 MOV R2.R0O RTS $CODE$ PC + S466 : ; ; RESULT,* 3263 3246 CZRCD3 CZRCDBO RC2S DISK EXERCISER OM EXERCISER ROUTINES L ° 1] . ¢ . . Y 1] . . ’ . * L) . L] . . . L[] - 1) . L[] . ’ . 1] - L4 . 1) - L Y 1) . . - L[] . * . . . L) . ] - [ - Ld . . . * - * . » . * - . . L . [ . L) - L4 . . Py ] - [ - ] » * - . . L) . [ . [ . [ . ] . LJ . [ P [ . e Py . - ’ . ’ . [ 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 ROUTINE DM_TALLY : NOVALUE = * » PEL LR L PP P L LR LR P L LD DLELLDBGGWGHNIININIRIIIRIN ke e o 1 s s s 1o s s o o 2 s (ot o o bt pe pa v02.0 SEQ 0265 VAX-11 Bliss-16 V4.0-579 Page 72 USER$1:(AZTEC.CZRCDBICZRCD3.SRC; 17 (22) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 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 OM), 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 I35 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. IMPLICIT INPUTS: DMC_ADDR - ADDRESS OF THE CURRENT CONTROLLER'S DM_COMM AREA BEGIN LOCAL ST_PTR, NBXFR : ST PTR = ! ! STATISTICS POINTER IN DM_COMM NUMBER OF BLOCKS TRANSFERRED ! POINTS TO STATS FOR FIRST UNIT WORD; _DMC_ADDR + 8; INCR OFFSET FROM 0 TO 3 DO BEGIN IF _DMC_ADDR THEN BEGIN [.OFFSET, SET_UPAR (.OFFSET ! O, 16, + OF _UN); UPD_IOC (T_ADDR [SEEK_LOJ], .ST_PTR = 0; ST_PTR = .ST_PTR 1] GEQ © ..ST_PTR): FOR EACH UNIT ! ! IF UNIT IS BEING DM-EXERCISED THEN ! SET UP UNIT-RELATED PARAMETERS ! UPDATE NO. OF SEEKS ! RESET STAT 70 © ADVANCE DM_COMM POINTER NBXFR = ..ST_PTR; UPD_IOC (T_ADDR [READ_LOJ], ..ST_PTR); UPD_DMBC (T_ADDR [BR_LOJ, ..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 0 ADVANCE DM_COMM POINTER NBXFR = _NBXFR + . .ST_PTR; UPD_IOC (T_ADDR [WRIT_LOJ], ..ST_PTR); UPD_DMBC (T_ADDR ([BW_LO], ..ST_PTR); .ST_PTR = 0; ! ! ! ST_PTR = .ST_PTR + 2; + 2; T_ADDR [ER_SFT] = .T_ADDR .ST_PTR = 0; ST_.PTR = .ST_PTR + 2; HARD_ERR (..ST_PTR); ] 1} ] ' [ER_SFT) + ADD NUMBER UPDATE NO. UPDATE NO. RESET STAT OF OF OF T0 BLOCKS WRITTEN (1 BLOCK PER WRITE) WRITES BYTES WRITTEN, CHECK FOR OVERFLOW O ADVANCE DM_COMM POINTER ..ST_PTR; ' UPDATE NO. OF DM SOFT ERRORS ! RESET STAT T0 0 ! ADVANCE DM_COMM POINTER ! UPDATE HRD ERR CNT + CHK FOR LIMIT CZRCD3 CZRCDBO RC2S DISK EXERCISER OM EXERCISER ROUTINES NTOAVVLLLLD 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 e W we we w5 0c w e oo oo 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 POV UWWWELELEEANIUI v02.0 = ST _PTR + 2; IF _NBXFR NEQU O THEN BEGIN IF MANUAL THEN PRINTF (MSG_08, .NBXFR, @t e 80 s @0 @1 e @1 @ €1 @0 ®0 @ @0 0 D DL .ST_PTR = 0; ST_PTR DM_TIMR ELSE RESET STAT T0 O ADVANCE DM_COMM POINTER ! ! IF A COMPLETE PASS HAS BEEN MADE THEN ! ! .LSLUN, .CPLAT); TO_DM; ' IF ATTENDED THEN ! "XXXXX. BLOCKS TRANSFERRED ON UNIT XX. (PLATTER XX RESET FPT SANITY TIMER XFR_CHK (); ! CHECK IF TRANSFER LIMIT REACHED END ! ! ! END - IF UNIT IS BEING OM-EXERCISED OTHERWISE ADVANCE DM_COMM POINTER TO NEXT BLOCK ! UNIT LOOP ! TELL FPT THAT WE ARE LEAVING ! ROUTINE DM_TALLY ST_PTR = _ST_PTR + 10; END; OMC_ADDR [HOST_ACC] = 0; END; 004137 000000G 000004 000010 013701 062701 0000006 000010 005002 010200 006300 063700 005710 002520 010246 062716 004737 013716 062716 011146 004737 005021 011103 013716 010346 004737 013716 062716 011146 004737 005021 061103 013716 = ! ! END; 000000 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 [.CCTLR) SEQ 0266 VAX-11 Bliss-16 V4.0-579 Page 73 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (22) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 000000G 000003 000000G 0000006 000010 0000006 0000006 000000G 0000006 000014 .SBTTL DM.TALLY: JSR MOV ADD CLR 1%: MOV ASL ADD TST BLT MOV ADD JSR MOV ADD MOV JSR CLR MOV MOV DOM.TALLY DM EXERCISER ROUTINES R1.$SAVE3 DMC.ADDR,R1 #10,R1 R2 R2,RO RO OMC.ADDR,RO (RO) 4 R2,-(SP) #3,(SP) PC,SET.UPAR T.ADDR,(SP) #10,(SP) (R1),-(SP) PC,UPD.IOC (R1). (R1),R3 T.ADDR,(SP) 000000V JSR MOV ADD MOV JSR PC,UPD.IOC T.ADDR,(SP) #14,(SP) (R1),-(sP) PC,UPD.DMBC 0000006 ADD MOV (R1),R3 T.ADDR,(SP) CLR (R1)-» H ; ; : #,ST.PTR *,ST.PTR OFFSET : OFFSET, % 3309 3312 ; OFFSET, s 3316 H : ;i ; : 3318 ST.PTR,» ST.PTR ST.PTR,NBXFR : : 3319 3322 3323 3324 ST.PTR,s : ST.PTR : H 3282 3308 ST.PTR,NBXFR 3325 3328 3329 CZRCD3 vo2.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 RC2S DISK EXERCISER DM EXERCISER ROUTINES 062716 011146 004737 013716 062716 011146 004737 005021 013700 061160 005021 011116 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 Routine Size: 000004 0000006 0000006 000022 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ADD MOV #4,(5P) JSR PC,UPD.IOC T.ADDR, (SP) @22,(SP) (R1),-(SP) 000000V MOV ADD MOV JSR PC,UPD.DMBC 000000G 000034 MOV ADD T.ADDR,RO (R1),34(R0) 0000006 MoV JSR CLR CLR 000010 000000G 2%: 000550 000620 000000G 000014 3s: 000012 44 000003 0000006 000062 S$: ; ST.PTR H (R1)« (R1),(SP) ST.PTR,s ; : ST.PTR ST.PTR,» (R1)+ ; ST.PTR : NBXFR 5¢ R2 R2,43 1 DMC.ADDR,RO 62(RO) PC + ST.PTR,» : #12,R1 CLR 104 words, Rout ine Base: $CODE$ invocation: 16 words 3330 (R1)+ CCTLR,RO RO #550,0M. TIMR(RO) PC.XFR.CHK #14,5P RTS Maximum stack depth per ; ; SP,RO 17 #10,5P TRAP ADD MOV ASL MOV JSR ADD BR ADD INC CMP BLE MOV ST.PTR,» (R1),-(SP) R3 3 50 24 CPLAT, (SP) LSLUN, -(SP) R3,-(SP) #MSG.08,-(SP) MOV MoV MOV MOV MoV MOV 000000G 000004 ; PC,HARD.ERR CLR TST BEQ TRAP BHIS 0000006 0000006 SEQ 0267 VAX-11 Bliss-16 v4.0-579 Page 74 USER$1:{AZTEC.CZRCDBICZRCD3.SRC;17 (22) 5532 3331 3334 33135 3338 3339 3342 ; 3346 H 3348 ; NBXFR,s ;: SP.,» H 3349 : 3353 H 3314 : ; *,ST.PTR 3312 3357 ; OFFSET 3309 H 3361 H 3282 ; OFFSET,» CZRCD3 CZRCDBO RC2S DISK EXERCISER OM EXERCISER ROUTINES 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 INPUTS; ADDR COUNT NOVALUE = - TALLY ADDRESS OF THE LOW-ORDER FIELD OF THE NUMBER OF BYTES READ OR WRITTEN FOR THE CURRENT UNIT - THE NUMBER OF READ OR WRITE OPERATIONS PERFORMED BY THE FP BEGIN INCR I FROM 1 TO BEGIN .COUNT DO ' 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 OVF _CHK (.ADDR); ! ONE MORE TIME END; ! ROUTINE UPD_DMBC 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: Maximum stack : 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 CURRENI 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 NGT FEASIBLE BECAUSE A 16 BIT OVERFLOW WOULD OCCUR). 000000 ; ; COUNT) * VB B I P W LD Dt s ROUTINE UPD_DMBC (ADDR, U I D 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 o-NmmNwwuuuuummmv—-v—-o—-w.—-rao-'-v-o—»-t-o-t-o-r-o- v02.0 SEQ 0268 VAX-11 Bliss-16 V4.0-579 Page 75 USER$1:[AZTFC.CZRCDB)CZRCD3.SRC;17 (23) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 001000 141520 .SBTTL 000000G 000010 UPD.DMBC DM EXERCISER ROUTINES UPD.DMBC: JSR MOV CLR 1%: 2$: 000000G 24 words, Routine Base: depth per invocation: 5 words R1,$SAVE2 12(sP),R1 R2 BR ADD cMp 23 #1000, (R1) (R1),#4141520 8LO MOV JSR TST INC CcMP BLE MOV JSR 1ST RTS $CODES$ I/0 OPERATION COUNT LOOP 24 R1,-(SP) PC,OVF .CHK (SP)« R2 R2,10(SP) 13 R1,-(SP) PC,OVF .CHK (SP)« PC + 6052 H ; i ADDR, s I 3364 3386 3383 ; : 3386 3387 H 3389 i : I I,COUNT 3383 ; 3393 : : 3381 3364 CZRCD3 v02.0 : H : : : ; H ; : H H H H H ; H : : H ; : : H H : H H : H : : H H : : : H 3400 34301 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3327 3428 3429 3430 343) 3432 3433 3434 3435 3436 000000 000002 000006 000010 000014 000016 000020 000022 000024 000030 000034 000036 000042 010146 013700 006300 062700 005710 001433 005310 001031 013700 016001 000301 042701 010137 ROUTINE DM_TIME : NOVALUE SEQ 0269 Pa ge 77 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (24) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 VAX-11 Bliss-16 v4.0-579 = * 3396 3397 3398 3399 HRLWNNELELELDDWWWWMNNINININ - s 1t s po s s o s (2 48 b }> 1o 2 et ot ot s : H H : CZRCDBO RC25 DISK EXERCISER OM EXERCISER ROUTINES THIS ROUTINE IS CALLED ONCE PER SECOND FOR EACH CONFIGURED CONTROLLER 8Y 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, ERROR IF THE TIMER REACHES ZERO. AND DECLARES AN INPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST BEGIN IF .DM_TIMR THEN BEGIN [.CCTLR] NEQU O DM_TIMR [.CCTLR]) = .OM_TIMR [.CCTLR) IF .DM_TIMR [.CCTLR] EQLU O THEN BEGIN LSUNIT = _CST_ADDR ERRDF (22, EGD_22, DROP_CTLR (.CCTLR, CST_ADDR [STATE) = - 1; ! ! IF TIMER IS ACTIVE THEN ! ! ! DECREMENT IF TIME HAS EXPIRED THEN [OF _UN, P_UNIT]; EMS_22); DU_FATAL); OFFLINE; GET DS UNIT NUMBER OF FIRST PLATTER UNDER CONTROLLER ‘DM EXERCISER TIMEOQUT* DROP ALL CONTROLLER'S UNITS MARK CONTROLLER OFFLINE END; END; END; 000000G 000620 000000G 000006 177740 000000G ! .SBTTL DM, TIME : MOV MOV ASL ADD TST BEQ OEC BNE MOV MOV SWAB B8IC MOV ROUTINE DM_TIME DOM.TIME DM EXERCISER ROUTINES R1.-(SP) CCTLR,RO RO 40M.TIMR,RO (RO) 1 (RO) 1s CST.ADDR,RO 6(RO),R1 R1 #177740,R1 R1,LSUNIT : : 3396 3418 : : : 3422 3423 3427 CZRCD3 CZRCOBO RC25 DISK EXERCISER OM EXERCISER ROUTINES v02.0 000046 000050 000052 000054 000056 000062 000066 000072 000076 000104 000106 000110 ; ;: ho— 104455 000026 0000006 0000006 013746 012746 004737 013700 042760 022626 012601 000207 000000G 000004 0000006 000000G 100000 000002 1%: 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 TRAP .WORD .WORD .WORD MOV MOV JSR MOV 8IC CMP MOV RTS Routine Size: 37 words, Routine Base: $CODES$ Maximum stack depth per invocation: 4 words 55 26 EGD. 22 EMS.22 CCTLR, -(SP) PC,DROP.CTLR CST.ADDR,RO 4100000, 2(R0O) (SP)+,(SP). (SP)+,R1 PC + 6132 VAX-11 Bliss-16 V4.0-579 SEQ 0270 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 H Page 78 (24) 3428 ; 3429 H 3430 : 3425 H 3396 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES CZRCD3 - SEQ 0271 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 ‘MULTI-DRIVE SUBTEST ROUTINES' : NOVALUE = * ROUTINE MULTI_DRIVE I e B 'S e 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 RC25 DRIVES WOULD PERFORM IN AN OPERATING SYSTEM ENVIRONMENT. Y Y YD 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. D IR R F 1= o s o s pb s b pd pb (b pob b b pt Pt s ®SBTTL VNIUNNIUNUVIND LB BWWWNRMN NN 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 BEGIN IF MANUAL THEN PRINTF (MSG_05); MD_INIT (); ' ! ! ! IF ATTENDED THEN "MULTI-DRIVE SUBTEST START" INIT MULTI-DRIVE SUBTEST DATA 00 ! START OF EXECUTIVE LOOP BEGIN INCR CTLR FROM 0 TO (.CTLR_CNT BEGIN - 1) DO SET_CPAR (.CTLR); IF QI0_0K () EQLV TRUE THEN BEGIN QIO_GEN (); ELSE QIO (.CTLR) = ! FOR EACH CONTROLLER ' ! ' SET UP CURRENT CONTROLLER PARAMETERS IF 0.K. TO ISSUE QIO(S) TO THIS CONTROLLER THEN ! GENERATE 1 OR 2 QIOS IF .MX1 GEQ 0 THEN BEGIN ! ! IF SEND (.MX1) EQLU SUCCESS THEN ROV W @ W s W Gs Be ©T Br B B9 BT B B BT GBS W TE B2 VI Be T VT e G5 WI T VS Ve Ve Ve We Ve Ve VS VE W W VT VL Ve Ve B> Ss Vs Cs Vs W6 W6 T Ve _Ws Vs Se We @e Be v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .QI0 [.CTLR] « IF SUCCESS ON FIRST QIO THEN 1 PUT_ENV (.MX1); ! ! ATTEMPT TO SEND IT. THEN ! ! OTHERWISE RETURN ENVELOPE TO POOL ' IF SUCCESS INCR OQUTSTANDING QIO COUNT END; IF .MX2 GEQ O THEN BEGIN ' ! IF SEND (.MX2) EQLU SUCCESS THEN QIO {.CTLR] = .QI0 [.CTLR) IF SUCCESS ON SECOND QI0 THEN ! + 1 ! ATTEMPT TO SEND IT. THEN IF SUCCESS ! INCR OUTSTANDING QIO COUNT Page 79 25) CZRCD3 V0.0 : H 3 3 H : H i H : $ : ] H H H 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 FPRORNUWWWHRHEHNWWNDEBLBDNIVNANOD : s : : : : s CZRCOBO RC25 DISK EXERCI SER MULTI-DRIVE SUBTEST ROUT INES 000000 004137 000004 000006 000010 000014 000020 000022 000024 000026 000032 000036 V00040 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 0100:6 004737 020027 001003 105261 000404 013716 004737 013700 002415 ELSE SEQ 0272 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ! PUT_ ENV (.MX2); ! VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDOBJCZRCD3.SRC;17 Page 80 (25) OTHERWISE RETURN ENVELOPE TO POOL END; END; ! 0.K. IF .DCT_AODDR [STAT) EQLU ONLINE THEN INT_PROC (); ! IF CONTROLLER IS C ‘LINE THEN PROCESS ANY INTERRUPTS END; ! CONTROLLER LOOP TO ISSUE QIO0(S) PROC_RETPKT (); IF .T_FLAG EQLU TRUE THEN DRV_TIMCHK (); ! ! ! ! PROCESS ANY RETURN PACKETS IF ONE SECOND HAS ELAPSED THEN CHECK QUTSTANDING COMMAND TIMERS END ! EXECUTIVE PROCESSING LOOP UNTIL MD_QUIT (); ! UNTIL ALL UNITS ARE FINISHED END; ! ROUTINE MULTI_DRIVE 0000006 000000G 000001 000000V 0000006 0000006 000000V 000001 .SBTTL MULTI.DRIVE: JSR TRAP BHIS MOV MOV MOV TRAP CMP 1s: JSR 2%: MOV 3s: JSR JSR CMP BNE 000000V 000602° 0000006 000001 0000006 000602 0000006 000604 CLR BR MOV JSR MOV BLT MOV JSR cHP BNE INCB B8R 43 MOV Ss: JSR MOV 8LY MULTI.DRIVE MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE?2 H H 3439 3458 #MSG.05, -(SP) H 3460 SP,RO : PC.MD.INIT : SO 14 17 (SP)+,(SP)» CTLR.CNT,R2 R1 94 R1,-(SP) PC,SET.CPAR PC,QI0.0K RO, 01 78 SP,s CTLR H CTLR,» 3461 3466 3469 3 3470 PC,.QI0.GEN MX1,R0O : H 3474 3475 RO,(SP) PC.SEND F 3479 S P0,01 43 QIO(R1) Ss Mx1,(SP) PC,PUT.ENV Mx2,R0 18 3 s s(CTLR) : 3481 3479 3483 H 3487 - C2RCO3 CZRCOBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000134 000136 000142 000146 000150 000154 000156 000162 000166 000172 0001’4 080200 000202 000204 008206 000220 000214 000222 000224 000230 000234 000236 000240 010016 004737 020027 001003 105261 000404 013716 00473~ 005777 100002 00473 005726 005201 020102 002715 004737 123727 001002 004737 004737 006000 103275 000207 : Routine Size: ;s Max mum stack MOV 0000006 000001 0000006 000604 0000006 0000006 6s: 78: 000000V 8%: 9s: 000000V 000000G 000001 000000V 000000V 14-Jun-1985 09:41:21 14 Jun-1985 09:33:42 JSR CMP BNE INCB B8R MOV JSR TST BPL JSR TST INC cMp BLT JSR cMPB BNE 10¢: 81 words, Routine Base: depth per ‘nvocation: 7 words RO,(SP) PC,SEND RO, 01 63 QIO(R1) 79 Mx2,(SP) PC,PUT ENV 80CT.ADDR 8s PC,INT.PROC (SP). SEQ 0273 Page 81 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (25) VAX-11 Blies-16 V4.0-579 s : 2491 «(CTLR) H 1397 349} H 3435 : 3501 H 503 H 3467 R1 R1,R2 ; PC,PROC.RETPKT T.FLAG,#1 H 1507 P 3508 ; 3510 H 3514 : 2439 I3 10¢ JSR JSR ROR 8CC RTS PC $CODES + 6244 PC,DRV, TIMCHK PC,MD.QUIT RO ; CTLR CTLR,» 3466 ~e -? CIRCD3 v0e.0 H H : : 4 H : H : L] H : : 3 : H H H L4 H : H H H H H : H : H H H : H H 3 H H : H 4 4 H i ‘ H 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 354 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 2557 3558 2559 3560 2561 3562 3563 3564 nd 000000 000004 000010 000012 000016 000022 HI\)N!\)NI\)NNNNNNNU‘WNNU‘U‘#&U'IU!U'U'U'U'&U'IUIM&O(NWMNNNNNM’-HD—HMH 3 3 CZRCOBO RC25 DISK EXERCISER MULTI-ORIVE SUBTEST ROUTINES 004137 004737 005002 153702 020227 001441 RCUTINE MD _INIT . NOVALUE 14-Jun 14 Jun SEQ 0274 VAX-11 Bliss-16 V4.0-579 Page 82 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (26) 1985 09:41:21 1985 09:33:42 = HES ! THIS ROUTINE IS CALLED BY ROUTINE MULTI_DRIVE TO INITIALIZE DATA ITEMS USED By THE MULTI DRIVE SUBTEST. '- 8EGIN INIT_IO0 BUFF (); IF _ENTRY_REASON NEQU NEW_PASS THEN BEGIN INCR UNIT FROM O TO (MAX_UNITS BEGIN IF 1) DO ! ! ! PARTITION FREE MEMORY INTO I/0 BUFFERS IF START, RESTART, CONT, PWR FAIL THEN ! FOR EACH UNIT CC.ENTRY_REASON LEQU RESTART) OR THEN (.BST [.UNIT, (.BST [.UNIT, TRACK] LSSU .SWP_STRACK) OR TRACK] GTRU .SWP_ETRACK)) BEGIN ! IF START OR RESTART OR ! IF USER CHANGED TRACK LIMITS ! THEN BST [.UNIT, TRACK] = .SWP_STRACK; BST [. UNIT, SECTOR]) = 0O; DPST [.UNIT] = DP_CNT; INITIALIZE BLOCK SEQUENCE TABLE (USED ONLY FOR SEQUENTIAL LBN MODE) INITIALIZE DATA PATTERN SEQUENCE TABLE (USED ONLY IF END; END; END; If ((.ENTRY_REASON NEQU CONT) AND THEN (.ENTRY_REASON NEGU PWR_FAIL)) ! END UNIT LOOP ! END ! IF START, INCR COUNT FROM O TO ((MAX_UNITS & TALLY_LEN) TALLY [.COUNT] = 0; INCR COUNT FROM O TO ((MAX_CTLR & RPS_LEN) RP_SAVE [.COUNT] = -1; INCR COUNT FROM O TO (.NUM_BUFF - 1) DO BUFF _OWN [.COUNT) = -1; IF _MEM_MGMT - 1) DO - IF START, 1) DO ! RESTART, RESTART, ! ! “PATTERN 0" WAS SELECTED) CONT, PWR FAIL OR NEW PASS THEN CLEAR ALL STATS INITIALIZE RETPKT MMRO = 1; T_FLAG = FALSE; ! ! ! ! ! ! ! SAVE AREA INITIALIZE I/0 BUFFER ALLOCATION TABLE IF SYSTEM HAS MEMORY MANAGEMENT THEN ENABLE RELOCATION FLAG TO CALL DRV_TIMCHK EVERY SECOND END; ! ROUTINE MD_INIT THEN 000000G 000000V 0000006 000005 .SBTTL MD.INIT:JSR JSR CLR BISB CHP BEQ MD.INIT MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE?2 PC,INIT.IO.BUFF R2 ENTRY.REASON,R2 R2,45 44 i ; : 3517 3526 3527 CZRCD3 CZRCDBO RC25 DISK EXERCISER vd2.0 000024 000026 000032 000034 000036 000040 000042 000050 000052 000054 000056 0C0060 000066 000070 000072 00074 000076 000104 000110 000116 000120 000124 000126 000132 000134 000140 000142 000144 000150 000154 000160 000162 000164 000172 000174 000200 000202 000204 000206 000214 000216 000222 000224 000232 000234 000242 000246 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MULTI-DRIVE SUBTEST ROUTINES 035001 020227 101416 010100 006300 006300 026037 103407 010100 006300 006300 026037 101413 010100 006300 006300 013760 005060 112761 005201 020127 003740 020227 0C1413 020227 001410 005000 005060 062700 020C27 003771 005000 112760 005200 020027 003771 005000 000404 112760 005200 020037 002771 132737 001403 012737 105037 000207 000002 000442 000442 18: CMP BLO MoV ASL ASL 0000006 2%: 000000G 000442 000440 000025 000540 000003 43 : 0C0004 000000G 000002 001376 000377 Ss: 6%: 78: 000037 000377 000000G 0000006 000001 MOV ASL ASL Mov MovB INC cMp BLE CMP BEQ CcMP BEQ CLR CLR 8s: 9% 0000006 000001 177572 000000G 10s: 3531 3534 ; UNIT,» 31535 ; UNIT,s 3536 ; UNIT,= 3540 ; &,#(UNIT) ; UNIT 3542 3531 : 3550 ; ; UNIT, s 3541 3551 CMP BLE CLR RO TALLY(RO) #2,RO RO, #1376 ; COUNT ; #(COUNT) ; #,COUNT #377,RP.SAVE(RO) RO RO, €37 78 RO 93 4377 ,BUF . OWN(RO) F RO RO ,NUM ., BUFF 8s 91 ,MEM_MGMT 10 : &,%(COUNT) ; COUNT 3556 3555 ; COUNT 3557 ; 3558 5 RO Move INC cMp BLE CLR B8R MOV INC CcMP BLT 81718 8EQ MOV #1,84177572 CLRB RTS ; Routine Size: 84 words, Routine Base: $CODE$ ; Maximum stack depth per invocation: 4 words (26) : ADD 0000006 ; R1,RO CLR 3s: ; UNIT RO RO BST+2(RO), SWP.ETRACK 3 R1,RO RO RO SWP.STRACK,BST+2(RO) BST(RO) 925,0PST(R1) R1 R1,217 CHP 8LOS SEQ 0275 Page 83 USER$1:(AZTEC.CZRCDBICZRCD3.SRC;:17 R1 R2, 42 24 R1,RO RO RO BST+2(RO), SWP.STRACK 2% MOV ASL ASL 0000006 000017 CLR CHp BLOS VAX-11 Bliss-16 v4.0-579 T.FLAG PC « 6506 ; COUNT, s ; COUNT ; COUNT, s =,4(COUNT) ; COUNT ; COUNT, s H H 3553 3554 3553 3555 3557 3559 3561 ; 3562 H 3517 CZRCD3 CZRCDBO RC25 DISK EXERCISER vo2.0 NOVALUE = 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. IF THIS HOST PROCESSOR HAS MORE THAN 28K (32K) OF MEMORY, THEN ALL AVAILABLE MEMORY OVER 32K (BUT UNDER 124K) IS DIVIDED EQUALLY AMCNG THE NUMBER OF I/0 BUFFERS (4K PER BUFFER MAXIMUM). MEMORY MANAGEMENT REGISTERS ARE SET UP TG MAP ALL VIRTUAL. ADDRESSES TO THE SAME PHYSICAL ADDRESSES (FOR NOW). IF THE HOST PROCESSOR HAS ONLY 28K, THEN THE AMOUNT OF ;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 PROVIDES 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 : WORD; TOP OF NO. OF BUFFER BUFFER WORD, NUM BUFF = _CTLR_CNT & QIO_PER_CTLR; MEM_MGMT = NO; IF .L$HIMEM GTRU 0’2000 THEN BEGIN 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_LON = O; 8D HIGH = 1; / FREE MEMORY (IN PAR FORMAT) 32-WORD BLOCKS PER BUFFER DESCRIPTOR (LO-ORLER) DESCRIPTOR (HI-ORD<R) ! PDR INITIALIZATION WORD CALCULATE NO. OF I/0 BUFFERS NEEDED ASSUME NO MEMORY MANAGEMENT IF MORE THAN 32K OF MEMORY THEN 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 .NUM_BUFF; ! ! ! SEQ 0276 USER$1:[AZTEC.CZRCDBICZRCD3.SRC;17 * : VAX-11 Bliss-16 V4.0 S79 et 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 ROUTINE INIT_IO_BUFF 14-Jun-1985 09:33:42 > 3588 3589 3590 3591 MULTI-DRIVE SUBTEST ROUTINES wwuuwuuwuwuwwummmmmmmmmmmNmmb-r-t-v-o-u-pwwwnnwupwr—wnnpw»no—t—nnn 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 14-Jun-198S 09:41:21 MAX BUFFER SIZE = 4K BUFFER SIZE IN BYTES BUFFERS START AT 32K Page 84 2n CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 : : : H H MULTI-DRIVE SUBTEST ROUTINES 3622 3623 3624 3625 3626 3 3 2 3 3 ELSE 3627 3 3628 3629 3 3 BD_LOW = _FREE_MEM_ADDR; BD_HIGH = 0; 2 END; : : H H H H : : : H : H : 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 : 3645 H : : H ; : : 3646 3647 3648 3649 3650 3651 3652 H 3653 2 / 2 2 3 3 3 3 3 IF .MEM_MGMT THEN BEGIN KTPDR2 KTPDR3 KTPDR4 KTPDRS KTPDR6é KTPDR?7 = = = = = + .KTPDR; _KTPDR; _KTPDR; _KTPDR; .KTPDR; .KTPDR; KTPARO KTPARL KTPAR2 KTPAR3 KTPAR4 = = = = = 0; %0‘'200'; %0'400'; %0'600'; %0’'1000'; 3667 3668 3669 3670 3671 3672 3 3 3 2 2 1 AND %0'177776'; ! START OF BUFFER SPACE ! 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; ! ! MMRO = O; KTPDR = #0'77406'; KTPDRO = _KTPDR; 3 H : : H ; : .NUM_BUFF) BUFF _DESC [.J, BD_LO) = .BD_LOW; BUFF DESC [.J, BD_HI] = .BD_HIGH; TEMP = .BD_LOW; BDO_LOW = .BD_LOW + .BUFF_SIZE; IF .TEMP GEQU .8D_LOW THEN BDO_HIGH = .BD_HIGH + 1; 2 3 3 3 3 3 3 3 3 3 3 3 3 KTPDR1 = 3 IF SYSTEM HAS MEMORY MANAGEMENT THEN ! MAKE SURE MEM MGMT IS OFF ! PDR LOAD VALUE ! LOAD PDR'S _KTPDR; ! LOAD PAR'S KTPARS = %0’'1200°'; KTPARG6 = %0’ 1400'; KTPAR7 = %0’ 7600’ ; END; END; 000000 004137 0000006 0000C4 013700 000000G e ((.MEM_SIZE & 2) INCR J FROM O TO (.NUM_BUFF - 1) DO BEGIN 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 2664 3665 3666 = 2 3 3 3 3 3 3 3 3 3 3 2 : H H ; H H : : ; H : : ; BUFF _SIZE 3 1985 09:33:42 ! OTHERWISE - ONLY 28K OF MEMORY BEGIN : : 14-Jun VAX-11 Blise-16 V4.0-579 END : : : SEQ 0277 Page 85 USER$1:(AZTEC.CZRCDBICZRCD3.SRC;17 27) 14-Jun-1985 09:41:21 ! ROUTINE INIT_IO BUFF .SBTTL INIT.IO0.BUFF: JSR MOV . . INIT.IO.BUFF MULTI-DRIVE SUBTEST ROUTINES R1, $SAVES CTLR.CNT,RO ; ; 3565 3604 - 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 GISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 006300 006300 006300 006300 010037 0000006 105037 0000006 010005 023727 000000G 002000 101441 000001 112737 000000G 0:3700 0000006 020027 007577 101402 012700 007577 010046 162716 001777 010546 004737 0000006 020027 000200 101402 012700 000200 000300 106000 0€6000 006000 142700 000077 010037 000000G 005002 012703 000001 000416 013746 000000G 006316 010546 004737 0000006 010037 000000G 042737 000001 0000006 013702 0000006 005003 005001 000416 010100 006300 006300 010260 0000006 019360 000002G 010204 063702 0000006 020402 103401 005203 005201 020105 002760 132737 000001 000000G 001453 005037 177572 012700 077406 14-Jun-1985 09:33:42 ASL ASL ASL ASL MoV CLRB MOV cMP BLOS MovB MOV cHp BLOS 1s: 2$: MOV MoV sus MOV JSR CcHP BLOS MOV SWAB RORB ROR ROR 8ICB MOV CLR 3s: MOV BR MoV ASL MOV JSR MOV 8IC MoV 44 S$: 6$: 78: SEQ 0278 VAX-11 Bliss-16 V4.0-579 Page 86 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 27) 14-Jun-1985 09:41:21 CLR CLR BR MOV ASL ASL MoV MOV MOV ADD CMP BLO INC INC CHMP BLT 8ITB BEQ CLR MOV RO RO RO RO RO ,NUM BUFF MEM. MGMT RO,R5 L $HIMEM, #2000 3 : ; NUM_BUFF ,» 3605 1615 ; 3606 41 ,MEM.MGMT L $HIMEM,RO RO,#87577 : 13 #7577,R0 RO, -(SP) #1777,(SP) ; &,HIMEM ; HIMEM, » ; : PC,BL$DIV RO, 4200 2% ®,HIMEM HIMEM, s : BLKS.PER.BUFF, & #200,R0 : RO RO RO RO &,BLKS.PER.BUFF 3610 3611 3612 3614 3615 3616 3618 ; 3619 ; BD.LOW ; %,BD.HIGH 3620 3621 #77,R0 RO,BUFF.SIZE R2 #1,R3 44 MEM.SIZE, -(SP) : 3606 H 3627 ; =,BD.LOW ; BD.HIGH i J 3628 3629 3633 VY 3636 (sP) R5,-(SP) PC,BL$DIV RO,BUFF.SIZE 21 ,BU . FF SIZE FREE .MEM.ADDR,R2 R3 R1 78 R1,RO RO RO R2 ,BUFF .DESC(RO) R3,BUFF.DESC+2(R0O) R2,R4 BUFF ,SIZE,R2 R4 ,R2 6$ R3 R1 R1,RS 5% #1 ,MEM.MGMT 8s 84177572 #77406,R0 ; BD.LOW,» ; BD.HIGH, ; BD.LOW,TEMP ; 3637 3638 ; TEMP,.BD.LOW %,B8D.L0W 3639 ; i i BD.HIGH J Jox 3642 3633 H 3646 ; ; 3640 3650 #.KTPDR 3651 CZRCO3 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000264 000270 000274 000300 000304 000310 000314 000320 000324 000330 000336 000344 000352 000360 000366 000374 000402 000404 TM~ K] ;: ;: 010037 010037 010037 010037 010037 010037 010037 010037 005037 012737 012737 012737 012737 012737 012737 012737 022626 000207 Routine Size: Maximum stack 172300 172302 172304 172306 172310 172312 172314 172316 172340 000200 000400 000600 001000 001200 001400 007600 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV MOV MOV MOV MoV MOV MoV MOV 172342 172344 172346 172350 172352 172354 172356 8s¢: 131 words ’ Routine Base: depth per invocation: 9 words CLR MOV MOV MOV MOV MOV MOV MOV cMP RTS $CODE$ RO,88172300 RO,80172302 RO,84172304 RO,80172306 RO,84172310 RO,80172312 RO,84172314 RO, 84172316 80172340 €200,80172342 #400,80172344 #600,89172346 #1000, 84172350 #1200, 80172352 1400, 84172354 47600, 89172356 ggP)O.(SP)O SEQ 0279 VAX-11 Bliss 16 v4.0-579 Page 87 USER$1:(AZTEC.CZRCDBJCZRCD3.SRC;17 27 ; ; ; ;+ ; ; ; ; : P ; : : : : : : : + 6756 KTPDR,» KTPOR,» KTPDR, s KTPDR, » KTPDR, » KTPDR, * KTPDR,» KTPDR, # 3652 3653 3654 3655 3656 3657 3658 3659 3661 3662 3663 3664 3665 3666 3667 3668 3594 3565 CZRCD3 CZRCOBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES H H H : H : : : H : H : H : H ; H H : : : H H H : : : : : : : : : H : : H 3673 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3708 3710 3711 3712 3714 000000 000004 000010 000012 000016 000022 000026 000032 000036 000040 000044 000050 000052 000056 000060 000062 ; ; »-n:n;n)olJba-a-&uh(fl(fltfl(flh}h}h)nah-rflr-r-h-r-h-h-h-horsr-r-h-r-h-hownu v02.0 013700 005760 100023 013700 116000 042700 062700 020027 101010 013700 105760 001403 012700 000207 005000 000207 Routine ROUTINE QIO_OK SEQ 0280 VAX-11 Bliss-16 v4.0-579 Page 88 USER$1:[AZTEC.CZRCDB)JCZRCD3.SRC;17 (28) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 = te THIS ROUTINE IS CALLED BY THE MULTI_CRIVE "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: A. 8. 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 IF (.QIO [.CCTLR] THEN BEGIN END; + 2) LEQU QIO_PER_CTLR IF .CST_ADDR [U_CNT]) NEQU O THEN RETURN TRUE; END; RETURN FALSE; END; 000000G 000002 QI0.OK: 0000006 000000G 177400 000002 000020 .SBTTL MOV ST BPL MOV MOVB 000001 1$: Size: 26 words, Routine Base: Maximum stack depth per invocation: O words ! IF OUTSTANDING QIO COUNT IS 0.K. ! IF THERE IS VALID UNIT ! "TRUE” EXIT POINT ! "FALSE"” EXIT POINT 3696 3700 #177400,R0 ADD CMP BHI MOV 1S7T8 BEQ MOV RTS CLR RTS $CODES IF CONTROLLER IS ONLINE QIO0.0K MULTI-DRIVE SUBTEST ROUTINES CST.ADDR,RO : 2(R0O) 1 CCTLR.RO : QIOCRO),RO BIC 000000G 000005 ! #2,R0 RO, %20 13 CST.ADDR,RO S(RO) 1$ #1,R0 PC RO PC + 7364 : 3704 : 3706 H 3694 3673 : v02.0 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES : ROUTINE MD_QUIT 3717 3718 : : : H H : : : : : H : : H : : H ; H H : : 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 000000 000002 000004 000006 000012 000016 000020 000024 000026 000032 000034 000036 000042 000044 000050 000052 000054 000056 010146 005001 010146 012746 004737 022626 105760 001012 105761 001007 005201 020127 003760 012700 000401 005000 012601 000207 ; Routin e Size: ; Maximum stack SEQ 0281 VAX-11 Bliss-16 v4.0-579 Page 90 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 (2 9) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 = > : : H H : : 3715 3716 == 1O PO R T N G Od LA G O8O 8 NG H RO ) 10 1= =t 1t 1t ot ot o s e oo pe CZRCD3 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”. OTHERWIS E, THE MULTI-DRIVE SUBTEST EXECUTIVE LOOP MUST CONTINUE, AND A VALUE OF "FALSE” IS RETURNED. BEGIN INCR CTLR FROM O TO (MAX_CTLR BEGIN IF .CST THEN ELSE (.CTLR, - 1) DO U_CNT] NEQU O ! ! ! ! RETURN FALSE IF .QI0 [.CTLR] NEQU © THEN RETURN FALSE; IF AT LEAST ONE VALID UNIT REMAINS THEN DON'T TERMINATE MULTI-DRIVE SUBTEST OTHERWISE (NO UNITS REMAIN) ! ! ! IF AT LEAST ONE QIO QUTSTANDING THEN DON'T TERMINATE SUBTEST RETURN TRUE; ! ALL PARAMETERS ARE ZERO END; ! ROUTINE MD_QUIT END; .SBTTL MD.QUIT: MOV 1$: 000016 000000G 000000G 000003 000001 2s: 3s: 24 words, Routine Base: invocation: 4 words R1 R1,-(SP) #16,-(SP) PC,BLS$MUL 1578 BNE 7518 BNE INC cMP BLE MOV BR CLR MOV RTS CST+S(RO) 2$ QIO(R1) 2% R1 R1,43 1s €1,R0O 3s RO (SP)+,R1 PC $CODES$ END OF SUBTEST MD.QUIT MULTI-DRIVE SUBTEST ROUTINES R1,-(SP) : MOV MOV JSR cMpP 000005G depth per CLR - ; ; CTLR CTLR,» 3715 32y 3732 (SP)+,(SP)+ + 7450 : ; H ; ; #(CTLR) CTLR CTLR,# 3734 3736 3738 3729 H 3727 ; 3715 CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES i H 4 H H 1 : H 4 [ ; : 4 ; [ : : H 4 ; ‘ H 4 H H : é H i 4 . H ; é H 4 3 H 4 i i H H 4 H 4 H H i H L] H ¢ 3 i H 4 3745 3746 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 37177 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 W\NNNNNNNNNNNNNU‘““U‘UJWNNNNNNNNMHPHHHPHHF‘FHHHPHHHFHMMD—‘O—'HMHHN v02.0 ROUTINE QIO_GEN : 14-Jun 1985 09:41:21 14-Jun-1985 09:33:42 SEQ 0282 VAX-11 Bliss-16 v4.0-579 Page 91 USER$1:[AZTEC.CZRCOBICZRCD3.SRC;17 (30) NOVALUE = te ' 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/0 REQUEST IS GENERATED. HOWEVER, IF THIS 1/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 ENVELCPE(S) HAVE BEEN LOADED, THIS ROUTINE REGAINS CONTROL AND ATTEMPTS TO GET ONE OR TWO 1/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 -i. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER BEGIN MX2 = -1; IF (MX1 = GET_ENV (.CCTLR)) LSS O THEN RETURN; IF (MX2 = GET_ENV (.CCTLR)) LSS O THEN BEGIN PUT_ENV (.MX1); MX1 = -%; RETURN; ! ! ! ! ! ! ASSUME FAILURE IN SECURING 2ND ENVELOPE TRY TO GET 1ST ENVELOPE. IF FAILURE THEN NO POINT IN CONTINUING TRY TO GET 2ND ENVELOPE. IF FAILURE THEN ! ! ¢t RETURN 1ST ENVELOPE TO POOL INDICATE FAILURE DONE END; MAD1 = MSCP_ENV MAD2 = MSCP_ENV GET_RANDOM (); QIO_UNIT (); + + QIO_FUNC (); QIO_LBN (); QIO_SIZE (); GET_IOQ_BUFF (MAD1 IF .MX2 GEQ O THEN BEGIN (.MX1 & ENV_LEN & 2); (.MX2 & ENV_LEN * 2); [BUF _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 ! IF TWO QIOS ARE TO BE ISSUED ! ! ! ! ! THEN CZRCD3 V0.0 3802 3803 : 3804 : 3806 : H : H H H H 3 H : H H H H H : H : ; : 5 H : H : : H H : H H 3805 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 000000 000006 000012 000016 009022 000024 000026 000030 000034 000040 000044 000046 000050 000052 000056 000062 000070 000072 000074 012737 013746 004737 010037 005726 005700 002564 013746 004737 010037 005726 005700 002011 013746 004737 012737 005726 000207 013746 GET_IO_BUFF (MAD2 (BUF _0])); IF .MAD2 (BUF_0] THEN BEGIN IF NOT THEN .MAD1 SEQ 0283 VAX-11 Blises-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 MULTI-DRIVE SUBTEST ROUTINES »mmmmmuuuwuummmmuu&aa&bmmmwmabbbmuu : H CZRCDBO RC2S DISK EXERCISER ([BUF_0] BEGIN PUT_IO_BUFF (MAD1 [BUF_01); MAD1 [BUF_0]) = -1; ! ! ! TRY TO GET 2ND I/0 BUFFER IF 2ND BUFFER ALLOCATION FAILED THEN ! ! IF 1ST I/0 BUFFER WAS ALLOCATED THEN ! RETURN 1ST I/0 BUFFER TO POOL ! MARK 1T AS FAILED 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 END; Mxe = -1; END; IF .MAD1 ([BUF_0] PUT_ENV (.MX1); MX1 = -1; ELSE END IF _MAD1 THEN [OPCODE] FILL_BUFF OTHERWISE (ALL IS 0.K.) IF 1ST OPCODE IS A WRITE EQLU OP_WRT THEN (); FILL END; 177777 000604° 0000006 0000006 000602 ! -.SBTTL QIO.GEN:MOV MOV JSR MoV TST TST BLT 0000006 0000006 000604 MoV JSR MOV TST TST BGE 000602 0000006 177777 000602' 000602 MOV 1s: JSR MOV TST RTS MOV 1ST I/0 BUFFER WITH APPROPRIATE DATA PATTERN ROUTINE QIO_GEN QIO.GEN MULTI ODRIVE SUBTEST ROUTINES 4 1,MX2 CCTLR, -(SP) PC,GET.ENV RO, MX1 i 3776 H 3777 (SP)+ RO 64 s MX1 ; 3779 3780 PC,.GET.ENV RO, MX2 (SP). RO 1 Mx1,-(SP) PC,PUT.ENV (SP). PC Mx1,-(SP) ; H MX2 3784 378S 3736 3782 3790 CZRCD3 v02.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 000%74 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 0000006 0000006 000610 000000V 000000V 000000V 000000V 000000V 000606 000030 0000006 000604' MOV MOV MoV MOV JSR ADD MOV JSR JSR JSR JSR JSR MOV ADD JSR TST 000042 000000V 000006 BIT BNE MOV ADD JSR MOV MOV MOV Mx2,(SP) JSR 44 : S$: 6$: 129 words, Routine Base: invocation: 4 words ;i Maximum steck depth per 33 MAD1,RO #1,30(R0O) 2 930, (SP) RO, (SP) PC,PUT.10.BUFF MADL,RO ®-1,30(R0O) MoV 000602 0000006 177777 000602’ 000606’ 000020 MAD2,(SP) 430, (5P) PC,GET.I0.BUFF MAD2,RO 91,30(R0) JSR 3 PC,PUT.ENV @-1,Mx2 MAD1,RO #1,30(R0O) 4% MX1,(SP) PC,PUT.ENV @-1,MX1 5% MAD1,RO 20(RO), #42 5% PC,FILL.BUFF 6 ,S5P PC MOV MOV 8IT BEQ MOV JSR MoV BR MOV CMP8 BNE JSR ADD RTS $CODES$ ; 3791 : 3 MoV BIT 2%: (30) 3792 3793 3794 3795 3796 3797 PC,QI0.SIZE MAD1,(SP) €30, (SP) PC,GET.I0.BUFF Mx2 BEQ 0000006 000606 177777 000030 000604 0000006 177777 000604 000606’ 000001 000030 USER$1:(AZTEC.CZRCDB )JCZRCD3.SRC;17 MSCP.ENV,RO RO,MAD2 PC,GET.RANDOM PC,QI0.UNIT PC,QIO0.FUNC PC,QIO.LBN MOV ADD 000030 SEQ 0284 Page 93 PC,BL$MUL BLT 000030 VAX-11 Bliss-16 V4.0-579 €104, -(SP) PC.BL $MUL MSCP.ENV,RO RO,MAD1 Mx2, (SP) JSR RDOD 000610’ 000030 0000006 000610 000001 000030 000606 000001 14-Jun-198S 09:41:21 14-Jun-1985 09:33:42 + 7530 3798 ; 3802 : 3803 H 3807 ; 3811 ; 3812 : ; : i 3816 3817 3823 3827 ; 3828 ; 3823 : 3832 H 3834 3774 3745 H ; CZRCO3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES H H : 3 H H : 3 H H H : H H : H H : H H : H H : H H ' ] H i H : H H 3 $ H 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 387S 002552 002552 ROUTINE GET_RANDOM : NOVALUE = > : 3 HNNO‘M&&&O&-DOMGUNNNNNNNNNNHPHF‘HF‘PHHH.‘F‘HH vo2.0 SEQ 0285 VAX-11 Bliss-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 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 ~.0ID GENERATING THE RANDOM NUMBER 100000-OCTAL. THIS NUMBER, IF USED AS THE DIVIDEND IN A “MOD" QPERATION (E.G., QIO_LBN) , REGARDLESS OF THE DIVISOR, RESULTS IN AN OUT-OF -RANGE REMAINDER. BEGIN OWN SEED1 : WORD INITIAL LOCAL SEED2 : WORD; (%0'’'123456'); SEED2 = ((.MINUTES t 5) OR .SECONDS) t S OR DECRBCOUNT FROM (ROM_LEN - 1) TO O DO EGIN 00 .TICKS; BEGIN SEED1 = (.SEEDL + .SEED2 + 1) * 4; SEED2 = (.SEED2 / 4) + ,SEED}; RANDOM [.COUNT]) = ,SEED2; END UNTIL .RANDOM [.COUNT) NEQU #0'100000'; END; END; 123456 SEED1: 010132 000000 004137 0000006 000004 000010 000014 000020 000022 000026 013746 012746 004737 010016 053716 012746 000000G 000005 000000G 0000006 000005 .PSECT .WORD $GGGS$, -54322 .SBTTL .PSECT GET.RANDOM MULTI-DRIVE SUBTEST ROUTINES $CODEs, RO GET.RANDOM: JSR MOV MoV JSR MOV 8IS MOV RO R1,$SAVE3 MINUTES, -(SP) 85, -(SP) PC.BLSSHF RO,(SP) SECONDS, (SP) 05,-(SP) : 3 38%7 3859 C2RCO3 CZRCOBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000032 000036 000040 000044 000050 000054 000056 000060 000062 000064 000070 0C0076 000100 000104 00C110 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 0c0227 00175C 162701 100343 0€2706 0C0207 0000006 14-Jun-1985 09:41:21 14-Jun-1985S 09:33:4°2 JSR PC,BL $SHF RO,R2 TICKS,R2 436 ,R1 MOV 0000006 000036 002552 002552 000004 000004 0000006 002552 000634 100000 000002 000006 8IS 1s: 2%: 002552° MOV MOV MOV ADD ASL ASL MOV ADD MOV MOV SEED1,R3 R2,RO R3,RO RO RO RO,SEEDL &4 ,SEEDL R2,(SP) %4, -(SP) PC,BL$DIV SEED1,R3 R3,RO RO,R2 R2 ,RANDOM(R1) JSR MOV ADD MOV MOV (SP). 1S7 crp BEQ sSuB BPL ADD RTS Rout ‘ne Base: S2 words, $CODES ; Routine Size: 9 words : Max'mum stack depth per ‘nvocation: R2,#-100000 VAX-11 Bliss-16 V4,0-579 USER$1:(AZTEC.CZRCDB1CZRCD3.SRC:17 ;s ; ;s SEEDZ2,# ; SEEDZ2,+ 95 (31) 3860 3866 3867 ; *,SEED2 ; SEEDZ2,«(COUNT) 3868 ; *,COUNT 3260 : : : 10132 Page ¢,SEED2 &,SEED2 #,COUNT : ; ; - SEQ 0286 3864 2871 3851 3837 <ZRCOS CZRCOBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 391t 3912 3913 3914 3915 3916 2917 1918 3919 2920 3921 3922 3923 2924 3925 2926 3927 3928 3929 3970 2931 2912 ROUTINE QIO_UNIT : NOVALUE SEQ 0287 VAX-11 Bliss-16 v4.0-579 USER$1:{AZTEC.CZRCDB JCZRCD3.SRC;17 » * 3876 3877 3878 3879 3880 3881 3882 3883 3384 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 libMUIU\O‘O‘O\O\UIU!UIUlU‘b’Ob.WNNNNNNNNNNNNNNNNNNNNF‘PMO‘M&P”F‘HHFH—M»M .......u.‘-l..-..l.l-lll-.IC.D...l...!'l.'l..l...i..QOOIQD.Q.D...O.l.'...0.0.!...0...l“.l.'.'"...‘.l.l.'““"“ v02.0 14 Jun-1985 09:41:21 14-Jun 1985 09:33:42 THIS ROUTINE IS CALLED BY QIO_GEN TO RANDOMLY SELECT ONE UNIT CONF IGURED 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 RANDOM NUMBER IN THE RANDOM NUMBER IMPLICIT INPUTS: CST_ADDR (FROM 1 TABLE TO 4) AND THE FIRST (RANDOM). - 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; ' ! UNIT NUMBER ORDINAL NUMBER OF CHOSEN UNIT CASE ! DETERMINE ORDINAL UNIT NUMBER .CST_ADDR [U_CNT] FROM SET 1 T0O 4 OF [1] : NTH_UNIT = {; LS | (2]} : NTH_UNIT = (.RANDOM [O) AND 1) + 1; ' 1 0R2 {3] : NTH_UNIT = ABS (.RANDOM [O] MOD 3) « 1; ' 1, 2, OR 3 (4] : NTH_UNIT = (.RANDOM (O] AND 3) + 1; t1, 2, 3, 0OR 4 [OUTRANGE] : NTH_UNIT = §; ! IN CASE CONTROLLER JUST WENT DOWN TES; INCR QFFSET FROM (O « OF _UN) TO (3 BEGIN IF .CST_ADDR [.QFFSET, THEN « OF UN) DO P_PRES) EQLU PRESENT NTH_UNIT = [.OFFSET, _NTH_UNIT IF _NTH_UNIT EQLU O THEN BEGIN - SET_UPAR (.OFFSET); EXITLOOP; LOOP THROUGH EACH CST UNIT ¢ IF UNIT IS PRESENT ! THEN P_UNIT); ! ! ' ! GET (DRS) UNIT NUMBER IF THIS UNIT IS ACTIVE THEN THIS IS AN ELIGIBLE UNIT 1; ! DECREMENT ORDINAL BEGIN UNIT = _CST_ADOR IF .CPT [.UNIT] THEN BEGIN ! IF DOWN TO O THEN THIS IS THE CHOSEN UNIT ! ! SET UP UNIT-RELATED DATA DONE ! UNIT IS ACTIVE END; END; COUNT ! ! ! Page 96 (3 2) CZRCD3 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 3933 3934 3935 3936 3937 3938 3939 3940 RPN WW v02.0 END; MAD1 MAD2 [PL_ADDR) [PL_ADOR] = .CPLAT; = .CPLAT; END; 004137 0000006 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 177400 000114 000120 000122 000126 000130 000132 000136 000142 000144 000146 000150 000154 000162 000164 000166 000170 000172 000176 000200 0002C2 0002C4 ! END; 0C0000 000110 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .SBTTL QIO.UNIT: JSR MOV MovB BIC DEC cMp BHI 000003 000000 000001 24: 000634 3s: 177776 000634 4%: 000003 0000006 000000G ASL ADD MOV BR MOV BIC BR MOV MOV JSR MOV JSR MOV 000634° 177774 000003 S$: MOV 6$: BIC INC 7s: 8s: 000000G 040000 177740 000001 MOV MOV ASL ADD BIT BEQ MoV SWAB B8IC 000000G BIT8 BEQ DEC BNE MOV 0000006 000006 INC cMP BR 9 : JSR TST BR INC cMP SEQ 0288 VAX-11 Bliss-1€ v4.0-579 Page 97 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (32) UNIT IS PRESENT ¢ CST UNIT LOOP ! LOAD PLATTER ADDRESS (MSCP UNIT NUMBER) BOTH MSCP ENVELOPES ! ROUTINE QIO_UNIT QIO.UNIT MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE3 3876 3899 CST.ADDR,RO 5(R0),RO #177400,R0 RO RO, 3 2% RO P.AARA(RO),PC 41,R3 7% RANDOM,R3 177776 ,R3 64 RANDOM, -(SP) ¢3,-(SP) PC.BL$MOD RO,(SP) PC.BL$ABS RO,R3 R3 (SP)+,(SP). 78 RANDOM,R3 4177774 ,R3 R3 #3,R2 R2.RO RO CST.ADDR,RO #40000,(RO) 9% (RO),R1 R1 #177740,R1 #1,CPT(RL) 9s R3 9% R2,-(SP) PC,SET.UPAR Case dispatch *,NTH, UNIT & ,NTH.UNIT *,NTH, UNIT 3902 3899 3903 3904 & ,NTH.UNIT NTH.UNIT & NTH.UNIT =, NTH.UNIT 3899 3905 NTH.UNIT *,0FFSET 3909 3912 *,UNIT UNIT * ,UNIT 3916 OFFSET, » *,#(UNIT) 3917 NTH.UNIT 3921 3922 3926 OFFSET, « (SP)+ 103 R2 R2.,#%6 OFFSET OFFSET, 3924 3909 CZRCD3 V0.0 000210 000212 000216 000224 000230 000236 : : CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 003746 013700 013760 013700 013760 000207 Routine Size: Maximum stack 000606 000000G 000014 000610 000000G 000014 108: 80 words, Routine Base: depth per invocation: 7 words 000000 000000 000002 000004 000006 14 Jun 1985 09:41:21 14-Jun-1985 09:33:42 BLE MOV MOV MOV MOV RTS $CODES .PSECT 000000 000006 000020 000052 P.AARA: 1s: .WORD .WORD .WORD .WORD 8 MAD1,RO SEQ 0289 VAX-11 Bliss-16 V4.0-579 Page 98 USER$1:[AZTEC.CZRCDBICZRCD3. SRC;17 (32) , 3937 CPLAT,14(RO) MAD2,RO ; CPLAT,14(R0O) PC 3938 ; 3876 10302 $PLITS, RO, D ; 20 52 ; ; ; ;: CASE Table for QI0.UNIT+0032 (28] [33) (48] [58] 3899 CZRCO3 voe.o0 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3930 3981 2982 3983 3984 2985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 Nwo‘bbb&bm&&uwub(AMNNNNNNNNNHHHHMMHHH&-—»—-H.—-HHHb-t-t-t-o-ob-v-b-o-r-so-»-r-»w 3941 3942 3943 3944 3945 3946 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES RCUTINE QIO_FUNC : 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 (33) NOVALUE = Ye . 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: ) M ] M ] . 1 . ] IF THE CHOSEN UNIT IS PROTECTED THEN . ] M ] FUNCTION . = READ ELSE (UNPROTECTED) IF OPERATOR SELECTED THEN t - ] . . . 1 FUNCTION . ] ELSE . 1 = 'WRITE-ONLY” OPTION WRITE FUNCTION (WRITE OR READ) NUMBER . ] - 1 IS BASED ON A RANDOM . 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. 14 M ] . |4 . ] . 1] M IMPLICIT INPUTS: CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST CUOFF - CURRENT UNIT CST OFFSET ] . ' - ) . ] P4 IMPLICIT OUTPUTS: THE OPCODE FIELD OF ONE OR BOTH MSCP ENVELOPES IS LOADED. ] . ] M ] . BEGIN LOCAL FUNC : WORD; IF .CST_ADDR THEN FUNC = [.CUOFF, P_PROT]) EQLU PROTECTED OP_RD ELSE IF BIT_TST (SWP_FLAGS, THEN = SWF_WO0) OP_WRT ELSE BEGIN IF (.RANDOM [1] AND 1) THEN FUNC = OP_RD ELSE FUNC = OP_WRT; END; END; OPCODE (READ OR WRITE) ! ! IF UNIT IS PROTECTED THEN ! SET FUNCTION TO READ ! BEGIN FUNC ! OTHERWISE (UNIT IS UNPROTECTED) ! ! ! ! OTHERWISE ! ! ! ' ' USE 2ND RANDOM NUMBER TO SELECT EITHER READ OR WRITE $F OPERATOR CHOSE WRITE-ONLY OPTION THEN SET FUNCTION TO WRITE CZRCD3 v02.0 : 3998 : H : H : : 3999 4000 4001 4002 4003 4004 : 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4 3 4 4 4 4 4 4 3 3 3 2 3 3 4 3 4024 4025 4026 4027 4028 4029 4030 3 2 2 2 2 3 3 : 4023 14 Jun-1985 09:41:21 14-Jun-1985 09:33:42 IF (MAD1 [OPCODE] THEN BEGIN ! LOAD CHOSEN OPCODE. ! THEN SEQ 0291 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 Page 100 (33 2 2 2 3 3 4 3 H : : : : : H : H H H ; : H H : ; H : : : ; H : CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES MADY1 4031 3 4032 4033 4034 4035 4036 3 3 2 2 1 (MODIFY] SWF_CWC) ! ADD COMPARE MODIFIER ! ! IF HOST DOES WRITE-COMPARES THEN ! ! ! SET EXPRESS REQUEST MODIFIER SET READ OPCODE INTO 2ND MSCP ENVELOPE SET EXPRESS REQUEST MODIFIER SWF_HWC) MAD1 [MODIFY] = MD_EXP; MAD2 [OPCODE]) = OP_RD; MAD2 [MODIFY] = MD_EXP; IF WRITE ! IF CONTROLLER DOES WRITE-COMPARES ! THEN = MD_CMP; IF BIT_TST (SWP_FLAGS, THEN BEGIN END; ELSE END ! OTHERWISE - FUNCTION IS READ BEGIN IF BIT_TST (SWP_FLAGS, THEN 3 : : H H : .FUNC) EQLU OP_WRT IF BIT_TST (SWP_FLAGS, THEN g : = MAD1 [MODIFY] SWF_CRC) = MD_CMP; ! ' IF CONTROLLER DOES READ-COMPARES THEN ! ADD COMPARE MODIFIER ! ! IF NO OPCODE IN 2ND ENVELOPE THEN ! RETURN 2ND ENVELOPE TO POOL ! ROUTINE QIO_FUNC , END; IF .MAD2 [OPCODE] EQLU O THEN BEGIN PUT_ENV MX2 = (.MX2); -1; ! MARK IT UNUSED END; END; .SBTTL .PSECT 010542 000000 004137 000000G 000004 000010 000012 000016 000022 000024 000032 0,0034 000042 000044 000050 013700 006300 063700 032710 001410 132737 001007 032737 001403 012702 000402 000000G 000000G 100000 000020 000000G 000001 000636 000041 QIO0.FUNC: JSR MOV ASL ADD BIT BEQ 8I78 BNE BIT BEQ 1s: MOV BR QIO.FUNC MULTI-DRIVE SUBTEST ROUTINES $CODES$, RO R1,$SAVE2 CUOFF ,RO RO CST.ADDR,RO #100000,CRO) 1 #20,SWP.FLAGS 2 #1 ,RANDOM+2 2$ #41,R2 3 : : 3941 3977 ; : : : 3979 3983 3985 3989 ; : *,FUNC 3991 3939 CZRCO3 v02.0 000052 000056 000060 000064 000070 000074 000100 000102 000106 000110 000116 000122 000124 000132 000136 000144 000152 000154 000160 000162 000170 000174 000200 000202 000206 000212 000220 000222 ; ; CZRCDBO RC2S DISK EXERCISER 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 Routine Size: Maximum stack 000042 2%: 3s: 0000006 000606 000020 000042 MoV MAD1,RO R2,20(R0O) R2,442 Move 040000 000100 000022 100000 000610 000041 100000 000022 000020 000022 MOV MOovB MOV 4% : 000010 #40000,22(R0O) #100,R1 6$ #-100000,22(R0O) MAD2,RO #41,20(R0) #-100000,22(R0O) 5%: 6$: MOV MOV TSTB #40000,22(R0) MAD2 RO BNE 78 Mx2.-(SP) PC,PUT.ENV 000604 0000006 177777 000604 78: 74 words, Routine Base: depth per invocation: S words : ; : (SP)+ PC + 10542 FUNC, = FUNC, = 3999 4003 : 4005 : 4007 : 4011 : 4012 H 4013 H 20(R0O) 3993 4003 ; MOV JSR MOV TST RTS $CODE$ #,FUNC ; H BR BIT 8EQ 000022 i SWP.FLAGS,R1 MOV 000040 040000 000610 000020 #42,R2 R1 CLR 8ISB CMP BNE BIT BEQ MOV BIT BEQ MOV SEQ 0292 VAX-11 Bliss-16 v4.0-579 Page 101 USER$1:(AZTEC.CZRCDBICZRCD3.SRC; 17 (33) 3999 4021 : 4023 H 4027 H 4031 : 4032 : 4029 H 3941 CZRCD3 CZRCOBO RC25 DISK EXERCISER v02.0 H H MULTI-DRIVE SUBTEST ROUTINES 4037 4038 : 4039 H : : : H : H : H H H : H : : H H : ; : : 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 : H H H : H H H : : H 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 : 4072 : H : 4073 4074 4075 1 1 ROUTINE QIO_LBN 1 1 1 § 1 1 1 1 1} 1 1 1 1 1 1 2 2 2 2 2 2 ! H ! ! ! ! ! ! ! ! ! H ! !- 1 2 2 2 3 2 3 3 3 3 3 3 3 2 3 4076 4077 H H : H H ; : H H : H H 3 3 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 3 3 3 2 2 2 2 2 2 2 2 1 004137 : 14-Jun-1985 09:33:42 SEQ 0293 Page 102 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC: 17 (34) VAX-11 Bliss-16 V4.0-579 NOVALUE = e THIS ROUTINE IS CALLED BY QIO_GEN TO SELECT THE LOGICAL BLOCK NUMBER 10 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 QUTPUTS: THE LBN IS LOADET 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 SWF_RDM) T_RANGE = (.SWP_ETRACK S_RANGE = MAX_SECT + 1{; - .SWP_STRACK) + ELSE ! ! SELECTED SECTOR NUMBER LOGICAL BLOCK NUMBER ! ! IF RANDOM SEEK MODE THEN 1; NTRACK = .SWP_STRACK + ABS (.RANDOM (2] MOD NSECT = ABS (.RANDOM (3] MOD .S_RANGE); 3 : ; 0000CO 14-Jun-1985 09:41:21 ! RANGE OF TRACK NUMBERS ! RANGE OF SECTOR NUMBERS .T_RANGE); ' RANDOM TRACK NUMBER WITHIN RANGE ! RANDOM SECTOR NUMBER WITHIN RANGE END ! ELSE - SEQUENTIAL LBN MODE BEGIN NTRACK = ,BST [.LSLUN, TRACK]; NSECT = .BST [.L$LUN, SECTORJ; ADV_BST (); ! GET TRACK FROM BST ' GET SECTOR FROM BST ! ADVANCE TO NEXT LBN END; LBN = (.NTRACK # SEC_PER_TRK) + MADL [LBN_L]) = .LBN; IF .MX2 GEQ © 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 QIO0.LBN:JSR ROUTINE QIO_LBN QIO.LBN MULTI-DRIVE SUBTEST ROUTINES R1,$SAVE? : 4037 CZRCD3 CZRCDBO RC25 DISK EXERCISER 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 ; ; 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: Maximum stack 000004 000000G BIT8 BEQ MoV suB INC MOV 0000006 0000006 000037 000640 MOV JSR ADD MOV MOV MOV 000642 000000G 000006 1¢: 000442 000440° 000000V 000037 0000006 2%: 000606 000044 000604 000610° 000044 3s: 66 words, Routine Base: depth per invocation: 7 words BR MOV ASL ASL MOV MOV JSR MOV MOV JSR ADD MOV MOV MOV T1S7T BLT MOV MOV cMpP RTS $CODES 4064 ; 4068 ; *,5.RANGE : ; T.RANGE,» ; &,MTRACK 4069 4070 SWP.STRACK,RO RO,R1 RANDOM+6,(SP) R2,-(SP) 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) #37,-(SP) PC,BLSMUL R2,RO RO,R1 MAD1,RO R1,44(RO) MXx2 3 MAD2,RO R1,44(RO) (SR)+,(SP)+ PC JSR MOV JSR MoV ADD 000000G ; 14 SWP.ETRACK,RO SWP.STRACK,RO RO #37,R2 RANDOM.4, -(SP) RO, -(SP) PC,BL$MOD RO, (SP) PC,BL$ABS JSR 0000006 G00000G 000000G 94, SWP .FLAGS MOV MOV 000000G SEQ 0294 VAX-11 Bliss-16 V4.0-579 Page 103 USER$1:[AZTEC.CZRCDB)CZRCD3.SRC;17 (34) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 + 10766 : ; S.RANGE, » ; &,NSECT ; 4066 : 4064 : ; ; 4071 4077 &,NTRACK &,NSECT 4078 ; ; NTRACK, = ; NSECT,» i *,LBN 4079 4083 : 4084 H 4085 ; LBN,=# : ; ; : LBN,=* 4087 4055 4037 CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.90 4096 4097 : 4098 H H H H H ; H H : : H : : : H : H H : 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: ROUTINE ADV_BST : NOVALUE = * 4092 4093 4094 4095 PO RO RO R o 1= et et ot et ot ot s s o o : H 4090 4091 NI : H : H MULTI-DRIVE SUBTEST ROUTINES 2 PO O Gl H : SEQ 0295 VAX-11 Bliss-16 v4.0-579 Page 104 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (35) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 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: L$LUN - CURRENT (DRS) UNIT NUMBER BEGIN BST (.LS$LUN, SECTOR) IF .BST [.L$LUN, THEN BEGIN = .BST [.LSLUN, SECTOR] SECTOR] GTRU MAX_SECT + 1; ! ! ! BST [.LSLUN, SECTOR]) = 0; BST [.L$LUN, TRACK] = .BST (.LSLUN, TRACK] IF .BST [.LSLUN, TRACK] GTRU .SWP_ETRACK THEN BST [.LSLUN, TRACK]) = _SWP_STRACK; + INCREMENT SECTOR NUMBER JF SECTOR IS BEYOND HIGH LIMIT THEN SET SECTOR TO LOW LIMIT INCREMENT TRACK NUMBER IF TRACK IS BEYOND HICH LIMIT THEN SET TRACK TO LOW LIMIT 1; END; END; ! .SBTTL ADV.BST:MOV MOV 000000G 000440° 000036 000000G 000000G 14: 24 words, Maximum stack depth per ADV.BST MULTI-DRIVE SUBTEST ROUTINES R1,-(SP) : L$LUN,R1 : ASL ASL MOV ADD INC CMP R1 R1 #BST,RO R1,RO (RO) (RO), %36 MOV ADD INC CMP 8L0S MOV MOV RTS #B8ST+2,R0 R1,RO (RO) (RO),SWP.ETRACK 18 SWP.STRACK,(RO) (SP)+,R1 PC 8LOS CLR 000442 Routine Base: invocation: 2 words $CODES$ ROQUTINE ADV_BST 18 (RO) + 11172 4090 4104 ; 4105 : : 4109 4110 : 4111 H ; 4113 4090 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES * ! ! ENDING BLOCK NUMBER FOR CURRENT I/0 BYTE COUNT SIZE = ABS (.RANDOM (4] MOD (.BUFF _SIZE + 1)) AND %0°'177776'; ! GET BYTE COUNT FROM RANDOM NUMBER END_BLK = _MAD1 (LBN_L] « ((.SIZE - 1) / BLK_SIZE); ! CALCULATE ENDING BLOCK NUMBER IF .END_BLK GTRU (.USIZE - 1) ! %FEENDING BLOCK IS LARGER THAN UNIT SIZE THEN SIZE = (.USIZE - .MAD1 MAD1 (BC_LO) = .SIZE; IF .MX2 GEQ O THEN MAD2 [BC_LO) = [LBN_L]) & BLK_SIZE; 013746 013746 005216 004737 010016 004737 010003 042703 013701 010316 005316 012746 000644 0000006 000052 000056 000062 000064 000070 004737 066100 010002 013700 005300 000000G 0000006 00001 000606° 001000 0000006 000044 000616 000616 000044 ! .SIZE; .SBTTL QIO.SIZE: JSR MOV MOV INC JSR MOV JSR MOV BIC MOV MOV DEC MOV JSR ADD MOV MOV OEC CHP BLOS MOV suB SWAB CLRB THEN ! ]! SCALE DOWN BYTE COUNT LOAD SIZE INTO 1ST MSCP ENVELOPE ! LOAD SIZE INTO 2ND MSCP ENVELOPE ! ROUTINE QIO_SIZE ! ! END; 000004 000010 000014 000016 000022 000024 000030 000032 000036 000042 000044 000046 10500C 105 (36> = LOCAL END_BLK : WORD, SIZE : WORD; 0000006 000300 Page BEGIN 004137 020200 101410 013700 166100 NOVALUE SEQ 0296 VAX-11 Bliss-16 v4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC:17 IMPLICIT QUTPUTS: THE BYTE COUNT IS LOADED INTO ONE OR BOTH MSCP ENVELOPES. 000000 000072 000074 000076 000102 0001C6 000110 : 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS ROUTINE IS CALLED BY QIO_GEN TO SELECT THE I/0 TRANSFER BYTE COUNT TO BE USED FOR THE CURRENT QIO OR QIQ 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. T Y Y ARy ROUTINE QIO_SIZE ST 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 ORI NN NN =0 o po o 1t jus fod jud b 4t o s v0z2.0 LT CZRCO3 IF 2 QI0S THEN 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),R0O RO,R2 USIZE,RO RO R2,RO 13 USIZE,RO 44(R1),RO RO RO : H 4118 4136 i : : »,SIZE »,SIZE ; SIZE,» ; H #,END.BLK ; END.BLK,# ; 4137 4138 4140 CZRCD3 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000112 000114 000116 000122 000126 000132 000134 000140 000144 000150 ; Routine Size: Maximum stack 000606 000024 000604 1$: 53 words, RO RO,R3 MAD1,RO R3,24(RO) Mx2 BLT 000610 000024 000006 depth per ASL MOV MOV MOV TS7T 2%: Routine Base: 8 words invocation: $CODES$ ; + /O SIZE,» : : Page 106 (36) 4141 4142 H ; 11252 SEQ 0297 &,SIZE : MAD2,RO R3,24(R0O) 96, 5P PC V4.0-579 USER$1:[AZTEC.CZRCOBICZRCD3.SRC;17 H 24 MOV MoV ADD RTS VAX-11 Bliss-16 ; v : 006300 010003 013700 010360 005737 002404 013700 010360 062706 000207 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 SIZE,» 4144 4130 4118 CZRCD3 CZRCDBO RC25 DISK EXERCI "R vo2.0 ; : : H 3 $ 3 L é 4 3 3 3 $ L L] i $ H i 1 $ L 3 L 3 4 i i i ] i 3 : ] 4 3 [ 3 3 i 3 i i ] [ 3 3 } 3 i 3 3 h— - ROUTINE FILL_BUFF : SEQ 0298 VAX-11 Bliss-16 V4.0-579 Page 107 USER$1:(AZTEC.CZRCDOBICZRCD3.SRC 17 ; (37) NOVALUE = * RO DRI IO RO R o o e s s 1o 1o 1t o o (i (e et o oo s 0 1t b ot et (oo (o s e 3 ¢ 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 49173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 MULTI-DRIVE SUBTEST ROUTINES THIS ROUTINE IS CALLED 8Y QIO_GEN TO LOAD THE I/0 BUFFER DESCRIBE D IN THE FIRST MSCP ENVELOPE WITH THE APPROPRIATE DATA PATTERN. THE DATA PATTERN TO BE SELECTED IS BASED ON THE FOLLCWING ALGORITHM: IF_THE OPERATOR DEFINED A DATA PATTERN THEN SELECT IT ELSE 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, 21 USE THE ACTUAL LBN OF THE WRITE REQUEST. AND PATTERNS ¢ 17 - IMPLICIT INPUTS: L$LUN - CURRENT (DRS) UNIT NUMBER BEGIN LOCAL OP_NUM : WORD, DP _ADDR, JOB_ADDR, SRC_ADDR, DISP : WORD, PAF NAGBRBEEEE DD 0GR G : 3 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 : COUNT ! DATA PATTERN NUMBER SELECTED ! ADDR OF DATA PATTERN (LENGTH) ! I/70 BUFFER ADDRESS (DESTINATION) ! WORKING SQURCE ADDRESS ! MEM, MGMT. ADORESS DISPLACEMENT WORD, : ! WORD; ! PAGE NO. ADDRESS FIELD OF WORDS IN DATA PATTERN IF BIT_TST (SWP_FLAGS, SwF_UDP) THEN DP _ADDR = SWP_UCNT ELSE BEGIN ! ! ! ! IF USER DEFINED A DATA PATTERN THEN SELECT IT OTHERWISE IF .SWP_DPAT NEQU 0 THEN OP _NUM = _SWP_DPAT ELSE BEGIN ! ! ! ! IF USER SELECTED A PRE-DEFINED DATA PATTERN THEN SELECT IT OTHERWISE ! GET PATTERN NUMBER FROM SEQUENFE ! ADDRESS OF DATA PATTERN (COUNT) OP_NUM = _DPST [.LSLUWN]; OPST [.LSLUN] = .DPST [.LSLUN} IF .DPST [.LSLUN) GTRU DP_CNT THEN OPST [.LSLUN] « 1; ! ADVANCE TO NEXT PATTERN NUMBEK ¢ CHECK FOR WIGH LIMIT = 1; END; DP_ADDR = .DPA_TBL [.DP_NUM - 1); TABLE C2RCO3 v0e.0 : : : : : : : : : : H H : H : : H : : : : : : : : : H H : : : H 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 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 3 3 4 4 4 4 4 4 4 4 3 3 2 2 2 2 2 3 3 3 3 3 3 3 2 2 2 2 2 3 3 3 H : : 423 4237 4238 4239 3 : 4240 4 : 4243 4 : : : 4244 4245 4246 5 S S P ;4241 H 4242 : : H H ; ; H : ; ; H ; H H 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 3 3 3 4 4 IF .DP_NUM THEN (.0OP ADDR + 2) = ELSE (.OP_ADDR « 4) = _MAD1 [LBN_L] _MAD1 [LBN_L]; IF PATTERN 17, 19, OR 21'. THEN 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_01]; IF _MEM_MGMT THEN BEGIN I1/0 BUFFER ADDRESS ¥F SYSTEM HAS MEMORY MANAGEMENT HEN DISP = _IOB_ADDR AND w0'17777'; PAF = (_JOB_ADOR t -6) AND %0'1600'; KTPAR4 = (.MADL1 [BUF_1] t 10) OR .PAF; I0B_ADDR = #0'100000* OR .DISP; 1/0 BUFFER DISPLACEMENT ADORESS 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; JOB_ADDOR = .I0B_ADDR + 2; SRC_ADDR = _SRC_ADDR . 2; IF _MEM_MGMT THEN IF (.IOB_ADDR AND #0'17777') EQLU O THEN OF WORDS IN DATA PATTERN START OF THE ACTUAL DATA PATTERN FOR EACH WORD IN THIS WRITE IOB_ADDR = #0‘ 100000’; = _KTPAR4 REQUEST %F 1/0 BUFFER CROSSES A 4K PAGE BOUNDARY HEN BEGIN KTPAR4 NO. MOVE 1 WORD ADVANCE DESTINATION ADDRESS ADVANCE SOURCE ADDRESS IF SYSTEM HAS MEMORY MANAGEMENT THEN BEGIN S 4 3 12 3 3 4 4 4 4 4§ 14-Jun-1985 09:33:42 SEQ 0299 VAX-11 Bliss-16 v4.0-579 Page 108 USER$1:(AZTEC.CZRCDB ICZRCD3.SRC;17 azn IF .DP_NUM GEQU 17 THEN BEGIN S 4 3 14-Jun-1985 09:41:21 . %0 200‘; RESET VIRTUAL ADDRESS ADVANCE PAR TO NEXT 4K PAGE END; END; COUNT = _COUNT - 1:; IF _COUNT EQLV © THEN BEGIN COUNT = _ _DP_ADDR; SRC_ADDR = .DP_ADDR + 2; e <0 END IF MEMCRY MANAGEMENT DECREMENT COUNT IF END OF DATA PATTERN THEN REPEAT DATA PATTERN CZRCO3 CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4261 4262 4263 4264 4265 4266 4267 4268 4269 12RO N WKW ® @r @0 @ @0 ®¢ w0 00 @ v0e2.0 000000 004137 00C004 000006 000012 000014 000020 000022 000024 000030 000C32 000034 000036 000040 000044 000050 000052 000054 000056 000062 000064 000070 000072 000074 000100 000104 000106 000112 000114 000116 000124 00C126 000124 000140 000144 000150 000156 000164 000166 000170 000174 000176 000202 0002C6 000219 024646 105737 100003 012702 000445 005000 15370¢C 005700 0C1402 010001 0C0414 013700 062700 005001 151001 105210 121027 101402 112710 010100 006200 016002 020127 103413 012700 006001 103004 016062 000403 016062 013701 016104 005066 115766 032766 001431 010405 042705 019446 01c .46 004737 015003 042703 14-Jun 1985 09:41:21 14 Jun 1985 09:33:42 SEQ 0300 ge 109 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 7 VAX-11 Bliss-16 v4.0-579 END; END; ! WORD TRANSFER LOOP IF _MEM_MGMT THEN KTPAR4 = «0'1000'; ! ! ! IF SYSTEM HAS MEMORY MANAGEMENT THEN RESTORE PAR4 END; ! ROUTINE FILL _BUFF .SBTTL FILL .BUFF: JSR cMp 1578 BPL 0000006 0000006 0000006 1s%: 0000006 000000G 000540 2s: 000025 000001 MoV BR CLR 8IS8 TST BEQ MOV BR MOV ADD CLR BISB INCB cMPB BLOS MOVB FILL.BUFF MULTI-DRIVE SUBTEST ROUTINES R1,$SAVES -(SP), (SP) SWP.FLAGS 1 ASWP ,UCNT,R2 5 4147 4183 +,0P.ADDR 4185 4183 4189 +,DP _NUM 4191 4189 4195 RO SWP . DPAT,RO RO 2 RO,R1 3s L$LUN,RO #0PST,RO R1 (RO),R1 (RO) DP .NUM 4, 0P _NUM 4196 4197 (RO), 425 3 #1,(RO) MOV R1,RO OP.NUM, » 4199 4203 001642 000021 MOV DPA.TBL-2(RO),R2 +,DP . ADDR « OP.NUM, 4204 000606 MoV ROR 8cC MOV BR MAD1,RO R1 43 44(RO),2(R2) 5¢ OP .NUM 4210 4208 MOV MOV MoV CLR Move 44(R0),47R2) MAD1,R1 30(R1),R4 000044 3s: cMp BLO 000002 000044 000004 000606 000030 000002 000000G 000002 000001 000002 160000 177772 000000G 176177 ASL 44 5%: BIT BEQ MOV 8IC MOV MOV JSR MOV BIC RO R1,%21 5 2(5P) MEM. MGMT,2(SP) #1,2(SP) 64 R4 ,RS #160000,RS R4, -(SP) ¢ 6,-(SP) PC,BL $SHF RO,R3 ®176177,R3 +,4(DP.ADDR) +,+(DP.ADDR) +,I0B.ADDR 4210 4208 4212 4218 4219 I0B.ADDR,DISP +,DISP s I0B.ADDR, *, PAF &, PAF 4223 4224 CZRCD3 CZRCDOBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 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 : ; 016100 020300 105000 006300 006300 010337 050037 010504 052704 022626 011205 012716 060216 011603 016146 012746 004737 005001 000422 012324 032766 001410 022704 0€1005 012704 062737 005305 001003 011205 0166063 005201 020100 003753 022766 001403 012737 062706 000207 Rout ‘ne Size: Maximum stack 000032 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MoV 32(R1),RO RO RO RO RO R3,8%4172550 RO,84172350 RS,R4 #100000,F 4 SWAB CLRB ASL ASL MOV 17235¢C 172350 8IS MOV 100000 6$: 000002 000024 000002 000000G 000001 000006 78: 100000 000200 172350 8s: 000004 9s: 000001 001000 000010 BIS cMp 2,(SP) R2,(SP) CLR BR 172350 10s: MOV ; DISP,I0B8.ADDR ; &,I08.ADDR ; ; DP.ADDR, ; N : SRC.ADDR,INB.ADDR ; 4226 4221 4230 4231 *,SRC.ADDR 4232 H 4235 4238 8s #17777.R4 84 #-100000,R4 ; »,I0B.ADDR 4242 4200,94172350 ; +«,I0B.ADDR 4246 ; 4247 RS 93 ; COUNT 4(SP),R3 R1 R1,R0O ; DP_.ADDR,COUNT : %,SRC.ADDR ; N i N.s 4258 4259 4232 H 4265 (R2).,RS #1,6(SP) 104 #1000, 84172350 #10,5P PC + ; : DP_.ADDR,COUNT PC,BLS$DIV R1 (R3)+,(RA). MoV ADD RTS 2 PAF, H #1,6(SP) MOV ADD DEC BNE MOV MOV INC 128 words, Rout ‘ne Base: $CO0ES depth per invocat ' on: 11 words : 4225 (SP),R3 24(R1),-(SP) 9s cMP BLE BIT BEQ 000006 H (SP)+,(Si")e (R2),RS Mov MOV ADD MOV MOV MOV JSR BIT BEQ BIT BNE 017777 SEQ 0301 Page 110 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 37 VAX-11 Bliss-16 v4.0-579 11424 : 4253 4254 : 4267 : 4147 CZRCD3 v02.0 4270 : : 4272 4273 : 4274 : : 4275 4276 : : 4277 4278 : : : H H : : : H 4279 4280 4281 4282 4283 4284 4285 4287 4289 : H 4290 4292 : 4293 H : H : 4294 4295 4296 4297 : ; 4298 4299 : H 4301 4303 000000 000000 000006 000010 000014 000020 000022 000026 000032 000036 000C42 000046 000052 000056 000062 000066 000072 000074 000100 000102 000106 000110 000114 000116 000120 ; ; 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 Size: Maximum stack ROUTINE PROC_RETPKT te ! : NOVALUE SEQ 0302 Page 111 USER$1:[AZTEC.CZRCDBICZRCD3.SRC; 17 (38) 14-Jun-1985 09:41:21 MULTI-DRIVE SUBTEST ROUTINES *IU(d(»(fl(»(d(fl(d(ncun)n)r-»ar-r-r-r-r-r-»-r-r-h-»-wnu H CZRCDBO RC25 DISK EXERCISER VAX-11 Bliss-16 v4.0-579 14-Jun-1985 09:33:42 = 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 (I00Q) ACTS AS THE LINK BETWEEN THE TWO PROGRAM PARTS; IT HOLDS INDECES OF RETURN PACKETS WHICH REQUIRE PROCESSING. UNDER THE MULTI-DRIVE SUBTEST, RETURN PACKETS ORIGINATE FROM TWO SOURTES: 1. DISK MSCP - THE MORE COMMON, DESCRIBING A COMPLETED I/0 2. THE PROGRAM OPERATION “DRIVER" - DESCRIBING A CONTROLLER ERROR OR COMMAND TIMEOUT, BEGIN WHILE .IODQ_IN NEQU .IODQ_OUT DO BEGIN RP_INDX = QUT I00Q (); RP_ADDR = RETPKT + (.RP_INDX # RP_LEN & 2); SET_CPAR (.RP_ADDR [CTLRY); SELECTONEU .RP_ADDR [CONID] OF SET (CID DISK] [CID_DRIVER] END; END; TES:; 000000G 000000G 000000G 000000G 000060 000000G 000000G 000000G 000002 177760 0000006 000000G 000003 177400 000000V 000003 000000V ! DO UNTIL I/0 DONE QUEUE IS EMPTY ! ! GET INDEX OF NEXT RETPKT AND ADVANCE OUT POINTER CALCULATE RETPKT ADDRESS ! ! SET UP CURRENT CONTROLLER PARAMETERS CONNECTION ID INDICATES PACKET SOURCE : TO_RETPKT (); : DR_RETPKT (); ! DISK MSCP (I/0 TRANSFER DONE) ! MESSAGE FROM "DRIVER"” ! UNITL I/0 DONE QUEUE IS EMPTY ! ROUTINE PROC_RETPKT PROC.RETPKT MULTI-DRIVE SUBTEST ROUTINES .SBTTL PROC.RETPKT: 1s: CMP BEQ JSR MOV MOV MOV JSR ADD MOV MOVB BIC JSR MOV MOVB BIC BNE JSR BR 2%: CMP BNE JSR 3s: CMP 4 : 41 words, Routine Base: depth per invocation: 3 words : 4289 PC.0UT.I0DG : 4292 RO,RP. INDX RO, -(SP) #60, -(SP) PC,BLSMUL #RETPKT,RO RO,RP.ADDR 2(R0), (SP) #177760,(SP) PC,SET.CPAR RP .ADDR,RO 3(R0O),RO #177400,R0 23 PC,I0.RETPKT 3s RO, #3 3 PC.DR.RETPKT (SP)+,(5P). B8R 1s RTS $CODE$ I0DQ.IN,IODQ.OUT 4 PC + 12024 ; RP.INDX,* 4293 : 4294 H 4295 : 4297 ; 4295 4298 : : H : 4290 4289 4270 CZRCD3 v02.0 : H H H ; H : : H : H : H : H H 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 CZRCOBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 1} 1 1 1 1 1 1 1 1 1§ 1| 1§ 1 2 2 2 ROUTINE IO_RETPKT 1e ' ! ' ! ! H ! ! !- CCTLR SWEEP_FLAG = TRUE; H H : : H H : : : : : 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 FSET_UPAR 2 2 2 2 3 3 3 3 4 4 4 : : : H ; 4 34 4 4337 4 4336 4338 4339 4340 3 4331 H H H 4 4342 4343 4344 4 4 4 : H ; H : : H H H H H H : H H : 'b—-—- 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 ST_CODE = .RP_ADDR [STSCOD]; SB_CODE = .RP_ADDR [SUBCOD]; IF _ST_CODE NEQU ST_SuC THEN BEGIN . ! ! ! IF .ST_CODE EQLU ST_OFL THEN BEGIN ! ! IF UNIT OFFLINE THEN ERRDF (19, EGD_19, EMS_19); DUR [.L$LUN]) ! = DU FATAL; ! DODU (.LSLUN); ELSE ' IN CST AND SET GET STATUS CODE FROM RETPKT GET SUB-CODE, IF ANY IF STATUS CODE INDICATES ERROR THEN UP UNIT-RELATED DATA "FATAL I/0 ERROR” LOAD REASON FOR DROPPING UNIT DROP UNIT END ! ELSE BEGIN CASE ERROR IS NOT UNIT-OFFLINE .ST_CODE FROM 1 10 11 OF SET 4§ 4 4 4 4 4 4 4 4 4 4 3 4 3 3 3 INDICATES THAT SWEEP () WILL BE CALLED FIND UNIT'S ENTRY 4 4 4 : ! (); ! 4 4333 4334 4335 CURRENT CONTROLLER NUMBER BEGIN 2 : : : NOVALUE = IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET 4320 4332 SEQ 0303 VAX-11 Bliss-16 v4.0-579 Page 113 USER$1:[AZTEC.CZRCDBICZRCD3.5RC;17 (39) THIS ROUTINE IS CALLED BY PROC_RETPKT TO HANDLE ALL I/0 TRANSFER 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. : : : 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 (1) [21] (3] : ERRHRD (31, EGH_30, EMS_30); : ERRHRD (32, EGH_30, EMS_30); H ! INVALID COMMAND ! COMMAND ABORTED ! UNIT OFFLINE (DEVICE-FATAL) (5] (6] (7] (8] (9] (10] [11) [OUTRANGE] TES; : : : : : : : : ! ! ! ! ' ! ! ! [4] HARD _ERR (1); END; END : ERRHRD (34, ERRHRD ERRHRD ERRHRD ERRHRD ERRHRD ERRHRD ERRHRD ERRHRD (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); EMS5_30); EMS_30); EMS_30); EMS_30); EMS_30); EMS_30); ! ! 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 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 ROV WWWD WWWN CZRCD3 v02.0 000000 010146 000002 000010 000014 000020 000026 000034 000040 000042 000044 000046 000050 000052 000056 000062 000066 000070 000074 000076 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 0000006 0000006 013700 112760 104451 000513 005300 020027 101003 006300 066007 104456 000036 0000006 0000006 000461 104456 SEQ 0304 VAX-11 Bliss-16 V4.0-579 Page 114 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (39) CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ELSE ! ELSE ! ! ' ! UPDATE I/0 STATISTICS %FEHOST IS DOING WRITE-COMPARES THEN SAVE I/0 PACKET OR DO WRITE-CHECK ! ! ! ! IF SWEEP_FLAG IS STILL TRUE THEN DEALLOCATE BUFFER(S) AND RETPKT(S) DECREMENT NO. OF OUTSTANDING QIOS ! ROUTINE IO_RETPKT BEGIN MD _TALLY (); IF BIT_TST (SWP_FLAGS, THEN HOST _WRT_CHK (); SWF HWC) - I/0 WAS SUCCESSFUL END; IF .SWEEP_FLAG EQLU TRUE THEN SWEEP (); QI0 [.CCTLR]} = .QIO [.CCTLR) 1; END; .SBTTL I0O.RETPKT: MOV 000001 000630 000000V 000000G 000016 000000G 177740 0000006 000016 174000 0000006 0000006 000003 0000006 000004 000000G 000012 1s$: 000010° 3s: 43 : MOVB JSR MOV MOVB BIC MOV ASR ASR ASR ASR ASR BIC MOV MOV BEQ cMP BNE TRAP .WORD .WORD .WORD MOV MOovB TRAP B8R DEC CMP BHI ASL ADD TRAP .WORD .WORD .WORD BR TRAP IO.RETPKT MULTI-DRIVE SUBTEST ROUTINES R1,-(SP) #1 ,SWEEP.FLAG PC,FSET.UPAR RP.ADDR,RO ; H ; ; 4304 4319 4320 4321 ; 4322 : 4323 ; 4327 : 4331 : 4332 : H ; 4333 4327 4339 16(R0),ST.CODE #177740,ST.CODE 16(RO),R1 R1 R1 R1 R1 R1 #174000,R1 R1,S8B.CODE ST.CODE,RO 153 RO,#3 1 55 23 €GD. 19 EMS.19 L$LUN,RO #4 ,0UR(RO) 51 164 RO RO, #12 3 RO P.AARB(RO),PC 56 36 EGH. 30 EMS. 30 144 56 ; ; : : Case dispatch 4353 4339 4342 CZRCD3 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 CZRCOBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 000037 0000006 0000006 000454 104456 000040 0000006 000000G 000447 Ss: 104456 000042 0000006 0000006 000442 104456 000043 0000006 000000G 000435 104456 000044 0000006 000000G 0C0430 104456 000045 0000006 0000006 000423 104456 000046 0000006 0000006 000416 000404 104456 000051 0000006 000000G 012746 004737 005726 000410 004737 132737 001402 004737 123727 78: 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 10¢: 11s$: 12¢: 13 000001 000000G 000000V 000100 000000G 000000V 000630* 000001 .WORD .WORD .WORD BR TRAP .WORD .WORD .WORD TRAP .WORD .WORD .WORD 9s: 104456 000047 0000006 0000006 000411 104456 000050 0000006 0000006 14-Jun-1985 09:33:42 6$: 8% 14%; 15s: 16%: SEQ 030S VAX-11 Bliss-16 Vv4.0-579 Page 115 USER$1:(AZTEC.CZRCDBICZRCD3.SRC;17 19 14-Jun-198S 09:41:21 JSR BITB BEQ JSR cHMPB 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 144 56 50 EGH. 30 EMS. 30 14 56 51 EGH. 30 EMS. 30 PC,HARD.ERR 4339 ; 4343 H 4339 H 4345 : 4339 : 4346 H 4339 H 4347 H 4339 i 43438 ; 4339 : 4349 H 4339 H 4350 H 4339 : 4351 H 4339 : 4352 H 4356 (SP). 16 PC,MD. TALLY #100,SWP .FLAGS 16% PC,HOST.WRT. CHK SWEEP.FLAG,#1 H 4337 4323 4364 4365 ; 4367 : 4371 CZRCD3 CZRCOBO RC25 DISK EXERCISER v0e2.0 000360 000362 000366 000372 000376 000400 ;: : MULTI-DRIVE SUBTEST ROUTINES 001002 004737 013700 105360 012601 000207 Routine Size: Maximum stack 000000V 0000006 000000G 17¢: 000022 000024 000026 000030 000032 000034 000012 000024 000154 000036 000050 000062 000074 000106 000120 0C0132 000144 BNE JSR MOV DECB 17 PC,SWEEP CCTLR,RO QIOCRO) (SP)+,R1 MOV RTS 129 words, depth per Routine Base: invocation: 3 words 000010 000010 000012 000014 007716 000020 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 P.AAB: 2$: $CODE$ PC - VAX-11 Bliss-16 V4.0-579 SEQ 0306 Page 116 USER$1:[AZTEC.CZRCDBICZRCD3.SRC;17 (39 H 4373 ; 4374 : 4304 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 CASE Table for I0O.RETPKT+0136 (4%] (5¢] (14%] (6] (73] (8%) (9¢] [(10$]) [11$) [(12%) [(13%) 4339 CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 : H MULTI-DRIVE SUBTEST ROUTINES 4377 4378 1 1 ROUTINE FSET_UPAR : 4379 : H H : : 1 4380 4381 4382 4383 4384 1 1 1 1 | ! ! ! ' ! 1 1 1 1 1 2 ! ! ' !- : 4385 H : H H H : 4386 4387 4388 4389 4390 4391 1 : 4392 H H H : : ; 4393 4394 4395 4396 4397 4398 4399 4 H : ; H H : : H 4400 44301 4402 4403 3404 4405 4406 44307 4 4 4 3 3 2 2 1 : 2 2 3 3 3 3 4 VAX-11 Bliss-16 v4.0-579 14-Jun-1985 09:33:42 NOVALUE = 1e THIS ROUTINE IS CALLED BY IO_RETPKT AND OTHERS TO SEARCH THE CURRENT CONTRCLLER 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. H IMPLICIT INPUTS: RP_ADDR - ADDRESS OF CURRENT RETURN PACKET CST_ADDR - ADDRESS OF CURRENT CONTROLLER'S CST BEGIN INCR OFFSET FROM (O +« OF _UN) TO (3 + OF_UN) DO BEGIN IF .CST_ADDR [.OFFSET, THEN BEGIN P_ADDR] EQLU ! FOR EACH UNIT IN CST .RP_ADDR [PLAT] SET_UPAR (.OFFSET); RETURN; ! ! IF RETPKT UNIT NUMBER MATCHES CST ENTRY THEN ! SET UP UNIT RELATED DATA ! DONE END; END; END; .SBTTL .PSECT 012550 000000 004137 0000006 000004 000010 000012 000014 000020 000024 000026 000030 000034 000036 000040 000044 30046 000050 000052 000056 000060 012702 010201 006301 063701 013700 005003 151103 020360 001005 010246 004737 005726 000207 005202 020227 003754 000207 000003 ; ; : SEQ 0307 Page 117 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 (40) 14-Jun-198S 09:41:21 000000G 000000G 000010 000000G 000006 CST UNIT SEARCH LOOP ! ROUTINE FSET_UPAR FSET.UPAR MULTI-DRIVE SUBTEST ROUTINES $CODES$, RO FSET.UPAR: JSR MOV 13: MOV ASL ADD MOV CLR 8ISB CMP BNE MOV JSR TST RTS 2$: INC CMP BLE RTS Routine Size: 25 words, Routine Base: $CODES$ Maximum stack depth per invocation: 6 words ! R1,$SAVE3 #3,R2 R2.R1 R1 CST.ADDR,R1 RP .ADDR,RO R3 (R1),R3 R3,10(RO) 23 R2,-(SP) PC,SET.UPAR (SP). PC R2 R2,%6 13 PC + 12550 : ; ; %, 0FFSET OFFSET, s 4377 4393 4396 ; OFFSET,» 4400 : : ; ; : OFFSET OFFSET,» 4401 4398 4393 4377 CZRCD3 vo2.0 4408 4409 44190 4411 4412 4413 : 3414 : 4415 : 4416 H H 4417 4418 : 4419 H H H : : : H : H H : 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 443 4432 H : ; : H : 4433 4434 4435 4436 ;4437 4438 ; : : : : 4439 4440 4441 4442 H 4443 : 4444 H : 4445 4446 : 4447 H 4448 h-NJNJAJn)n)n)uufltfl(d(fl(dru(fl(fl(fl(A(d(d(dh)o‘h)n)h‘h-r-r-h-h-r-h-r-h-r-r-r-hnnw— H : : : : : CZRCDBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 000000 010146 000002 000006 000014 000016 000022 000026 000032 000036 000042 000050 000054 013700 126027 001020 013746 012746 004737 013700 013701 066160 012716 000421 ROUTINE MD_TALLY : NOVALUE 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 = Ve ! ! ! ! ! ! THIS ROUTINE IS CALLED FROM IO_RETPKT FOR ALL I/O 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 THEN BEGIN [ENDCOD] EQLU (OP_RD + OP_END) UPD_IOC (T_ADDR [READ_LO), 1); T_ADDR [BR_LO) = .T_ADDR [BR_LO) OVF _CHK (T_ADDR [BR_L01); + .RP_ADDR ! ' IF ENDCODE IS READ THEN ! INCREMENT NO. OF READS [BCNT_LO); ! UPDATE BYTE COUNT ! CHECK FOR FIELD OVERFLOW END ELSE ! BEGIN UPD_IOC (T_ADDR [WRIT_LO], 1); T ADDR [BW_LO) = .T_ADDR [BW_LO) OVF _CHK (T_ADDR (BW_L0]); + .RP_ADDR ELSE ENDCODE IS WRITE ! INCREMENT NO. OF WRITES [BCNT_LOJ; ! UPDATE BYTE COUNT ! CHECK FOR FIELD OVERFLOW END; IF .CPT THEN [.LS$LUN] XFR_CHK ! (); END; 000000G 000014 000241 000000G 000001 000000G 000000G 000000G 000020 000014 000014 .SBTTL MD.TALLY: MOV MOV CMPB BNE MOV MOV JSR MOV MOV ADD ;gv IF UNIT IS STILL UNDER TEST ! ! THEN CHECK MBYTES XFR‘D AGAINST LIMIT ! ROUTINE MD_TALLY MD.TALLY MULTI-DRIVE SUBTEST ROUTINES R1,-(SP) RP .ADDR,RO 14(RO),#241 1 T.ADDR, -(SP) #1,-(SP) PC.UPD.IOC T.ADOR,RO RP .ADDR,R1 20(R1),14(R0O) 314.(SP) $ H : 4408 4426 : 4430 : 4431 H 4432 CZRCD3 CZRCOBO RC25 DISK EXERCISER v02.0 000056 000062 000066 000072 000076 000102 000106 000114 000120 000122 000126 000132 000140 000142 000146 000150 000152 ; F ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MULTI-DRIVE SUBTEST ROUTINES 013746 052716 012746 004737 013700 013701 066160C 012716 060016 004737 013700 132760 001402 004737 022626 012601 000207 Routine Size: 000000G 000004 000001 000000G 0000006 0000006 000020 000022 000022 0000006 0000006 000001 000000G 1s: MOV ADD MOV T.ADDR,-(SP) #4,(SP) #1,-(SP) PC,UPD.IOC JSR 2%: MOV MOV ADD MOV ADD T.ADDR,RO RO, (SP) PC,OVF.CHK L$LUN,RO #1,CPT(RO) BITB BEQ JSR CcMp 3 PC,XFR.CHK (SP)+,(SP)» (SP)+,R1 MoV RTS 54 words, Maximum stack depth per Routine Base: invocation: 4 words $CODES Page 120 (41) 4433 ; 4439 20(R1),22(R0O) #22,(SP) JSR 3s: : RP.ADDR,R1 MOV 0000006 SEQ 0309 VAX-11 Bliss-16 vV4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 PC - 12632 : ; 4440 4444 ; ; 4446 4424 H 4408 CZRCD3 CZRCOBO RC25 DISK EXERCISER v0e2.0 H MULTI-DRIVE SUBTEST ROUTINES 4449 |} : : : 4451 4452 4453 1 1 | : : H 4454 4455 4456 1 1 1 : 4457 H : : H : H H H H H : 4458 45359 4460 4461 4462 4463 4464 4465 4466 4467 4468 : H H 4480 4481 : 4482 H H 4483 4484 : 4485 H 4486 2 2 3 2 3 3 3 H 4495 3 4498 : H ] : H H : H : e 4499 4500 4501 4502 4503 4504 4505 4506 4507 3 2 3 (RP_INDX) THEN THE IS SAVED IN THE CONTROLLER‘S RETURN PACKET : SAVE ADDR OF I/0 BUFFER DESCRIPTOR ! IF WRITE OPERATION ! BEGIN INCR INDEX FROM .RPS_X1 TO BEGIN .RPS_X2 DO IF _RP_SAVE [.INDEX] LSS O THEN BEGIN RP_SAVE [.INDEX] EXITLOOP; END; ! SIGNED WORD; .RP_ADDR [ENDCOD] EQLU (OP_WRT + OP_END) 3 4494 INDEX THEN 4 3 3 : IF S S S 4496 4497 INDEX S S : : LJICAL BUFFW, 4 4 2488 4489 4493 WRITE-COMPARE 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) 4 4487 : IF THE CURRENT RETPKT BEING PROCESSED IS A WRITE FUNCTION, 3 4 : 4490 4492 OPTION WAS SELECTED BY THE OPERATOR. TRANSFER RETURN THE HOST BEGIN H H : : ! H ' I/0 IF 1 1 1 1 1 | 1 | 1 | 2 2 2 4476 THIS ROUTINE IS CALLED FROM IO_RETPKT FOR ALL PACKETS WITH “SUCCESS” STATUS CODES., BUT ONLY 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. 4471 4472 4473 4477 4478 4479 NOVALUE = ! ! ' ' ! ' ! ! ! ! '- H : H H : PACKET | 2 : : : e ! ! = _RP_INDX; THEN ! LOOK FOR SPARE ENTRY IN H CONTROLLER'S RP_SAVE ! ! IF SPARE SLOT FOUND THEN ! SAVE INDEX OF WRITE RETPKT ! DON'T ! ELSE ENDCODOE ! ! IF ASSOCIATED WRITE PACKET IS FOUND THEN ! ! ! ADDR OF ADDR OF WRITE 1/0 BUFFER COMPARE DATA IN B0TH BUFFERS. TF FAILURE THEN ' DONE END; SWEEP_FLAG = FALSE; CALL SWEEP FROM IO_RETPKT END ELSE BEGIN 1S READ 3 3 3 4 3 4 4 4 S IF (INDEX = RPS_REM ()) GEQ © THEN BEGIN g . BUFFW = RETPKT { .INDEX, BUFF _0}; IF CMP_DATA (.BUFFW) EQLU FAILURE THEN BEGIN SEQ 0310 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 ! 4469 4470 4474 4475 ROUTINE HOST_WRT_CHK 14-Jun-198S 09:33:42 VAX-11 Bliss-16 V4.0-579 1 : : : 14-Jun-1985 09:41:21 Page 121 (42) CZRCD3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 4508 4509 4510 4512 4513 4514 4515 4516 4517 4519 4521 =OWabaabELNVWL ® % o @ @ @s we ®e e we we v02.0 ERRHRD (42, EGH_30, HARD _ERR (1); END; END; END; “1/0 REQUEST FAILED” INCR HARD ERROR STATISTIC IF COMPARE ERROR PUT_I0_BUFF (.BUFFW); PUT_RETPKT (.INDEX); ! ! RETURN WRITE 1/0 BUFFER TO POOL PUT BACK WRITE RETPKT END; ! ! ! IF ASSOCIATED WRITE RETPKT WAS FOUND IF ENDCODE WAS READ ROUTINE HOST_WRT_CHK 004137 0000006 000004 000010 000016 000020 000024 013700 126027 001022 013700 005300 000000G 000014 000242 000036 000044 000046 000050 000054 000056 C20062 000064 000070 000072 000074 000076 000102 000106 000112 000114 000116 000122 000124 000126 000130 000132 000134 000136 000142 000146 000150 000154 000156 000162 000164 i Routine Size: : 0000006 0000006 000000G 000000G 0000006 000630 33 000000V 000060 000000G 000024G .SBTTL HOST .WRT.CHK: JSR MOV cMP8 BNE MOV DEC BR 1s: TS78 BGE MOve BR 24: INC 4% RTS JSR MOV BLT MOV JSR 000000V 000001 0000006 000000G CMP BLE CLRB MOV » 000034 000407 105760 002004 113760 000404 005200 020037 003765 105037 000207 004737 010002 002434 010246 012746 004737 062700 010001 010116 004737 005700 001010 104456 0000S2 000000G 000000G 012716 004737 010116 004737 010216 004737 022626 000207 EMS_42); ! ! ! 000000 000026 000030 SEQ 0311 VAX-11 Bliss-16 v4.0-579 Page 121 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (42) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 Ss: 0000006 6s: S9 words, Routine Bese: Meximum steck depth per invocetion: 7 words R1,$SAVE2 RP.ADDR,RO : : 14(RO), 0242 4449 4476 44 RPS.X1,R0O RO 24 RP .SAVE(RO) 24 RP.INDX,RP.SAVE(RO) 33 RO RO,RPS.X2 1s SWEEP.FLAG PC PC,RPS.REM RO,R2 64 : i ¢, INDEX INDEX 4430 ; s(INDEX) 4483 *, +(INDEX) 4487 4485 4480 INDEX INDEX, s &, INDEX R2,-(SP) 960, -(SP) ; RO ,.R1 ; INDEX, s 4494 4476 4500 4504 PC,BLS$MUL QRETPKT.24 ,R0 ADD MOV MOV JSR ST BNE TRAP .WORD .WORD .WORD MOV JSR R1,(SP) PC.CMP.DATA RO S S6 S2 EGH. 30 EMS. 42 01,(SP) PC.HARD.ERR R1.(SP) MOV JSR MOV JSR CHP RTS $CODES HOST.WRT .CHK MULTI-DRIVE SUBTEST ROUTINES PC. . PUT I0.BUFF R2,(SP) PC.PUT .RETPKT (SP).,(SP). PC - 13006 ; ¢,BUFFW BUFFW,s 4505 : 4509 : 4510 ; BUFFUW, e 4514 : INDEX, o 4515 H : 4502 4449 C2RCD3 CZRCDBO RC25 DISK EXERCISER voe.0 H H : : : 14 -Jun-1985 09:41:21 MULTI-DRIVE SUBTEST ROUTINES 4522 4523 4524 4525 4526 1 1 1 1 1 RCUTINE CMP_DATA (BUFFW) = Seo H ! VAX-11 Bliss-16 v4.0-579 14-Jun-1985 09:33:42 USER$1:{AZTEC.CZRCDB JCZRCD3.5RC; 17 THIS ROUTINE IS CALLED BY HOST_WRT_CHK TO PERFORM THE ACTUAL WORD-BY WORD COMPARISON BETWEEN THE READ BUFFER DESCRIBED IN THE CURRENT RETURN : 4527 : : H H H : : H H : : : H : : : H : : H : : : H 1 4528 4529 4530 453 4SS§ 453 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 1 1| 1§ 1 1 1 1} 1 1 ! ! ! ! ! ! ' ! '- 2 2 2 2 2 2 2 2 2 2 2 2 2 2 BEGIN LOCAL RESULT : WORD, WBDO : WORD, W8D1 : WORD, RBDO : WORD, RBD1 : WORD, DISP : WORD, PAF : WORD, COUNT : WORD; ! ! ! ! ! ! ! ! RESULT = SUCCESS; WBDO = ., .BUFFW; ' ASSUME BLUE SKY ! WRITE BUFFER DESCRIPTOR (WORD 0) RBDO = _RP_ADDR (BUFF_0]; RBD1 = .RP_ADDR [BUFF_1]; IF _MEM_MGMT : 4552 : : : 2 4553 4554 4555 2 2 2 : : H ; 4557 4558 4559 4560 3 3 3 3 : 4556 : P 4561 4562 : : H 4563 4564 4565 ; B ; ; : H : H H 4566 4567 4568 4569 4570 4571 4572 4573 4574 2 3 3 3 3 3 3 3 3 2 2 2 2 1 3 H H 4575 4576 4577 4 : 4578 4 ; 1 4 ' PACKET AND ITS ASSOCIATED WRITE BUFFER. A VALUE OF “SUCCESS” RETURNED IF THE TWO BUFFERS ARE IDENTICAL. OTHERWISE, RETURNED. INPUTS: IS "FAILURE" IS BUFFW - ADDRESS OF THE WRITE BUFFER DESCRIPTOR IMPLICIT INPUTS: RP_ADDR - ADDRESS OF THE CURRENT RETURN PACKET (READ OPERATION) WBDY = THEN . (.BUFFW « 2); DISP = _WBDO AND w%0Q'17777; PAF = (_WBDO t -6) AND %0 1600 ; KTPARA = ( WBD1 t WBDO = %0‘ 100000’ 10) OR .PAF; OR .DISP; DISP = _RBDO AND %0'17777'; PAF = (.RBDO * -6) AND %0’ 1600’ ; KTPARS = ( ,RBDL1 * 10) OR RBDO = %0’ 120000’ OR 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 ! WRITE BUFFER DESCRIPTOR (WORD 1) ! THEN ! READ BUFFER DESCRIPTOR (WORD 0) ! READ BUFFER DESCRIPTOR (WORD 1) ! IF SYSTEM HAS MEMORY MANAGEMENT BEGIN .PAF; .DISP; ! WRITE BUFFER DISPLACEMENT ! PAGE ADORESS FIELD ! ! LOAD PAR4 WRITE BUFFER VIRTUAL ADDRESS ! READ BUFFER DISPLACEMENT ! PAGE ADDRESS FIELD ! LOAD PARS ! ' IF WCRD COUNT IS NON-ZERO THEN ! FOR EACH WORD IN BUFFERS ! IF WORDS COMPARE 0.K. ! READ BUFFER VIRTUAL ADDRESS END; IF (COUNT = THEN BEGIN _RP_ADDR [BCNT_LO] 7 2) NEQU O INCR I FROM 1 TO BEGIN IF .COUNT DO ..WBDO EQLU ..RBDO SEQ 0312 Page 124 (43) C2RCD3 C2RCDBO RC2S DISK EXERCISER v02.0 : 4579 H : : 4580 4581 4582 : 3 : 4583 4584 4585 : 4586 : : 4587 4588 : : : : H 4589 4590 4591 4592 4593 MULTI-ORIVE SUBTEST ROUTINES & S S 6 6 5 S 5 4 5 ; : : : 4612 4613 4614 4615 S S S 4 4616 4 ; : 4617 4618 3 3 ; 4619 2 : 4620 2 ELSE « [~ IF WRITE BUFFER CROSSES 4K PAGE BOUNDARY THEN ! %0'200'; RESET VIRTUAL ADDRESS ! ADVANCE ! END ! OTHERWISE PAR TO NEXT 4K PAGE IF MEMORY MANAGEMENT END BEGIN - COMPARE ERROR ! FAILED ! NO NEED TO CONTINUE END; END; 2 IF 4622 4623 4524 4525 4626 4627 4628 4629 4630 2 3 3 3 3 3 2 2 2 THEN .MEM_MGMT ! WORD COMPARE LOOP ! IF WORD COUNT IF SYSTEM HAS MEMORY ! BEGIN KTPAR4 = #0' 1000 ; KTPARS = %0'1200°; IS NON-ZERO ! THEN ! RESTORE PAR'S ! ROUTINE CMP_DATA MANAGEMENT END; RETURN .RESULT; END; .SBTTL [ IF SYSTEM HAS MEMORY MANAGEMENT THEN END; 4621 2 | .KTPARS RESULT = FAILURE; EXITLOOP; : 4631 4632 = END; : ; : ; : ; : : ; ; : ADVANCE WRITE BUFFER ADDRESS ADVANCE READ BUFFER ADDRESS ! RESET VIRTUAL ADDRESS ! ADVANCE PAR TO NEXT 4K PAGE RBDO = %0'120000'; 5 : ! THEN IF (.RBDO AND #0'17777') EQLU O ! IF READ BUFFER CROSSES 4K PAGE BOUNDARY THEN ! THEN BEGIN END; 4604 ! ' CHMP.DATA MULTI-DRIVE SEQ 0313 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC; 17 END; 7 4605 4606 4607 4608 4609 4610 ! WBDO = %0’ 100000’ ; KTPAR4 = _KTPAR4 .+ %0'200'; KTPARS : : : H ; : ! 2; BEGIN 7 : 4611 + THEN 7 7 7 7 .WBDO + 2; .RBDO IF (.WBDO AND %0°17777') EQLU O ! 6 7 6 6 6 6 7 7 7 H = BEGIN ¢ 6 4595 4596 4597 4598 4599 4600 4601 4603 ' IF .MEM MGMT THEN 6 H H : H : H : : RBDO VAY-11 Blies-16 V4.0-579 14-Jun-1985 09:33:42 BEGIN WBDO = S 4594 4602 THEN S S S : : 14-Jun-1985 09:41:21 SUBTEST ROUTINES Page 125 (43) CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 000000 000004 000010 000014 000020 000024 000030 000034 000040 000042 0C0046 000052 000054 008056 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 0002590 000252 14-Jun-198S 09:41:21 14-Jun-1985 09:33:42 MULTI-DRIVE SUBTEST ROUTINES 004137 0C0000G 012746 000001 017604 000020 016600 000020 016046 000002 013701 000000G 016105 000024 016146 000026 005046 113716 0000006 032716 000001 001462 010402 042702 160000 010446 012746 177772 004737 0000006 010003 042703 176177 016600 000010 000300 105000 0€6300 0C6300 010337 172350 050037 172350 010204 052704 100000 010562 042702 160000 010516 012746 177772 004737 0000006 010003 042703 176177 016600 000010 000300 105000 006300 006300 010337 172352 050037 172352 010205 052705 120000 062706 000006 000020 016146 012746 000002 004737 0000006 022626 005700 001442 005001 000435 021415 001030 062704 000002 CMP.DATA: JSR MOV MOV MOV MOV MOV MOV MOV CLR MovB BIT BEQ MoV BIC MOV MOV JSR MoV BIC MOV SWAB CLRB ASL ASL MOV BIS Mov BIS MoV BIC MoV MOV JSR MOV 8IC MOV SWAB CLRB ASL ASL MOV 1s: 2%: 8IS MOV 8IS ADD MOV MOV JSR cMP TST 8EQ CLR B8R cHp BNE ADD VAX-11 Blies-16 V4.0-579 USER$1:[AZTEC.CZRCDBICZRCD3.SRC;:17 R1,$SAVES H ; 820(SP),R4 20(SP),RO 2(RO), -(SP) RP.ADDR,R1 20(R1),-(SP) #2,-(SP) PC,BLS$DIV ; ; BUFFW,W8D0 BUFFW,» ; *,WBD1 : ; +,RBDO *,RBD1 : MEM.MGMT, (SP) #1,(SP) 13 R4 ,R2 4160000,R2 R4, -(SP) PC,BL$SHF RO,R3 €176177,R3 10(sP),RO RO RO RO RO R3,86172352 RO,84172352 R2,RS #120000,RS 96,5P «,RESULT H 24(R1),RS 26(R1),-(SP) -(SP) PC,BL $SHF RO,R3 #176177,R3 10(SP).RO RO RO RO RO R3,84172350 RO, 54172350 R2,R4 #100000,R4 RS,R2 #160000,R2 RS,(SP) SEQ 0314 Page 126 ; ; ; 4522 4550 4551 4552 4553 4554 4555 WBDO,DISP +,DISP WBDO,s H t,PAF : »,PAF ; WBD1,= ; PAF,a ; DISP,uUBDO ; *+,WBDO ; RBDO,DISP : *,0ISP ; (43) RBDO,=» ; &,PAF H t,PAF ; RBD1,=x ; PAF,& ; ; DISP,RBDO *,RBDO 4559 4560 4561 4562 4564 4565 4566 4567 : 4557 H 4571 (SP)+,(SP). RO 63 R1 5% (R4),(RS5) 43 #2,R4 ; COUNT i I ; WBDO,RBDO 4578 : &,WBDO 4582 4575 CZRCO3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 000256 000262 000266 000270 000274 000276 000302 000310 000314 000316 000322 0C0330 000332 000336 00C340 000342 000344 000346 000352 000354 000362 000370 000374 000400 062705 032716 001424 032704 001005 012704 062737 032705 001011 012705 062737 000403 005066 000403 005201 020100 003740 032716 001406 012737 012737 016600 062706 0€0207 ; Routine Size: ; Maximum stack 000002 000001 120000 000200 ADD 172350 3 172352 000006 43 S5$: 000001 001000 001200 000006 000010 14-Jun-1985 09:33:42 BIT BEQ BIT BNE 017777 100000 000200 017777 14-Jun-1985 09:41:21 6$: 172350 172352 7$: 129 words, depth per MOV ADD 8IT BNE MOV ADD BR CLR B8R INC cHp BLE BIT BEQ Rout ine Base: $CODES 14 words invocation: ; ; #,RBDO 9-60000,R5 ; *,RBDO 2200.80172352 $ 6(SP) 63 R1 R1,RO 2% ¢1,(SP) 78 41000, 84172350 #1200, 84172352 6(SP),RO #10,5P PC + 13174 SEQ 0315 Page 127 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;:17 #2,R5 #1,(SP) 5% 217777.R4 3 #-100000,R4 9200,84172350 217777.R5 5 MOV MOV MoV ADD RTS VAX-11 Bliss-16 Vv4.0-579 ; *,RBDC (43) 4583 ; 4584 : +,WBDO ; *,WBDO H ; RESULT s : 4592 4593 4597 4601 4602 : H 4588 I I,COUNT : 4578 4612 4610 4575 4621 H 4625 : 4626 ; RESULT, = : 4538 4522 CZRCD3 CZRCDBO RC25 DISK EXERCISER vo2.¢ : : H H MULTI-DRIVE SUBTEST ROUTINES 4633 4634 4635 4636 4637 4638 4639 : : : 4640 4641 4642 H : H H H : : : H H : H : : 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 : 4657 H H : H : H : H H : 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 : 46¢€%9 H 4669 : H 4670 3671 : : : : : : 4672 4673 4674 4675 4676 4677 : 4678 000000 000002 000006 000012 000016 000022 000024 000032 raloanJN)n)oiolauhtntnLnLNLana-a-a-ohh(N(nfl)anJn;n:n:n)r-h-»-h-r-»-h-h-»-r-»-ror-»-u-r- : H : 010146 013700 116000 042700 020027 001026 132737 001422 ROUTINE SWEEP ! * ! ! ! ! ! ! : 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 NOVALUE = 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 THE ASSOCIATED WRITE RETPKT SO THAT ITS RESOURCES CAN ALSO BE DEALLOCATED. 1} IMPLICIT INPUTS: RP_ADDR RP_INDX - ! ! ! ! ADDRESS OF CURRENT RETURN PACKET INDEX OF CURRENT RETURN PACKET BEGIN LOCAL INDEX : SIGNED WORC; IF (.RP_ADDR THEN BEGIN [ENDCOD] IF BIT_TST THEN BEGIN AND OP_MSK) EQLU OP_RD (SWP_FLAGS, SWF_HWC) IF (INDEX = RPS_REM ()) GEQ O THEN BEGIN PUT_I0_BUFF (RETPKT [.INDEX, PUT_RETPKT (.INDEX); ! ! IF READ OPCODE OR ENDCODE THEN ! ! IF HOST IS DOING WRITE-COMPARES THEN ! ! IF ASSOCIATED WRITE RETPXT IS FOUND THEN BUFF_01); ! ! RETURN WRITE I/0 BUFFER TO POOL RETURN WRITE PACKET TO POOL END; END; END; PUT_IO_BUFF (RP_ADDR [BUFF_0]); PUT_RETPKT (.RP_INDX); ! RETURN CURRENT 1/0 BUFFER TO POOL RETURN CURRENT RETPKT TO POOL END; ! ROUTINE SWEE" SWEEP: 000000G 000014 177600 000041 000100 000000G ! .SB8TTL MOV MOV MOvB 8IC CMP BNE 8178 BEQ SWEEP MULTI-DRIVE SUBTEST ROUTINE R1,-(SP) H RP.ADDR,RO : 14(RO),RO 4633 4654 #177600,R0 RO, #41 1s #100,SWP .FLAGS 1¢ H 4658 CZRCO3 v0o2.0 000034 000040 000042 000044 000046 000052 000056 000062 000064 000070 000072 000076 000100 000104 000110 000114 000120 000124 000126 000130 ; ; CZRCCBO RC2S DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 004737 010001 002416 010146 012746 004737 062700 010016 004737 010116 004737 022626 013746 062716 004737 013716 004737 005726 012601 000207 Routine Size: Maximum stack 000000V 14-Jun-198S 09:41:21 14-Jun-1985 09:33:42 JSR MOV PC.RPS.REM RO,R1 1 R1,-(SP) BLT MOV MOV JSR ADD MOV JSR MoV JSR 000060 0000006 000024G 0000006 0000006 0000006 000024 000000G 0000006 0000006 1$: 45 words, Routine Base: depth per invocation: 4 words PC,BLS$MUL dRETPKT+24 RO RO,(SP) PC,PUT.IO0.BUFF RL1.(SP) PC,PUT.RETPKT (SP)+,(SP) cMp MOV ADD RP.ADDR, -(SP) @24,(SP) PC,PUT.I0.BUFF RP .INDX, (SP) PC,PUT.RETPKT JSR MOV JSR TST MOV RTS $CODES (SP). (SP)+,R1 PC + 13576 SEQ 0317 VAX-11 Bliss-16 v4.0-579 Page 129 USER$1:[AZTEC.CZRCDB)CZRCD3.SRC;17 (44) H 4662 ; %, INDEX i INDEX, s 4666 : INDEX, 4667 ; 4664 H 4675 H 4676 ; 4649 : 4633 CZRCO3 v0e2.0 4679 4680 4681 4682 : 4683 : H H : H : : : : H H 4684 4685 4686 4687 46388 4689 4690 4691 4692 4693 4694 : : : : H 3 4695 4696 4697 4698 4699 4700 : 4701 H : 4702 4703 : 4704 : : H : : : : : H H : H 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 : 4717 : : : : H : H ; : H H H 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 000000 0000C4 000010 r-nan:n:n:utolauhtntntntnuntn:-ULh-bcncncucflnan:n:n)n)n:n:n:r-r-r-ror-r-r-»-r-»-r-r-r-r-h-h-»-powna : : : H CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 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 = ! * ! ! ! ! ! ! ' ! ! ! ! THIS ROUTINE SEARCHES THE CURRENT CONTROLLER'S RP_SAVE AREA FOR A RETURN PACIET WHOSE COMMAND REFERENCE NUMBER (CRN) IS ONE LES" 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 1 QUTPUTS: ! 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 BEGIN IF (TEMP = THEN BEGIN .RPS_X1 TO .RPS_X2 DO _RP_SAVE [.COUNT)) GEQ O IF _RETPKT THEN BEGIN [.TEMP, ! ! ASSUME NOT FOUND FOR EACH ENTRY IN RP_SAVE ! ! IF THIS IS A VALID RETPKT INDEX THEN CRF_LO] EQLU (.RP_ADDR INDEX = .TEMP; RP_SAVE [.COUNT] EXITLOOP; = -1; [CRF_LO) - 1) ' ! IF CORRECT CRN THEN ! ! ! INDEX TO BE RETURNED INIT ENTRY DONE END; END; END; RETURN IF VALID RETPKT INDEX ! RP_SAVE ENTRY LOOP ! ROUTINE RPS_REM .INDEX; END; 0000006 177 0000006 ! .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 voz2.0 000014 000016 000020 000024 000026 000030 000034 000040 000042 000046 000052 000054 000050 000062 000064 000072 000074 000076 000102 000104 000106 s ; ; CZRCOBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun 1985 09:33:42 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: Maximum stack 0000006 1%: ADD BR Move BLT MoV MOV 000004G DEC CMP BNE 000377 000000G 2%: 38 36 words, Routine Base: depth per invocation: 8 words BR INC cHMp BLE MOV RTS $CODES &,COUNT ; #(COUNT),TEMP 4779 R3,-(SP) ; TEMP,» 4713 ; ; TEMP,INDEX #%,%(COUNT) 4717 4718 (SP)+,(SP)+ RP.ADDR,R2 4(R2),R2 R2 RETPKT+4(RO),R2 2$ R3,R4 #377,RP.SAVE(R1) 3 R1 R1,RPS.X2 1¢ R4 ,RO PC MOV MovB 000000G ; PC,BL$MUL CMP 0000006 000004 R4 ,R1 24 RP . SAVE(R1),R3 2% MoV MOV JSR 000060 0000006 SEQ 0319 VAX-11 Bliss-16 V4.0-579 Page 131 USER$1:{AZTEC.CZRCDBICZRCD3.SRC;17 (4S) + 13730 : ; COUNT ; COUNT, s : INDEX, & 4715 4706 4699 ; 4679 CZRCO3 CZRCDBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES 1] . . L] . . . ’ . . . L] . * ’ . . 1] - ¢ . 1] . 1] . . . 1 - 1] . . . L) . . . ’ . . . . . . . 1 . 1) . 1 . L] . 1] ’ - 1] . . . ’ . [ ’ . . . . . . ’ 1] . L) . [ . . . 1] . ’ ’ . 1] . L] . L) . . [ . . . ’ L] et ’ 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 ROUTINE DR_RETPKT : NOVALUE = 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. 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 RETURM PACKET 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 BEGIN LOCAL INDEX : SIGNED WORD; IF _RP_ADDR THEN BEGIN [MESTYP] EQLU MT_FATAL PUTA _BUFF (); INCR COUNT FROM BEGIN IF (INDEX = THEN .RPS_X1 TO .RPS_X2 DO .RP_SAVE [.COUNT]) GEQ O BEGIN PUT _RETPKT ( ,.INDEX); RP_SAVE [.COUNT] = -1; ! ' 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 ! INIT ENTRY TO POOL END; END; ! QIO (.CCTLR] = 0; CST_ADDR [STATE) = OFFLINE; OROP_CTLR (.CCTLR, DU_FATAL); PUT_RETPKT (.RP_INDX); ELSE ! RP_SAVE ENTRY LOOP CLEAR NO. OF OUTSTANDING QIOS ! ! ! MARK CST OFFLINE DROP CONTROLLER'S UNITS PUT BACK RETPKT ! ELSE ! ! SET UP UNIT-RELATED PARAMETERS “I/0 REQUEST FAILED* END BEGIN FSET_UPAR (); ERRHRD (43, EGH_30, EMS_43); - SEQ 0320 VAX-11 Bliss-16 V4.0-579 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 * . . WWMNNWMWUJNNNU‘&&UlU‘UlUIUI&b&&WMWU‘NNNNNNNHPPHF‘HHPHHfihfifiPHHHHHMHH v0z2.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 COMMAND TIMEOUT Page 132 (46) CZRCDBO RC25S DISK EXERCISER HARD _ERR (1); SWEEP (); QIO [.CCTLR]) ! ROUTINE DR_RETPKT 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 0000006 0000006 012746 004737 004737 013700 105360 005726 000207 000000G 000002 177417 000060 0000006 000000G 000000G 000000G 000000G 000377 000000G .SBTTL DR.RETPKT: JSR MOV MOVB BIC CMP BNE JSR MOV MOV DEC BR 1$: MOVB BLT MOV JSR MOVB T1ST 2%: INC cMP BLE 000000G 000000G 000000G 100000 000002 000004 000000G 000000G 000000G 012550 3¢ 000001 000000G 013576 0000006 000000G 44 : MOV CLRB MOV BIC MOV MOV JSR MOV JSP 18T BR JSR TRAP .WORD .WORD .WORD MOV JSR JSR MOV DECB 4730 4757 2(R0O),RO 9177417,R0 RO, #60 3 PC,PUTA.BUFF RPS.X2,R3 RPS.X1,R1 R1 24 RP.SAVE(R1),R2 », COUNT 23 R2,-(SP) PC,PUT.RETPKT #377,RP.SAVE(R1) (SP)+ R1 R1,R3 13 (SP)« 56 53 EGH. 30 EMS.43 #1,-(SP) PC,HARD.ERR PC,SWEEP CCTLR,RO QIOCRO) (SP)« PC - 14040 «(COUNT), INDEX 4765 INDEX, » 4769 *,%(COUNT) 4770 4767 4762 COUNT COUNT, & 776 4777 4778 PC,DROP.CTLR RP.INDX, (SP) PC,PUT .RETPKT 4 PC,FSET.UPAR 4761 4762 COUNT R1,-(SP) TST $CODES R1,$SAVE3 RP.ADDR, RO CCTLR,R1 QIOCR1) CST.ADDR,RO #100000,2(RO) RTS 70 words, Routine Base: depth per invocation: 7 words DR.RETPKT MULTI-DRIVE SUBTEST ROUTINES 4779 @ 000000G Maximum stack - 1; END; 004137 : Routine Size: .QI0 [.CCTLR) INCREMENT HARD ERROR STAT FOR UNIT RETURN RESOURCES DECREMENT NO. OF OUTSTANDING QIOS END; 000000 ; = ! ! ! ws 4787 4788 4789 4790 4791 4792 4793 PR N NN MULTI-DRIVE SUBTEST ROUTINES SEQ 0321 VAX-11 Bliss-16 v4.0-579 Page 133 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 (46) @ v02.0 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 *s CZRCD3 4759 4757 4785 4786 4787 4788 4789 4752 4730 CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.0 . H . H . H . i . H H . H H H . H . H H . H . H . H . . . H . H i i i . 4 . H H . H . H . H . H i . : . i . H i . H H . H . H . H i . H i H . H i 3 . i . H . H . H . i . i . H H . H . H 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 ROUTINE DRV_TIMCHK : VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 NOVALUE = THIS ROUTINE IS CALLED ONCE PER SECOND FROM EITHER THE MULTI-DRIVE SUBTEST EXECUTIVE (MULTI_DRIVE) OR THE DM EXERCISER SUBTEST EXECUTIVE (OM_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 : WORD; INCR CNTLR FROM O TO (MAX_CTLR BEGIN - 1) DO SET_CPAR (.CNTLR); IF _CST_ADDR ([STATE) EQLU ONLINE THEN BEGIN INCR COUNT FROM BEGIN .OCL_X1 TO IF (M_INDEX = THEN .OCL_X2 DO ,QUTC_LIST ! ! ! ! MSCP ENVELOPE INDEX MSCP ENVELOPE ADDRESS COMMAND RING (C-RING) ADDRESS TYPE OF ERROR ! FOR EACH CONTROLLER ! ! ! SET UP CONTROLLER-RELATED DATA IF CONTROLLER IS ONLINE THEN ! FOR EACH OUTSTANDING COMMAND ENTRY [.COUNT]) GEQ O BEGIN QUTC_TIMR [.COUNT] = .OUTC_TIMR [.COUNT]) IF _OUTC_TIMR (.COUNT] EQLU © THEN BEGIN OUTC_LIST M_ADDR ! IF ENTRY HOLDS VALID MSCP INDEX ! = [.COUNT) MSCP_ENV = « THEN - 1; ! ! ! -1, (.M_INDEX & ENV_LEN s 2); CR ADDR = .DCT_ADDR (CR_BEG); TYPE = MT_TIMEQUT; INCR SLOT FROM 1 TO CRING_LEN DO BEGIN SEQ 0322 Page 135 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 * H H MULTI-DRIVE SUBTEST ROUTINES cncpuqushqqqoac\omuunmmb&buwwuummmmmmmmm.-v-o-o-o-»-»v-»-r—-r-H.-»-o-.-o-o-o-u-o-.- . 14 Jun-1985 09:41:21 DECREMENT COMMAND TIMER IF COMMAND TIMED OUT THEN ! ! ! ! ! KILL OUTC ENTRY CALCULATE MSCP ENV ADDRESS GET START OF C-RING ASSUME COMMAND TIMED OQUT FOR EACH CRING SLOT 47 CZRCD3 CZRCOBO RC25 DISK EXERCISER MULTI-DRIVE SUBTEST ROUTINES v02.0 ; 4 ¢ : i 4 3 H H H H 3 i : i : ; $ H 3 3 i i 3 : } : 4 3 3 ¢ 4 4 i 3 i H i i i H H i H J H H ; i i i : H : i H 4851 4852 4853 4854 4855 4856 4857 4858 4359 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 43887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 IF . .CR_ADDR EQLA (.M_ADDR THEN BEGIN VAX-11 Bliss-16 SEQ 0323 v4.0-579 USER$1:[AZTEC.CZRCOB JCZRCD3.SRC;17 + 8) IF THIS SLOT HOLDS TIMED OUT COMMAND THEN ! ! ! ADVANCE TO HI ORDER WORD IF SLOT IS STILL CTLR-OWNED THEN WRT_RC25 (RCIP, RC_ALL, ALL_ONES); LSLUN = _CST_ADDR [OF _UN, P_UNIT]; ERRDF (20, EGD_20, EMS_20); DRV_CTLERR (.CNTLR); TYPE = MT_FATAL; !’ !s ! !] !1] WRITE IP TO STOP DEVICE 1ST UNIT & IN CTLR “CONTROLLER TIMEQUT" CLEAN UP CTLR DATA IN DRIVER CHANGE TYPE TO FATAL ERROR END; ! IF SLOT STILL CTLR-OWNED EXITLOOP; ! EXIT C-RING SLOT SEARCH LOOP END; ! IF COMMAND SLOT IS FOUND ! ADVANCE TO NEXT C-RING SLOT CR_ADDR = .CR_ADDR + 4; END; IF (RP_INDX = GET_RETPKT (.CNTLR)) GEQ 0 THEN BEGIN ! C-RING SLOT SEARCH LOOP ! ! IF RETPKT IS AVAILABLE THEN RP_ADDR = RETPKT + (.RP_INDX # RP_ LEN & 2); IF _TYPE EQLU MT_TIMEOUT ! IF COMMAND TIMEOQUT ! THEN COPY_BLK (.M _ADDR + 4, PUT_ENV (.M_INDEX); .RP_ADDR, END; END; END; END; END; END; T_FLAG = FALSE; RP_LEN); ! RP_ADDR (CTLR] = .CNTLR; RP_ADDR [MESTYP] = ,TYPE; RP_ADDR [CONID) = CID_DRIVER; IN_I00Q (.RP_INDX); END; Page ! ! CR_ADDR = .CR_ADDR + 2; IF BIT_TST (.CR_ADDR, ED_OWN) THEN BEGIN NNNU‘W&bU’lU‘lO\O‘QNOOOOOGO\DOOOOOOOOOQNQQOGOO\DOOO : 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ! ! ! COPY COMMAND TO RETPKT RETURN COMMAND ENVELOPE IF TYPE = COMMAND TIMEOUT ! LOAD CTLR @& INTO RETPKT LOAD TYPE LOAD PACKET ORIGINATOR PASS RETPKT TO EXERCISER VIA I0DQ ! IF RETPKT IS AVAILABLE ' IF COMMAND TIMER REACHED ZERO ! IF QUTC ENTRY HOLDS A COMMAND ENVELOPE INDEX ! OUTSTANDING COMMAND ENTRY LOOP ! IF CONTROLLER IS ONLINE ' CONTROLLER LOOP ! CLEAR ENTRY FLAG TO POOL 136 (47) CZRCD3 v02.0 : : 4908 4909 2 1 CZRCDBO RC25 DISK EXERCISER MULTI-ORIVE SUBTEST ROUTINES 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 END; ! ROUTINE DRV_TIMCHK 000000 004137 0000006 000004 000010 000012 000014 000020 000024 000030 000032 000036 000042 000044 000050 000054 000060 000062 000064 000066 000072 000074 000102 000106 000112 000116 000122 000126 000132 000136 000144 000150 000154 000160 000162 000164 000170 000172 000176 000202 000204 162706 005003 010346 004737 013700 005760 100402 000137 013701 005301 000137 116100 010066 002771 010100 006300 0C5360 001177 112761 016616 012746 004737 062700 010066 013700 016005 012766 016604 062704 012702 021504 001040 062705 011500 042700 020027 001034 012700 010077 013700 016046 000006 000210 000214 000220 000224 000226 000232 000236 000240 000242 000244 000246 000250 000316 042716 012637 0000006 0000006 000002 014762 0000006 014746' 0000006 000006 0000006 0000006 000377 000006 000104 000000G 0000006 000004 0000006 000010 000¢ 04 000006 000004 000010 000010 000002 077777 100000 1771777 0000006 0000006 000006 177740 0000006 104455 000024 0000006 0000006 010316 004737 0000006 .SBTTL DRV.TIMCHK: JSR sus CLR 1s: MOV JSR MOV TST BMI JMP 2s: MOV DEC 3s: JMP 44 Move MOV BLT MOV ASL DEC BNE MOVB MOV MOV JSR ADD MOV MOV MOV MOV MoV ADD MoV 5%: CcMP BNE ADD MOV 8IC o BNE MOV MOV MOV MOV SWAB 8IC MOV TRAP .WORD .WORD .WORD MOV JSR SEQ 0324 VAX-11 Blies-16 V4.0-579 Page 137 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC; 17 47) DRV.TIMCHK MULTI-DRIVE SUBTEST ROUTINES R1,$SAVES 6, 5P R3 R3,-(SP) PC,SET.CPAR CST.ADDR,RO 2(RO) 2 114 OCL.X1,R1 R1 10¢ OUTC.LIST(R1),RO RO,6(SP) 34 R1.RO RO OUTC.TIMR(RO) 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 €4,6(SP) 4(SP),R4 €10,R4 €10,R2 : : i 4794 CNTLR CNTLR,» 4324 4827 i 4828 i i &, COUNT COUNT 4832 : ; s(COUNT),s ®,M.INDEX 4835 i COUNT,s 4839 3 i : &,s(COUNT) M.INDEX, s 4840 4844 4345 3 ; : : : ¢,CR.ADDR o, TYPE M.ADDR,» ; =,SL07 *,M ADDR 4846 4847 4851 4843 (RS),R4 + CR.ADDR,+ 4851 ®2,R5 (RS),RO ; s »,CR.ADOR CR.ADDR, s 4855 4856 RO,8RC2S5.ADDR : : RC.REG,s ¢,RC.REG 4860 63 @77777,RO RO, ¢-100000 74 ®-1,R0 CST.ADDR,RC 6(RO), -(SP) (SP) €177740,(SP) (SP)+,LSLUN 55 24 EGD.20 EMS.20 R3,(SP) PC.DRV.CTLERR : 4861 ' 4862 ; CNTLR, e . 4063 C2RCO3 v0e.0 CZRCOBO RC2S DISK EYERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MULTI-DRIVE SUBTEST ROUTINES 00054 012766 000003 000006 MoV 000262 030404 BR 000264 062705 000004 6$: ADD 000270 005302 DEC 000272 001332 BNE 000274 010316 78 MOV 000276 004737 000000G JSR 000302 010037 0000006 MOV 000306 002470 BLT 000310 010016 MOV 000312 012746 000060 MOV 0C0316 004737 0000006 JSR 000322 062700 0000006 ADD 000326 010037 0000006 MOV 000332 026627 000010 000004 ctMP 000340 001016 BNE 000342 016616 000006 MoV 000346 062716 000004 ADD 000352 010046 MOV 000354 012746 000030 MoV 000360 004737 0000006 JSR 000364 016616 000016 MOV 000370 004737 000000G JSR 000374 022626 cMP 000376 013700 0000006 as: MOV 000402 000002 062700 ADD 000406 010302 MOV 000410 042702 177760 BIC 000414 142710 000017 BICB 000420 150210 8IS8 000422 016602 000010 MOV 000426 006302 ASL 000430 0063C2 ASL 000432 006302 ASL 000434 006202 ASL 000436 042702 177417 8IC 000442 142710 000360 8ICB 000446 150210 BISB 000450 112760 000003 000001 Move 000456 013716 000000G MOV 000462 004737 0000206 JSR 000466 005726 TST 000470 005726 9% TST 000472 005201 10¢: INC 000474 020137 000000G CHP 000500 003002 BGT 000502 000137 014324 JMP 000506 005726 TST 11s: 000510 005203 INC 000512 020327 000003 cmp 000516 003002 8GT 000520 009137 014266’ JMP 000524 105037 0000006 12s: CLRB 000530 062706 000006 ADD 000534 000207 RTS ; Pout ' ne S ze: 175 words, Routine Base: $CODES ; Max'mum stack depth per ‘nvocat on: 15 words VAX-11 Blises-16 V4.0-579 SEQ 0325 Page 138 USER$1:[AZTEC.CZRCDUBICZRCD3.SRC;17 %3,6(SP) ; 74 04 ,R5 R2 »,TYPE H 4864 4853 ; #,CR.ADDR ; SLOT 4872 48438 : CNTLR, » 4876 ; RP.INDX,s 4880 ;: TYPE,» 4381 ; M.ADDR,* 4885 5% R3,(SP) PC.GET.RETPKT RO,RP. INDX 9 RO,(SP) 60, -(SP) PC,BLSMUL ORETPKT RO RO,RP.ADDR 10(SP), 04 8s 6(SP),(SP) 84,(SP) RO, -(SP) €30, -(SP) 47 : RP.ADDR, PC,COPY.BLK 16(SP),(SP) : M.INDEX,s (5P)+,(SP). : 4883 ; 4890 PC,PUT.ENV RP .ADDRRO , 92 ,R0O R3,.R2 9177760,R2 #17,(RO) R2,(RO) 10(SP),R2 R2 R2 R2 R2 9177417, ,R2 4360,(RO) R2,(RO) €3,1(R0O) RP .INDX, (SP) PC,IN.IODQ (SP). (sP). R1 R1,0CL.x2 118 ;i CNTLR,» ; TYPE,s ; 4886 4891 4892 . 4893 : 4878 : 4842 ; COUNT ; COUNT, » 4832 H 4825 43 (SP). R3 R3, 43 124 1s ; &6, 5P H 4997 ; 4794 T.FLAG + PC 14254 ; CNTLR CNTLR,» 4824 CZRCO3 CZRCDBO RC25 DISK EXERCISER voe.0 4920 4921 4922 4923 4924 000000 000002 000006 000012 000C14 o o s o ps ot o poo poe 4912 4913 4914 4915 4916 4917 4918 4919 SSBTTL TN NN N RC25 INTERRUPT SERVICE ROUTINES 4910 4911 BGNSRV (RCINTO); 010046 005037 004737 012600 000002 : Routin e Size: 4925 4926 VR Max mum stack 4927 LB S IV R\ VR,V : 4928 4929 4930 4931 000000 000C02 000010 000014 000016 010046 012737 004737 012600 000002 ; Routin e Size: Maximum stack 4932 4933 4934 4935 4936 4937 4938 =~ OO - ;: 14-Jun-1985 09:41:21 'RC2S5 INTERRUPT SERVICE 14-Jun-1985 09:33:42 VAX-11 Bliss-16 v4.0-579 SEQ 0326 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 Page 140 (48) ROUTINES' * 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. ICTLR = 0; RCINT (); ENDSR\V ; .SBTTL RCINTO: : MOV CLR JSR 000600 000000V RCINTO RC25 INTERRUPT SERVICE ROUTINES RO,-(SP) : ICTLR ; PC,RCINT ; MOV (SP)+,R0O RTI 7 words, depth per Routine Base: invocation: 2 words S$CODES$ . : 4919 4921 4922 4919 15012 BGNSRV (RCINT1); ICTLR = 1; RCINT ()3 ENDSRV; 000001 000600 000000V 8 words, depth per Routine Base: invocation: 2 words BGNSRV (RCINT2); ICTLR = 2; RCINT (); ENDSRV; .SBTTL RCINT1::MOV MOV JSR MOV RTI $CODE$ RCINTL RC25 INTERRUPT SERVICE ROUTINES RO, -(SP) H #1,ICTLR : PC,RCINT H (SP)+,RO H + 15030 4926 4928 4929 4926 CZRCD3 CZRCOBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES v02.0 000000 000002 000010 000014 000016 Routin e Size: Maximum stack 4939 4940 4941 4942 4943 4944 4945 000000 000002 000010 000014 000016 ; : MR N N ;: : 010046 012737 004737 012600 000002 010046 012737 0C4737 012600 000002 Routin e Size: Maximum stack 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 .SBTTL 8 words, depth per RCINT2 RC25 INTERRUPT SERVICE ROUTINES RO, -(SP) : 42 ,ICTLR : PC,RCINT : RCINTZ: : MOV MOV JSR MOV RTI 000002 000600 000000V Rout ine Base: invocation: 2 words SEQ 0327 VAX-11 Blies-16 V4.0-579 Page 141 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (48) (SP)+,RO $CODES : 4933 4935 4936 4933 15050 BGNSRV (RCINT3); ICTLR = 3; RCINT (); ENDSRYV; .SBTTL RCINT3: MOV MOV JSR 000003 000600 000000V RCINT3 RC25 INTERRUPT SERVICE ROUTINES RO, -(SP) i #3,ICTLR ; PC,RCINT : MOV (SP)+,RO RTI 8 words, depth per Rout ine Base: 2 words invocation: $CODES « 15070 i 4940 4942 4943 4940 CZRCD3 CZRCDOBO RC2S DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES @ B S0 BE BT GI WL WP BE B9 W WE W6 G W G W WF G G0 O W Ws B0 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 o21 000000 000002 000004 000010 000014 000020 000024 000030 000034 000036 000044 0000456 000054 000056 010146 005746 004737 013700 013701 016116 011660 032710 001026 132737 001004 132737 001416 016000 NOVALUE SEQ 0328 VAX-11 Bliss-16 V4.0-579 Page 142 USER$1:(AZTEC.CZRCDBICZRCD3.SRC;17 (49) = * : 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 THIS IS THE COMMON ~If ++JPT SERVICE ROUTINE FOR ALL RC25 CONTROLLERS. AFTER SETTING UP ThE CC*+ . Y-USED CONTROLLER-RELATED DATA ITEMS, THIS ROUTINE WILL SAVE "We C.RRENT CONTENTS OF THE SA REGISTER IN THE DCT. THEN, IF THE “IGNCRe INTERRUPT” BIT IS SET, NO FURTHER ACTION IS TAKEN. IF THE INITIALIZATION SUBTEST IS IN PROGRESS OR IF THE DM EXERCISER 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). ] 4949 4950 4951 4952 RCUTINE RCINT B IS I D RIS D B e e v v 4946 4947 4948 h-nJN)olola-a-a-anh(uouoLhtncflnaoth)hah:h:h)h)h;r-hoh-r-r-r-h-h-r-bnr-r-»-wnn v02.0 BEGIN ISET_CPAR (); ! SET UP CONTROLLER-RELATED PARAMETERS IDCT_ADDR [SA_SAVE] = .IRC25_ADDR [RCSA, RC_ALLJ); ! SAVE SA REGISTER IF _IDCT_ADOR [IG_INT) EQLU YES ! IGNORE INTERRUPT? THEN RETURN; ! YES - RETURN IF CC.IIP_FLAGY OR (BIT_TST (SWP_FLAGS, SWF_DM)3) ! IF INIT SUBTEST OR DM EXERCISER THEN ! THEN BEGIN IF BIT_TST (IDCT ADDR THEN FATAL _ERROR () ELSE BEGIN [SA_SAVE]), SA_ERR) ! ! IF FATAL ERROR THEN ! DECLARE ERROR AND CLEAN UP ! ! POLL COMMAND RING POLL RESPONSE RING ! IF INIT SUBTEST OR DM EXERCISER ! ROUTINE RCINT ! POLL _CRING (); POLL _RRING (); OTHERWISE END; END; END; RCINT: 000000V 000566 0000006 000002 000002 040000 000001 000000G 000002 0000006 000002 1$: .SBTTL MOV TST JSR MOV MOV MOV MOV BIT BNE 81718 BNE gITB £Q MOV RCINT RC25 INTERRUPT SERVICE ROUTINES R1,-(SP) : -(SP) PC,ISET.CPAR : IDCT.ADDR,RO H IRC25.ADDR,R1 2(R1),(SP) ; *,RC.REG (SP),2(R0O) ; RC.REG,+ #40000,(RO) ; &,IDCT.ADDR 3¢ ; #1,IIP.FLAG ; 14 #2 ,SWP.FLAGS 3 2(R0O),RO : 4946 4963 4964 4965 4967 4968 4972 CZRCD3 vV02.0 000062 000066 000072 000074 000100 000102 000106 000112 000114 000116 ;: CZRCDBO RC2S DISK EXERCISER 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 RC25 INTERRUPTM SERVICE ROUTINES 042700 020027 001003 004737 000404 004737 004737 005726 012601 000207 Routine Size: TN 100000 2$: BIC cMp BNE JSR BR JSR 38 JSR TST 000000V 000000V 000000V gC.FATAL.ERROR $ PC,POLL.CRING PC,POLL.RRING (SP)+ (5P)+,R1 RTS 40 words, Routine Base: invocation: 3 words $CODE$ Page 143 (49) 977777,R0 RO,#-100000 23 MOV ; Maximum stack depth per SEQ 0329 VAX-11 Bliss-16 v4.0-579 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC; 17 PC + 15110 4974 4972 4978 4979 4946 CZRCO3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES : : H 4986 4987 4988 : : : 4989 4990 4991 : H : : 4992 4993 4994 4995 : : 4996 4997 H H 4998 4999 H : H ; : 5000 S001 5002 S003 5004 H : H H H : H : : H H H H 5005 5006 S007 5008 5009 5010 5011 5012 S013 S014 5015 5016 S017 : H 5019 5020 H : H ; H : ; H H H H : ; ; H 5018 5021 5022 5023 5024 5025 5026 5027 S028 5029 5030 5031 5032 $033 5034 l-‘NNNNNWU‘WNNNNWNNNNNNO—'D‘PMHF‘HPPHFFFHPMPHHNPHPPHFMHM v02.0 000000 010146 000002 0000C4 000010 005746 012700 104441 ROUTINE INT_PROC : NOVALUE SEQ 0330 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 144 (50) = * 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. 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 PRINTOQUTS. 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. IF NO INTERRUPT HAS OCCURRED IN THE RECENT PAST, ROUTINES TAKE NO ACTION. THEN THE POLLING NOTE: ALL RC25’'S ARE ASSUMMED TO BE HARDWIRED AT BR LEVEL 5 OR LESS. INTERRUPT PROCESSING RUNS AT LEVEL 5, AND CANNOT BE BROKEN BY AN INTERRUPT FROM A SECOND RCe2S. IMPLICIT INPUTS: CCTLR - CURRENT CONTROLLER NUMBER BEGIN SETPRI (PRIOS); ! ! ISET_CPAR (); ! IDCT_ADDR [SA_SAVE) = .IRC25_ADDR [RCSA, RC_ALL]); IF BIT_TST (IDCT_ADDR [SA_SAVE], SA_ERR) ! THEN ICTLR = ELSE .CCTLR; LOCK OUT ALL RC25 INTERRUPTS FAKE INTERRUPTING CONTROLLER NUMBER SET UP CONTROLLER-RELATED DATA ! SAVE SA REGISTER IF FATAL ERROR FATAL_ERROR () ! OTHERWISE ! ! POLL COMMAND RING POLL RESPONSE RING SETPRI (PRIDO); ! RESTORE PROCESSOR PRIORITY END; ! ROUTINE INT_PROC BEGIN POLL _CRING POLL _RRING (); (); END; INT.PROC: 000240 SBTTL MoV TST MOV TRAP INT.PROC RC25 INTERRUPT SERVICE ROUTINES R1,-(5P) H 4986 #240,R0 41 H 5017 -(SP) CZRCD3 CZRCDBO RC2S DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES v02.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 000000G 000600’ 000000V 000566 000000G 000002 000002 MOV JSR MOV MOV MOV MoV MOV 077777 100000 000000V 000000V ¢00000V 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 1$: 2%: ; Routine Size: 36 words, Routine Base: : Maximum stack depth per invocation: 4 words CCTLR, ICTLR : #77777,R1 R1,9-100000 13 PC,FATAL .ERROR 23 PC,POLL.CRING PC,POLL.RRING RO 41 (SP)+ (SP)+.R1 PC + 15230 5018 5019 ; 5020 2(R0), (SP) (SP),2(R1) (SP),R1 MOV RTS $CODES$ : PC,ISET.CPAR IDCT.ADDR, R1 IRC25. ADDR,RO B8IC CMP BNE JSR BR JSR JSR CLR TRAP TST SEQ 0331 VAY-11 Bliss-16 V4.0-579 Page 145 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 (50) ; *,RC.REG i RC.REG, : 5021 - 5023 5021 5027 5028 5032 : 4986 CZRCD3 v02.0 : : : : ; H : : : : : : : : : S035 5036 S037 5038 5039 5040 S041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 = 1O PO TO PO NI O RO = 1o oo s 1t 2 bt o ot oo H H : CZRCOBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 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: ; Maximum stack ROUTINE ISET_CPAR : SEQ 0332 VAX-11 Bliss-16 v4.0-579 Page 146 USER$1:[AZTEC.CZRCOBICZRCD3.SRC; 17 (s51) 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 NOVALUE = * 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 ADORESS IRC25_ADDR = .ICST ADDR [IP_ADDR]; ! GET RC25 ADDRESS ICOM_ADDR = COMM_AREA + (.ICTLR & COMM_LEN & 2); ! CALCULATE COMM_AREA ADDR END; 000600 000022 0000006 0000006 000566 000016 000000G 000000G 000564 000000G ! .SBTTL ISET.CPAR: MOV MOV MOV MOV JSR ADD MOV MOV MOV JSR ADD MOV MOV 000110 000000G 000000° 0C0560° 000010 ISET.CPAR RC25 INTERRUPT SERVICE ROUTINES MOV JSR ADD MOV ADD $CODES R1,-(SP> ICTLR.R1 R1,-(SP) H : 5035 5047 PC,BL$MUL #0CT RO RO,IDCT.ADDR R1,(SP) #16,-(SP) PC,BLSMUL #CST,RO RO,ICST.ADDR ; 5048 R1,(SP) ; PC,BLS$MUL #COMM_ AREA,RO RO,ICOM.ADDR #10,5P H (RO),IRC25.ACOR MOV MOV RTS 36 words, Routine Base: depth per invocat ' on: 6 words ROUTINE ISET_CPAR (SP)+,R1 PC + 15340 ; : ICST.ADDR, 5049 5050 5045 5035 CZRCOD3 v02.0 H H : : H : : H P H H : H : : H : H H H : H H : H ; : H : : : : H : S053 S054 5055 S056 5057 5058 S059 5060 5061 S062 5063 5064 5065 S066 5067 5068 5069 5070 5071 5072 5073 S074 5075 5076 5077 5078 5079 5080 5081 5082 5083 S084 5085 5086 5087 S088 5089 5090 O G4 G G3TD D 1O D T U PO 10 0 D D RO RO U == s s s b b n a2 et s s e e : RC25 INTERRUPT = 1O 1O Gl O H H : CZRCDBO RC25 DISK EXERCISER 14-Jun-1985 09:41:21 SERVICE ROUTINES ROUTINE FATAL_ERROR : NOVALUE VAX-11 Bliss-16 v4.0-579 14-Jun-1985 09:33:42 SEQ 0333 USER$1:(AZTEC.CZRCDBICZRCD3.SRC; 17 Page 147 (52) = Te ! 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, INFORM THE "PROGRAM" PORTION OF THE EVENT VIA RETURN PACKET. ' ' ! ! ! AND TO IMPLICIT INPUTS: ICTLR - INTERRUPTING CONTROLLER NUMBER IDCT_ADDR - ADDRESS OF INTERRUPTING CONTROLLER'S OCT ICST_ADDR - ADDRESS OF INTERRUPTING CONTROLLER'S CST [ BEGIN LOCAL INDEX : SIGNCD WORD, U_SAVE : WORD; SA_REG = _IDCT_ADDR [SA_SAVE]: U_SAVE = _LSLUN; LSLUN = _ICST_ADDR [0OF _UN, P_UNIT]); ! ! ! ! ! ! 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 RETPKT [.INDEX, CONID) = CID_DRIVER; RETPKT (.INDEX, MESTYP) = MT_FATAL; RETPKT [.INDEX, CTLR]) = .ICTLR; IN_IODQ (.INDEX); ! ! ! ! SET CONNECTION ID TO “DRIVER” FATAL ERROR CONTROLLER NUMBER LOAD RETPKT INDEX INTO I00Q END; ! IF RETPKT WAS ALLOCATED ! ROUTINE FATAL_ERR ERRDF (14, LSLUN = EGD_14, _U_SAVE; EMS_14); DRV_CTLERR (.ICTLR); IF (INDEX = GET_RETPKT (.ICTLR)) GEQ O THEN BEGIN 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 000000G 0000006 010137 013746 000566 000002 0000006 000000G 000564 000006 177740 0000006 0000006 000600 .SBTTL FATAL.ERROR: JSR MOV MOV MOV MOV MOV SWAB 8IC MOV TRAP .WORD .WORD .WORD MOV MOV FATAL.ERROR RC2, INTERRUPT SERVICE ROUTINES R1,$SAVE2 IDCT.ADDR,RO 2(RO),SA.REG L$LUN,RL ICST.ADDR,RO 6(RO),R2 R2 #177740,R2 R2,LSLUN S5 16 EGD. 14 EMS. 14 R1,LSLUN ICTLR, -(SP) : H : : 5053 5073 %,U.SAVE H : H 5074 S075 5076 U.SAVE,* 5077 5078 CZRCD3 v02.0 000064 000070 000074 000100 000102 000104 000106 000112 000116 000122 000130 000134 000140 000144 000146 000150 000154 000156 000160 ; : CZRCDOBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 004737 013716 004737 010001 002425 010116 012746 004737 062700 112760 013702 042702 112710 150210 010116 004737 005726 005726 000207 Routine Size: 000000G 000600 0000006 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 JSR PC,ORV.CTLERR JSR PC,GET.RETPKT RO,R1 1s R1,(SP) #60, -(SP) PC,BL$MUL MRETPKT+2,R0 #3,1(RO) ICTLR,R2 #177760,R2 #60, (RO) R2,(RO) R1,(SP) PC,IN.IODQ MOV ICTLR, (SP) MoV BLT MOV MOV 000060 0000006 0000026 000003 000001 000600° 177760 000060 000000G 1¢: S7 words, Maximum stack depth per Routine Base: invocation: 6 words JSR ADD MOvVB MOV 8IC MOV8 BISB MOV JSR TST TST RTS $CODES SEQ 0334 VAX-11 Bliss-16 V4.0-579 Page 148 USER$1:{AZTEC.CZRCDBICZRCD3.SRC;17 (52) (SP). (SP)« PC + 15450 5079 *, INDEX & INDEX, 5083 5085 INDEX, 5086 5081 5067 5053 CZRCD3 CZRCDBO RC2S DISK EXERCISER v02.0 : RC2S INTERRUPT SERVICE ROUTINES 5091 : 5092 : 5093 1 ROUTINE POLL _CRING : NOVALUE = 1 ‘e 1 5094 5095 5096 5097 5098 5099 5100 5101 5102 S103 5104 5105 5107 5108 5109 S110 2111 1 1 1 1 1 1 1 1 1 1 1 1 2 2 3 2 g H H : : H H : H H H H 5113 5114 S115 5116 5117 5118 S119 5120 2121 122 5123 3 3 3 3 g IOCT_ADDR [CRING_CNT] = .IDCT_ADDR [CRING_CNT) - 1; IDCT_ADDR [CR_POLL) = _IDCT_ADDR [CR_POLL]) + &; IF .IDCT_ADDR (CR_POLL] GTRA .IDCT_ADDR [CR_END) THEN IDCT_ADDR {CR_POLL]) = .IDCT_ADDR [CR_BEG]; 2 2 2 END; ICOM_ADDR [CMD_INT]) = O; 1 END; 112 2 ' ! ! ' ! ' ! ' ' ! ! 'BEGIN 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: Maximum stack SEQ 0335 USER$1:(AZTEC.CZRCDBICZRCD3.SRC;17 Page 149 (53) 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 WHILE ((.IDCT_ADOR (CRING_CNT] GTRU 0) AND ! WHILE & OF COMMANDS IN CRING > O AND NOT (BIT_TST (C.IDCT_ADOR {CR_POLL] + 2), ED_OWN))) DO ! CURRENT SLOT IS HOST-OWNED BEGIN 000000 ; VAX-11 Blise-16 V4.0-579 14-Jun-198S 09:33:42 H : : : H H : : H H : H H : : H H : ol 14-Jun-1985 09:41:21 .SBTTL POLL .CRING: JSR 1%: 000016 000002 077777 100000 000004 000012 000010 000560 000004 32 words, depth per 2%: Routine Base: invocation: 4 words MOV MOV ADD 1S78 BEQ MOV MOV BIC cMP BEQ OECB ADD CMP BLOS MOV B8R MOV CLR RTS $CODES ! ! ! ' ! 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 POLL.CRING RC25 INTERRUPT SERVICE ROUTINES R1,$SAVE?2 IDCT.ADDR,R1 #16,R2 R1,R2 (R1) 2% 16(R1),R0O 2(RO),.RO #77777,R0 R0,4-100000 23 (R1) 94,(R2) (R?),12(R1) 1 10(R1),(R2) 1s ICOM.ADDR,RO 4(RO) PC « 15632 : 5091 : ; S109 5114 H 5109 : 5110 : : ; 5113 S114 5115 H H H 5117 5109 5121 : 5091 CZRCO3 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES H H ; H ] : 3 $ é H : 4 H H i H é 3 3 : 4 H H : 3 4 L H i 4 4 3 i i : H 3 [ i 3 L i i 3 3 3 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 S1711 5172 5173 S174 NOVALUE = 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 OCT BEGIN WHILE NOT (BIT_TST ((.IDCT_ADDR [RR_POLL) BEGIN IENV_ADDR = %F . . IDCT_ADDR [RR_POLL]) .JENV_ADDR [CONNID] HEN SELECTONEU SET ED_OWN)) DO - 8; [MSGTYP] OF ! WHILE O = 0 ADDRESS OF RESPONSE ENVELOPE IF MESSAGE IS FROM DISK MSCP THEN PROCESS ON MESSAGE TYPE : ENV_TO_RP (); {(MT_DG] ELSE + 2), EQLU CID_DISK .IENV_ADDR (MT_SEQ) ! SEQUENTIAL : DATAGM (); ! DATAGRAM TES ! BEGIN IF _IENV_ADDR [CONNID) EQLU CID_DuP ! THEN ENV_TO_RP (); ELSE (MESSAGE NOT FROM DISK MSCP) IF MESSAGE IS FROM DULP ! ! THEN COPY ENV TO RETPKT ! ! RE-INIT MESSAGE LENGTH ADVANCE TO HI ORDER WORD OF RING SLOT ' %F BEYOND END END; JENV_ADDR [MSGLEN] = MSG_LEN s 2; JOCT_ADDR [RR_POLL] = ._IDCT_ADDR [RR_POLL] + 2; .IDCT_ADDR {RR_POLL) = .IENV_ADDR [ENV_HIJ; IDCT_ADDR (RR_POLL) = ,IDCT_ADDR [RR_POLL) + 2; %FE.IDCT_ADDR HEN (RR_POLL] IDCT_ADDR [RR_POLL]) GTRA = .IDCT_ADDR ICOM_ADDR [RSP_INT] [RR_END) = 0; ! ! ! .IDCT_ADDR [RR_BEG]; END; ! RETURN SLOT TO CONTROLLER ADVANCE TO NEXT RRING SLOT THEN OF RING CYCLE TO TOP OF RING ! WHILE LOOP ! CLEAR RESPONSE INTERRUPT WORD IN RING HEADER END; (70000 004137 000000G 0000C4 013702 000566 o : s H ROUTINE POLL _RRING cmtmom : H 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 * H i HNNNNuuuuuuuuuwbbbbbbuuuuuuuwuuuuuNNNHHHHHo-o-r-o-roo-r-»o- v0e2.0 SEQ 0336 VAX-11 Bliss-16 vV4.0-579 Page 151 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (54) 14-Jun-1985 09:41:21 14 Jun-1985 09:33:42 .SBTTL POLL .RRING: JSR MOV POLL.RRING RC2S INTERRUPT SERVICE ROUTINES R1,$SAVE?2 IDCT.ADDR,R2 : : S124 5140 CZRCD3 CZRCOBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES vo2.0 000010 000014 000016 000022 000026 000032 000034 000042 000050 000054 000060 000064 000066 000070 000072 000074 000076 000100 000104 000106 000112 000114 000120 000122 000130 000132 000136 000142 000150 000154 000156 000162 000166 000174 000200 000204 000206 000212 000214 000220 000224 1+ 062702 011200 016000 042700 020027 001470 017237 162737 013700 062700 105760 001016 111000 006200 006200 006200 006200 042700 001412 020027 001011 004737 000406 126027 001002 004737 013700 012760 013701 010102 062702 062712 016072 062712 021261 101703 016112 000700 013700 005060 000207 Routine Size: 000014 1s: 000002 077777 100000 000000 000010 000562 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 ADD MOV MOV #14,R2 (R2),RO 2(R0O),RO #77777,RO g0.0-100000 8IC CcHp 8EQ 000562’ 000S62° $ MOV sus MOV ADD 000006 000001 TST8 000001 000002 2%: 000000V 000562 000074 000004 000566 38: 44: 000002 000002 000006 000000 000560 000006 Ss: 75 words, H S146 H S149 : S150 4% PC,DATAGH JSR BR CMPB BNE JSR MOV 44 1(RO), 92 43 PC,ENV.TO.RP IENV.ADDR,RO 974,4(RO) IDCT.ADDR,R1 R1,R2 2(R0),80(R2) 2,(R2) (R2),6(R1) 14 MOV 8R :(Rl).(RZ) MoV ICOM.ADDR,RO 6(RO) $CODES H S144 : 5156 : 5158 i 5162 : 5163 H 5164 14 ,R2 #2,(R2) $ CLR Routine Base: invocetion: 4 words S144 RO RO €177760,R0 3 RO,&1 RTS t Maximum steck depth per : (RO),RO CHP 8LOS 000004 IENV.ADDR,RO 6 ,R0 RO RO MOV MOV MOV ADD ADD MOV ADD 000014 000002 5143 1(RO) 8IC BEQ CHP BNE 000000V 1 24 Movs ASR ASR ASR ASR 000001 80(R2),IENV.ADDR 410, IENV.ADDR 8NE 177760 SEQ 0337 VAX-11 Bliss-16 V4.0-579 Page 152 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (S4) PC « 15732 : : : H : i $16S 5166 S168 Si140 5172 S124 CZRCDBO RC2S DISK EXERCISER QC2S INTERRUPT SERVICE ROUTINES 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 219 5220 5221 5222 5223 5224 £225 £226 5227 5228 5229 5230 231 RCUTINE ENV_TO_RP : NOVALUE 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 QUTSTANDING COMMAND LIST (OUTC_LIST), THEN TIMING FOR THAT COMMAND IS TERMINATED. IN ADDITION, IF TAE 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 I70 DONE QUEUE (IODQ) FOR PROCESSING BY THE “PROGRAM” PORTION OF THE DIAGNOSTIC. IMPLICIT INPUTS: ICTLR INTERRUPTING CONTROLLER NUMBER IENV_ADDR ADDRESS OF MSCP ENVELOPE CONTAINING RESPONSE BEGIN LOCAL M_INDEX R_INDEX : : SIGNED WORD, SIGNED WORD, STIDX : WORD, ENDIDX : WORD, R_ADDR : REF BLOCK (RP_LEN, TEMP : WORD; M_INDEX = WORD] FIELD (RP_FIELDS), -1; ASSUME NO STIDX = .ICTLR & OQUTC_CNT; ENDIDX = .STIDX « QUTC_CNT - 1; INCR COUNT FROM .STIDX TO .ENDIDX DO BEGIN IF (TEMP = THEN _QUTC_LIST ASSOCIATED COMMAND PACKET START OF CONTROLLER'S OQUTC_LIST AND _TIMR END OF OUTC SEARCH THROUGH EACH QUTC ENTRY [.COUNT]) GEQ O ! ! IF ENTRY CONTAINS AN OUTSTANDING COMMAND INDEX THEN BEGIN IF _MSCP_ENV THEN BEGIN M_INDEX [.TEMP, = OUTC_LIST QUTC_TIMR EXITLOOP; END; END; END; .TEMP; CRN_LO) ([.COUNT]) [.COUNT] = 1§; = 0; €QLU .IENV_ADDR [CRN_LO] SEQ 0338 VAX-11 Bliss-16 vV4.0-579 USER$1:[{AZTEC.CZRCDB JCZRCD3.SRC; 17 * 5175 5176 5177 5178 5179 5180 S181 5182 5183 5184 5185 5186 5187 5188 5189 PVUWWNEENUMNUNNUVINEEBEDBWWWWILNLNNNMON NN R RITU o 0 1o 1o 40 bt po (o (0 5 1 10 10 }o (o o bt =0 oo bt -0 oo CZRCD3 v0e2.0 ! ! IF THIS IS THE ASSOC CMD THEN ! ! INIT ENTRY TURN OFF COMMAND TIMER Page 153 (55) — SEQ 0339 ge 154 USER$1:[AZTEC.CZRCOBICZRCD3.SRC: 17 (SS) CZRCOBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES 14 Jun-1985 09:41:21 14 Jun-1985 09:33:42 IF ! IF RETPKT IS AVAILABLE !1] 1 ! ! !' !’ START OF ALLOCATED RETPKT COPY RESPONSE ENVELOPE INTO RETURN PACKET LOAD CONTROLLER NUMBER INTO PACKET IF ASSOC. CMD ENV WAS FOUND THEN (R_INDEX = GET_RETPKT THEN (.ICTLR)) GEQ O VAX-11 Blies-16 V4.,0-579 BEGI N R_ADDR = RETPKT + (.R_INDEX # RP LEN & 2); CoPy _BLK (.IENV_ADOR . 4, .R_ADDR, RP_LEN); R_ADDR [CTLR] = .ICTLR; IF _M_INDEX GEQ O THEN BEGIN 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))) BEGIN R_ADDR R_ADDR R ADDR R_ADDR R_ADDR R_ADDR R_RDDR [CMDMOD] = [CBCNT_LO) [CBCNT_HI] [LBN_LO) [LBN_HI] [BUFF 0] [BUFF _1] .MSCP_ENV [.M_INDEX, MODIFY]; = _MSCP_ENV [.M_INDEX, BC_LO]}; = _MSCP_ENV [.M_INDEX, BC_HI]; .MSCP_ENV [.M_INDEX, LBN_L] .MSCP_ENV [ .M_INDEX, LBN_H ] .MSCP_ENV [ .M_INDEX, BUF_O ] -MSCP_ENV [ .M_INDEX, BUF_1 ] END; ! END; IF END MESSAGE IS ! ' ! ! ! [} ! ] ! ] ! copPy RELEVANT FIELDS FROM COMMAND PACKET TO RETPKT ' THEN READ, WRITE, ACCESS IF ENDCODE WAS READ, ! IF ASSOC CMD ENV WAS FOUND IN_IODQ (.R_INDEX); ! PUT RETPKT INDEX INTO 100Q END; ! IF RETPKT WAS ALLOCATED IF .M_INDEX GEQ O THEN PUT_ENV (.M_INDEX); ! IF ASSOC CMD ENV WAS FOUND ! RETURN COMMAND ENVELOPE TO POOL END; ! ROUTINE DISK_RSP 000000 004137 0000006 000004 000010 000014 000016 000020 000022 000024 000026 000032 000034 000036 000049 000044 000045 012704 013700 006300 006300 006300 006300 010005 062705 010001 060401 000430 116103 002425 010346 177777 000600 .SBYTL ENV.TO.RP: JSR MOV MOV ASL ASL ASL ASL MOV ADD MOV ADD 000017 0000006 BR 1s: MOvB BLT MOV OR WRITE, OR ACCESS ENV.TO.RP RC25 INTERRUPT SERVICE ROUTINES R1, $SAVES ¢-1,R4 ICTLR,RO RO RO RO RO RO,RS #17,R5 RO,R1 R4 ,R1 23 QUTC.LIST(R1,,R3 2% R3,-(SP) *,M_INDEX 5175 5207 5208 STIDX,ENDIDX 5209 &, ENDIDX STIDX, COUNT %, COUNT «(COUNT),TEMP 5213 TEMP,» 5217 o THEN ! ! ! ! wn 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 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 PRV WOHWWLAEVNUVTUIVIVIVIVIVIVIVISG VIS B W WWWWWWNDN @2 @0 B5 91 B BF B8 G0 G0 B0 B Bs CF @5 BF O G0 G0 G0 W4 OF B¢ U G0 B¢ G0 90 G5 s G0 S0 O G0 8 G0 G0 B¢ @ CZRCO3 v02.0 CZRCO3 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 20172 00176 000200 00004 00021¢ 000214 000220 000226 000232 000234 000236 000242 000246 000252 000256 000260 00C264 000266 000272 900274 000276 000302 000306 000314 000322 000330 000336 000344 000352 000360 CZRCDBO RC25 DISK EXERCISER RC25 INTERRUPT 012746 004737 022626 013702 026062 001011 010304 112761 010100 006300 005060 000403 005201 020105 003745 013746 004737 010001 005726 005701 002512 010146 012746 0C4737 062700 010002 013716 062716 010246 012746 004737 013700 242700 142762 150Co02 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-198S 09:33:432 SERVICE ROUTINES 000104 0000006 MOV JSR 000562 MOV cMP 000010G 000010 000377 CcMP BNE MOV Move MOV ASL 0000006 CLR 0000006 2%: 3s: 000600 000000G INC cMp BLE MOV JSR MOV TST TST BLT MOV MOV JSR ADD MoV MOV ADD MOV MOV 000060 0000006 0000006 000562 000004 000030 0000006 000600 177760 000002 000017 000002 JSR MOV 8IC BICB BISB TST BLT MOV 000562 000020 Move 177400 000241 000242 000220 44 : 000104 0000006 0000226 000024G 0000266 000044G 0000466 0000306 0000326 000012 000044 000046 000050 000052 000024 000026 BIC CcMP BEQ cMP BEQ cMpP BNE MOV MOV JSR MOV MOV MOV MOV MOV MOV MoV 1ST 9104, -(SP) PC,BLSMUL (SP)+,(SP)« IENV.ADDR,R2 MSCP.ENV+10(R0O), 10(R2) 23 R3,R4 4377 ,0UTC.LIST(RY) R1.RO RO QUTC.TIMR(RO) 3 R1 R1,.RS 1 ICTLR, -(SP) PC,GET.RETPKT RO,R2 (SP)« R1 6$ 960, -(SP) PC.BL$MUL SRETPKT,RO RO,R2 IENV.ADDR, (SP) 44,(SP) %30, -(SP) PC,COPY.BLK ICTLR,RO #177760,R0 917,2(R2) RO,2(R2) R4 S$ IENV.ADDR,RO 20(RO),RO VAX-11 Bliss-16 V4.0-579 SEQ 0340 Page 155 USER$1:[AZTEC.CZRCDOB JCZRCD3.SRC;17 (55) ; ; ; 5221 5222 5223 TEMP,M.INDEX +,%(COUNT) COUNT,& H 5219 : 5232 ; COUNT ; COUNT,ENDIDX ; 5210 *,R.INDEX ; R.INDEX ; R.INDEX,» ; *,R.ADDR : ; 5236 5237 R.ADDR,»* ; 5238 ; &,%(R.ADDR) : &,&(R.ADOR) ; M.INDEX 5239 H 5243 H 5244 #177400,R0 RO, %241 ; R4,(SP) 4104, -(SP) PC.BLS$MUL MSCP.ENV+22(RO), 12(R2) MSCP.ENV+24(R0O),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)+ 5245 : M.INDEX,s ; ; ; ; ; ; ; : &,*(R,.ADDR) &,%(R.ADDR) +,+(R.ADDR) &,+(R.ADDR) &,%(R.ADDR) &«,#(R.ADDR) &,%(R.ADDR) 5249 5250 5251 5252 5253 5254 5255 5247 CZRCO3 CZRCOBO RC25 DISK EXERCISER v0e2.o0 000362 000364 000370 000374 000376 000400 000402 000406 000410 ;: : RC25 INTERRUPT SERVICE ROUTINES 010116 004737 062706 005704 002404 010446 004737 005726 000207 Routine Size: Maximum stack 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 MOV JSR ADD TST BLT MOV JSR TST RTS 133 words, depth per $CODES Rout ‘'ne Base: invocation: 12 words SEQ 0341 VAX-11 Bliss-16 v4.0-579 Page 156 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 (55) R1,(SP) PC,IN.IOCDQ ¢10,5P R4 78 R4, -(5P) PC,PUT.ENV ; M.INDEX PC ; ; R.INDEX,s 5261 : 5234 : M.INDEX,* 5265 5267 (SP)« + 16160 S175 RC2S INTERRUPT SERVICE ROUTINES : NOVALUE VAX-11 Bliss-16 V4.0-579 14-Jun-1985 09:33:42 USER$1:(AZTEC.CZRCDB JCZRCD3.SRC;17 = 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 DATAGRAM INDICATES AN ECC ERROR, THEN IT IS TALLIED FOR THE APPROPRIATE UNIT. IMPLICIT INPUTS: IENV_ADDR - ADDRESS OF MSCP ENVELOPE CONTAINING ERROR LOG MESSAGE BEGIN LITERAL EC1 = 8, EC8 = 15, ECO = 4; B8IND FMT_CE = FMT_HMA FMT_SDE OWN = = ! ! ! (#ASCIZ'%ASMALL DISK ERROR%N'); FMT_T8 : VECTOR [S] STC_T8 : VECTOR [12] INITIAL (STC_00, STC_01, STC_02, STC_03, STC_04, STC_05, STC_06, STC_07, STC_08, STC_09, STC_10, STC_11); LOCAL FMT : INITIAL = (FMT_CE, FMT_HMA, WORD, EVC : WORD, SBC : WORD, PLAD : WORD, UNIT : SIGNED WORDC, TAD : REF BLOCK [TALLY_LEN, FMT SUB-CODE VALUE FOR 1-SYMBOL ECC ERROR SUB-CODE VALUE FOR 8-SYMBOL ECC ERROR SUB-CODE VALUE FOR ECC-FIELD-ONLY ERROR UPLIT (%ASCIZ'SACONTROLLER ERROR%N'), UPLIT (#ASCIZ'%AHOST MEMCRY ACCESS ERROR%N'), UPLIT _IENV_ADDR ! WORD] [FORMAT]; PLAD = .IENV_ADDR [PL_ADDR]; UNIT = -1; INCR QFFSET FROM (O + OF _UN) ! ! ! ! ! TO (3 0, O, FMT_SDE), FORMAT CODE ! EVENT CODE ! SUB-CODE ! PLATTER ADORESS (MSCP UNIT NO.) ! DRS UNIT NUMBER FIELD (T_FIELDS); !TALLY ADDRESS EVC = .IENV_ADDR [EVENT]; SBC = .IENV_ADDR [SuBC]; I .FMT EQLU FM_SDE THEN BEGIN « GET FORMAT CODE GET EVENT CODE GET SUB-CODE IF SMALL DISK ERROR THEN ! GET DO ! FOR EACH CST UNIT P_ADDR] ! IF PLAT ADDR MATCHES CST ENTRY OF_UN) PLATTER ADDRESS (MSCP UNIT BEGIN IF _PLAD EQLU THEN BEGIN .ICST_ADDR [.OFFSET, SEQ 0342 14-Jun-1985 09:41:21 * Ve t v v ROUTINE DATAGM fE D B Dt I CE D 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 530S 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 CZRCDBO RC25 DISK EXERCISER VNEELEOOOIGOINILRNINN MR RN N RN RN RN N MR R RN R NI N o e s 1o ps (s s 1o bt joo js o pod 40 poa po SO SC B3 B B0 81 BE @0 @5 B B 5 S5 T W SE S6 B9 T WL W AT B0 G0 T G5 GF S0 ©F s B2 40 G 0 Gs B9 G0 G0 W1 T GE G0 G¢ G0 G0 @) Bs G0 @0 G0 @0 G0 0 Go @c @e o0 CZRCO3 V0.0 ! THEN NO.) Page 157 (56) 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 S361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 CZRCOBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES WAHNNWEHWANWEHANNWWWWERDNWLRR WLV NNNNNO IOV D LD BUWUWWWDBNUIW B4 SC e W5 B0 B WS B8 B4 G0 W S5 BE B9 Be G0 @5 W T G W1 S5 G B0 W W G5 W BE W0 G0 W Mo G0 W G0 GC G¢ B9 TE S8 B¢ W6 G0 @0 So S5 @5 G @0 ®6 0 6 @0 we @0 oo CZRCO3 vo2.0 UNIT = ,ICST_ADDR EXITLOOP; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 [.OFFSET, P_UNITI; ! ! VAX-11 Bligs-16 V4.0-579 SEQ 0343 USER$1:[AZTEC.CZRCDBJCZRCD3.SRC;17 Page 158 GET DRS UNIT NUMBER DONE SEARCH END; END; IF .UNIT GEQ O THEN BEGIN TAD = TALLY + (.UNIT & TALLY_LEN # 2); TAD (ER_LOG] = .TAD [ER_LOG) + 1; IF .EVC EQLU ST_DAT THEN BEGIN IF .SBC EQLU ECO THEN TAD [ECC_ONLY] ELSE BEGIN = ! PLATTER ADDRESS SEARCH LOOP ! ' IF UNIT NUMBER WAS FOUND THEN !) ! ! CALCULATE UNIT’'S TAL.Y ADDRESS INCR ERROR LOG COUNT IF EVENT CODE = DATA ERROR ! THEN 1 _TAD (ECC_ONLY] + IF ECC-FIELD-ONLY THEN INCREMENT STAT 1 OTHERWISE IF ((.SBC GEQ@ EC1) AND (.SBC LEQ EC8)) THEN BEGIN TAD = TAD (ECC_1] .TAD = . .TAD + + ((.S8C 1; - 8) * 2) ; ! END; END; END; END; END; IF MANUAL AND THEN BEGIN (NOT (BIT_TST (SWP_FLAGS, PRINTF (EX_EL); PRINTF (EX_CRN, .IENV_ADDR IF .FMT EQLU FM_SDE THEN PRINTF (EX_PA, .PLAD); PRINTF (EX_FMT); SELECTONE .FMT OF SET {FM_CNT, FM_BAD, (OTHERWISE] TES; ! ! IF SUB-CODE INDICATES ECC SYMBOL ERROR THEN ! \ CALCULATE EXACT ADDR OF ECC STAT INCREMENT STATISTIC ! IF SUB-CODE IS ECC ERROR ! IF NOT ECC-FIELD-ONLY ERROR ! IF EVENT CODE ! IF UNIT NUMBER WAS FOUND ! IF FORMAT SWF_SEL)) f THEN ! = = DATA ERROR SMALL DISK ERROR IF ATTENDED AND ERROR LOG PRINTING WAS NOT SUPPRESSED "ERROR LOG MESSAGE RECEIVED:* [CRN_LO1); FM_SDE] ! CMD REF NUM: XXXXXX(Q)" IF FORMAT CODE = SMALL DISK ERROR THEN “ “ : : " PLATTER: XXX.* FORMAT: » PRINTF (WFMT_TB [.FMT]); PRINTF (EX_03, .FMT); ! ! PRINT TEXT OUXXX(0)” (56) CZRCD3 CZRCDBO RC25 DISK EXERCISER v02.0 H : H H H : H H : : H H : H : RC25 INTERRUPT 5384 5385 5386 S387 5388 5389 5390 5391 3 3 3 3 4 3 3 3 5393 5394 5395 S396 5397 5398 3 3 3 2 2 1 5392 002554 002554 002556 002560 002562 002564 002566 002570 002572 002574 002576 002600 002602 000C36 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 EVENT CODE: " ! IF EVENT CODE IS KNOWN ! THEN ! PRINT EVENT CODE TEXT ! OTHERWISE !orXXX(0)” P SUB-CODE: XXXX(0) ! IF HOST MEMORY ACCESS ERROR . I ! {MA_LO], STC.T8: 000000G 000000G 000000G 000000G 101 116 117 105 105 117 116 103 124 114 122 122 122 000 P.AAC: 101 123 115 117 040 110 124 105 122 101 P.AAD: 103 123 122 122 105 040 122 045 .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 .ASCI1 .ASCII .ASCII .ASCII THEN .IENV_ADDOR [MA_HI]); END; FMT.TB: SEQ 0344 Page 159 USER$1:[AZTEC.CZRCDB)JCZRCD3.SRC; 17 (56) VAX-11 Bliss-16 V4.0-579 o END; 000036° 000064° 000000 000000 0C0122° 0000006 000000G 000000G 000000G 000000G 000000G 000000G 000000G 002606 002610 002612 002614 SERVICE ROUTINES PRINTF (EX_EVC); IF .EVC LEQU 11 THEN PRINTF (.STC_T8 (.EVC]) ELSE PRINTF (EX_03, .EVC); PRINTF (EX_SB, .SBC); IF .FMT EGLU FM_BAD THEN PRINTF (EX_HMA, .IENV_ADDR 3 002604 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 $GGG$, IF PRINTING WAS NOT SU PPRESSED ! ROUTINE DATAGM RO FMT.HMA 0 T.SDE STC.00 STC.01 STC.02 STC.03 STC.04 STC.0S STC.06 STC.07 STC.08 STC.09 STC.10 STC.11 /0NT/ /ROL/ /LER/ / ER/ /ROR/ /9N/ <00> <00> /%AH/ /70ST/ / ME/ /MOR/ /" A/ /L CE/ /58S 7/ /ERR/ /0R%/ PRINT HOST ADDRESS ! FMT.CE $PLITS, /%AC/ ! RO, O CZRCDBO RC25 DISK EXERCISER CZRCOD3 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 122 000 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 P.ARAE: .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII P.AAC P.AAD P.AARE R1,$SAVES -(SP), -(SP) IENV.ADDR,RO R4 20(RO),R4 000002 000014 JSR CMP MOV CLR 81s8 MOV8 B8IC MOV ASR ASR ASR ASR ASR 8IC CLR cMP BNE INC MOV 000006 MOV MOV 000020 000022 177740 000022 174000 000002 000004 177777 000564 1$: 000001 000002 MOV ADD MOVB CLRB CMP BNE MOV 177740 000002 000014 2s: 3s: 000060 (56) <00> DATAGM RC25 INTERRUPT $CODE$, RO 000562 USER$1:([AZTEC.CZRCDB JCZRCD3.SRC;17 /9N/ <0Q0> .S8TTL .PSECT DATAGM: SEQ 0345 Page 160 /N/<00><00> FMT.HMA= FMT.SDE= 0000006 VAX-11 Bliss-16 V4.0-579 /%RAS/ /MAL/ /L D/ /7ISK/ / ER/ /ROR/ FMT.CE= 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 SWAB 8IC BR ADD cMP BLE TST BLT MOV MOV 22(RO),R3 #177740,R3 22(RO),RS RS RS RS RS RS #174000,R5 2(SP) R4, 44 64 2(SP) 14(RO),(SP) 6 ,RO SERVICE ROUTINES : i ; 5270 FMT 5311 : & ,FMT ; *,EVC S312 *,58C SBC S8C SBC SBC ; S8C 5313 ; *%,58C ; : FMT,» 5314 ; *,PLAD ; #,0FFSET ; : ; ; ; ; ; &,EVC ®,UNIT 5318 S319 5320 RO.R1 ; R2 #177740,R2 : &,UNIT : UNIT : &,UNIT 5327 ; &,0FFSET ; OFFSET,s 5320 ; UNIT 5334 ; UNIT,» 5338 ICST.ADDR,R1 (R1),-(SP) 1(SP) 2(SP),(SP)« 23 (R1),R2 3¢ #2,R0O RO,#14 1 R2 64 R2,-(SP) #60, -(SP) H OFFSET,» 5323 5325 CZRCD3 vV02.0 r 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 RC25 INTERRUPT SERVICE ROUTINES 004737 0562700 005260 020327 001023 020527 001003 005260 000415 020527 002412 020527 003007 010502 006302 060002 010200 062700 005210 022626 104450 103165 122737 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 0000006 0000006 000032 000010 000004 000056 000010 4%: 000017 6$: 000000G 0000006 000001 MOV MOV MOV TRAP MoV MOV MOV MOV MOV TRAP 000562’ 000010 0000006 000002 000012 000010 0000006 000002 000000G 000001 78 000001 000004 8%: 9s: 002554 000001 INC CMP TRAP BHIS BIT8 BNE BIT 8EQ MOV MOV MOV MOV TRAP CcMp MOV MOV MOV TRAP TST BLT cMp BLE cMp BNE MOV ASL MOV MOV MOV SEQ 0346 Page 161 USER$1:[AZTEC.CZRCDB JCZRCD3.SRC;17 (56) VAX-11 Bliss-16 V4.0-579 PC,BL$MUL #TALLY RO 32(R0) R3,410 ; *(TAD) ; EVC,» 5339 5340 ; SBC,» 5344 ; : ; *(TAD) SBC,* 5346 5344 5350 H SBCD‘ MOV ASL ADD MoV ADD Ss$: 000001 JSR ADD INC CMP BNE CMP BNE INC B8R CMP BLT cMP B8GT 000016 000001 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 (SP)+,(SP)» 50 154 #1,SWP .FLAGS 15% QEX.EL,-(SP) SP,RO 17 IENV.ADDR,RO 10(RO),(SP) #EX.CRN, -(SP) #2,-(SP) SP,RO 17 #1,12(5P) 78 10(SP),(SP) QEX.PA,-(SP) #2,-(5P) SP,RO 17 (SP)+,(SP)+ SEX.FMT,(SP) SP,RO 17 R4 8 R4, 41 9s R4 .04 10$ R4 ,RO RO FMT.TB(RO),(SP) SP,RO ;: SBC,» i TAD,» 5354 H ‘ITAD : *+,TAD ; TAD 5355 : S367 H 5371 H i SP,» : : 5336 5372 SP.s : 5373 ; PLAD,s S37S : SP,s H 5376 H SP-‘ : FMT ;: FMT,a ; FMT,s : FMT,» : SP,s 5380 CZRCDBO RC25 DISK EXERCISER CZRCD3 v0e2.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 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 ;: Routin e Size: H H H H Meaximum stack 5399 S400 5401 5402 [« YO XN ; 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 €00000G 000002 0000001, 000001 10s: 11¢: 000013 0000006 000002 MOV MOV MOV MOV 12¢: 13s: 000562 000042 000040 000000G 000003 TRAP cMP 14 15s: ELUDOM SEQ 0347 Page 162 USER$1:(AZTEC.CZRCDOBICZRCD3.SRC; 17 (56) ; 5377 ; FMT,% SP,RO 17 i #EX.EVC, (SP) 41,-(SP) SP.,RO 17 R3,213 124 R3,RO RO STC.TB(RO),(SP) @1,-(SP) SP,RO 17 , 5381 SP,‘ (SP)+,(SP)« MOV MoV MOV TRAP TRAP BR MOV MOV MOV MOV TRAP TST MOV MOV MOV MoV TRAP CMpP BNE MOV MOV 13 R3,(SP) #2,-(SP) SP.RO 17 (SP). R5,(SP) EX.SB, -(SP) #2,-(SP) SP.RO 17 R4, &1 14 IENV.ADDR,RO 42(R0O),(SP) 5385 H SP.‘ : EVC,» 5386 ;s EVC,» 5388 H SP.. H ; EVC,» 5386 S390 H SPD. ;3 SBC,» ; SP,s ;i FMT,» i MOV MOV MOV MOV TRAP RDD ADD 40(R0O), -(SP) QEX.HMA, -(SP) SP,RO 17 96,5P $ SP.‘ CMP (SP)+,(SP)« : 5391 $392 5394 #3,-(SP) ®22,SP RTS Rout ‘ne Base: 208 words, $CODES$ depth per invocation: 22 words END R4,(SP) %EX.03,-(SP) MoV ASL MOV MoV Mov 000001 000006 000022 17 (SP). 11% cMP BHI 002566 000001 0000006 000002 TRAP TST BR VAX-11 Bliss-16 vV4.0-579 PC + 16572 H 5369 5270 CZRCD3 v02.0 CZRCOBO RC25 DISK EXERCISER RC25 INTERRUPT SERVICE ROUTINES : 0TS 14-Jun-1985 09:41:21 14-Jun-1985 09:33:42 external references .GLOBL .GLOBL .GLOBL PSECT : H H : Psect Name $GGG$ E H : @ @ ®c s me @ we : USER$1:[AZTEC.CZRCDBICZRCOL.L16;6 RO . RO, I D BLISS/PDP11 CZRCD3.SRC/LIST/EN:NOEIS Lexemes/CPU-Min: 6489 Memory Used: 396 pages Comp ' lation Complete , ., , LCL, LCL, LCL, $SAVE3, BLSDIV, REL, REL, REL, Symbols ------- Total Loaded Percent 276 249 90 COMMAND QUALIFIERS Size: 3981 code + Run T me: 06:47 .6 Elapsed T me: 07:16.0 L nes/CPU Min: 795 $SAVE4, BLS$SHF, $SAVE? BLS$MOD CON CON CON Statistics File H Attributes RO, I 3981 52 Library $SAVES, BL$ABS, BL$MUL SUMMARY Words 711 $CODE $ SPLITS SEQ 0348 VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDOBICZRCD3.SRC;17 763 data words Pages Processing 16 00:00.2 Mapped Time Page 163 (56) CZRCD4 14-Jun-1985 09:49:05 Al ° -] 0001 0002 0003 0004 0005 0006 0043 0044 0045 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 000000 000000 000002 000004 000006 000010 000012 000014 000016 000020 000022 000024 000026 000030 000032 000034 PRV e e e O0000 14-Jun-1985 09:34:28 ;i ;i 1 (1) STITLE ‘CZRCDBO RC25 DISK EXERCISER' IDENT = 'v02.0', ADDRESSING _MODE (ABSOLUTE) ) BEGIN #SBTTL s 'LASTAD AND SETUP!’ REQUIRE 'BLSMAC.REQ’; ! DIAGNOSTIC SUPERVISOR LIBRARY LASTAD BGNSETUP (2); BGNPTAB %0'172150', #0'154', S, 0 ! IP, VECTOR, BR, PLAT #0154, 5, 1 ! IP, VECTOR, BR, PLAT ADOR ENDPTAB BGNPTAB %0°172150', ENDPTAB ADDR ENDSETUP 000034 000000C 000024 000004 172150 .TITLE .IDENT .ENABL .PSECT BLSLAS:: .WORD CZRCD4 CZRCDBO RC2S DISK EXERCISER /V02.0/ AMA $XYZ$, RO T$FREE P.AAA: _.WORD .WORD .WORD LSLAST.20 4 -5630 .WORD 0 .WORD P.AAB: 000154 000005 000000 000000 000004 172150 000154 000005 000001 000000 .WORD .WORD .WORD P.AAC: <<TS$FREE-<BLSLAS+4>>/2> 4 -5630 154 S .WORD T$FREE:: .WORD Plit count word 2 P.AAA P.AAB $$LAS]1= P.AAC $REM2= LSBTTL $END.LINK: : RTS $XYZ$ ; BL SLAS+4 T¢PTHVas $LAS3= $REM3= Routine Base: invocation: O words Plit count word 1 0 LS$LAST == 1 word, depth per ;: 154 S 0 .WORD .WORD .WORD .WORD P.AAD: 000207 Routine Size: Maximum stack USER$1:(AZTEC.CZRCDB JCZRCD4.SRC; 4 SEQ 0349 Page MODULE CZRCD4 ( 000004' 000002 000004 000010 000020 000024 000000 VAX-11 Bliss-16 v4.0-579 + P.AAD SEND.LINK LASTAD AND SETUP PC 0036 : 1533 CZRCD4 v02.0 : : H : CZRCDBO RC25 DISK EXERCISER LASTAD AND SETUP 1548 1549 1550 1551 1 1 1 0 END ELUDOM PSECT Psect Name $XYZ$ H ] 14-Jun-198S 09:49:05 14-Jun-1985 09:34:28 Words 16 SUMMARY Attributes RO, I COMMAND QUALIFIERS BLISS/PDP11 CZRCD4.SRC/LIST/EN:NOEIS Size: Run Time: Elepsed Time: 1 code ¢+ 15 dete words 00:22.1 00:22.7 Lines/CPU Min: 4207 Lexemes/CPU-Min: 22155 Memory Used: 103 pages Conpilotion Complete , LCL, REL, CON VAX-11 Bliss-16 V4.0-579 USER$1:(AZTEC.CZRCDB JCZRCDA.SRC; 4 SEQ 0350 Page 3 (2)
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies