Digital PDFs
Documents
Guest
Register
Log In
AH-F959A-MC
May 1983
207 pages
Original
10MB
view
download
OCR Version
8.6MB
view
download
Document:
CZRJLA0 RP07 FCTNL TEST MAY 1983 bw
Order Number:
AH-F959A-MC
Revision:
000
Pages:
207
Original Filename:
CZRJLA0__RP07__FCTNL_TEST__AH-F959A-MC__MAY_1983_bw.pdf
OCR Text
PachE1 oF 1 st HIEHIER 8 CIRLAQ RPO7 FCTINL TEST MACRO v04.00 1-JAN-B83 11:06:45 PAGE 2 S€Ea 0001 USER DOCUMENTATION IDENTIFICATION PRODUCT (ODE: AC-F958A-M( PRODUCT NAME: CZIRJLAO PRODUCT DATE: JANUARY 1, MAINTAINER: Cx DIAGNOSTIC AUTHOR: MIKE THE RPO7 FCTNL TEST 1983 ENGINEERING LEAVITT INFORMATION IN THIS DOCUMENT NOTICE AND SHOULD IS SUBJECT TO CHANGE WITHOUT NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUJPMENT (ORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIRILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. NO RESPONSIBILITY IS ASSUMED FOR SOF TWARE ON EQUIPMENT THAT ]S NOT AFFILIATED COMPANIES. THE USE SUPPLIED OR BY RELIABILITY OF DIGITAL OR ITS COPYRIGHT (() 1983 BY DIGITAL EQUIPMENT CORPORAT]ON THE FOLLOWING ARE DIGITAL DE( TRADEMARKS OF POP DECUS DIGITAL EQUIPMENT CORPORATION: UNIBU, DECTAPE MASSBUS CIRJLAD RPO? FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 3 USER DOCUMENTAT]ON .REM § 1.0 TABLE GENERAL CONTENTS INFORMATION 1.1 1.2 1.3 PROGRAM ABSTRA(T SYSTEM REQUIREMENTS RELATED DOCUMENTS AND STANDARDS 1.5 ASSUMPT JONS 1.6 2.0 OF DIAGNOSTIC WIERARCHY PREREQUISITES OPERATING INSYRUCTIONS 2.1 .2 2 3 & J 6 2.7 S COMMAND SW]TCHES FLAGS WARDWARE QUESTIONS SOF TWARE QUESTIONS EXTENDED P-TABLE DIALOGUE QUICK STARTUP PROCEDURE 3.0 ERROR INFURMATJON 4.0 PERFORMANCE 5.0 TEST AND PROGRESS REPORIS SUMMARIES S€0 0002 9! 1.0 GENERAL 1.1 PROGRAM ABSTRA(T THE RPO7 FUNCTIONAL DRIVE VERIFY THAT AND ACCESS INFORMATION TEST CONTAINS A SERIES OF THE DISK 1S CAPABLE OF PERFORMING SEEKS, TIMES ARF WITHIN TOLERANCE, OPERATES PROPERLY, AND FUNCTIONAL. THIS DIAGNOSTIC THAT WRITE INTERFA.E TMAT THE TO THE (SUPERVISOR). OPERATOR AND TESTS THAT THAT THE WwiLL SEEKS ADDRESSING CIRCUITRY AND READ DATA CAPABILITIES ARE WAS BEEN WRITTEN FOR USE WITH RUNTIME SERVICES 50FTWARE THE SEQ 0003 TO THE THESE THE DIAGNOSTIC SERVICES PROVIDE SOF TWARE ENVIRONMENT THIS PROGPAM (AN BE USED WITH XXDPe, ACT, APT, SLIDE AND PAPER TAPE. 10 THE FOR A COMPLETE DESCRIPTION OF THE RUNTIME SERVICES, REFER XXDPe USER'S MANUAL, THERE [S A BRIEF DESCRIPTION OF THE RUNTIME SERVICES IN SECTION 2 OF SYSTEM REQUIREMENTS THIS PROGRAM WILL Ll VLN 1.2 . . . . S. 6. 1.3 REQUIRE THE THIS DOCUMENT. FOLLOWING SYSTEM HARDWARE: AN XXDP+ LOAD MEDIUM A CONSOLE KEYBOARD/PRINTER 28 WORDS OF MAIN MEMORY A PDP=11 PROCESSOR WHICH HAS THE THROUGHPUT (APABIL]ITY EQUAL TO AT LEAST 2.2 MBYTES/SEC FOR OPERATION IN NONINTERLEAVED MODE OR 1.3 MBYTES/SECOND FOR OPERATION IN INTERLEAVED MODE. ONE RH7G OR RH11 CONTROLLER A PROGRAMMABLE (LOCK (KW11-P) RELATED DOCUMENTS AND STANDARDS XXDPe+ USER®'S MANUAL RPO7 PURCHASE 1.6 DIAGNOSTIC ((HOUS) SPECIFICATIONS (A=-PS-3015478-0-0) HIERARCY PREREQUISITES RPO7 FRONT END DJAGNGSTIC, RPO7 PDP11 FORMATTER, 1.5 RESTRICTIONS THIS PROGRAM WiLL NOT BE ABLE RESIDENT MICRODIAGNOSTICS. TO RUN ANY OF TH]S PROGRAM WiLL NOT RUN ON LSI=11 THE COMMANDS: NOP, DJAGNOSTIC, DESCRIPTOR ARE NOT USED. THE AVAILABLE RPQ7 CPU'S. FORMAT TRACK, AND READ/WRITE TRA(K cTM CIRJLAQ RPO7 FCINL TEST MACRG v04.00 1-JAN=-83 11:06:45 PAGE & USER DOCUMENTATION IfF A KW11=P SYSTEM CLOCK IS NOT INSTALLED ON THE SYSTEM, THE TIMING TESTS wiLL NOT BE EXECUTED, THE PROGRAM DCES NOT PROVIDE MODULE CALLOUT IN THE ERROR PRINTOUT. 2.0 OPERATING INSTRUCTIONS THIS SECTION CONTAINS A BRIEF DESCR IPTION OF THE RUNTIME SERVI( ES FOR DETAILED INFORMATION, REFER TO THE XXDP+ USER'S MANUAL ((HQUS) 2.1 COMMA,..S THERE ARE ELEVEN LEGAL $ OMMANDS FOR THE DIAGNOSTIC RUNTIME SERVICES (SUPERVISOR). LISTS THE COMMANDS AND GIVES A VERY THIS SEC JON BRIEF DESCRIPTION OF COMMAND RESTART CONT INUE PROCEED Exiy ADD DROP PRINT DISPLAY FLAGS IFLAGS THE M. THE XXDP+ USER'S MANUAL HAS MORE DETAILS. EFFECT START THE DIAGNOSTIC FROM AN [NITIA L STAYE START THE DIAGNOSTIC WITHOUT INITIA LIZING CONTINUE AT TEST THAT WAS INTERRUPT ED ( AFTER *() CONTINUE FROM AN ERROR HALT AT RETURN TO XxDP+ MONITOR (XXDP+ OPERATION ONLY!) ACTIVATE A UNIT FOR TESTING (ALL UNITS ARE CONSIDERED TO BE ACTIVE AT START TIM(C DEACTIVATE A UNIT PRINT STATISTICAL INFORMATION (IF BY THE DIAGNOSTIC = SECTION 4.0) TYPE TYPE A LIST OF ALL DEVICE IMPLEMENTED INFORMATION THE STATE OF ALL FLAGS (SEE SECTION 2.3) CLEAR ALL FLAGS (SEE SECTION 2.3) A COMMAND (AN BE RE(OGNIZED BY THE FIRST THREE CHARACTERS. YOU MAY, FOR EXAMPLE, TYPE ''STA"" INSTEAD OF ‘'START', SO SWITCHES THERE ARE SEVERAL SWITChES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. THESE SWITCHES ARE APPENDED TO THE LEGAL COMMaNDS. ALL OF THE LEGAL SwiTCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF EACH, IN THE DESCRIPTIONS BELOW, A DECIMAL NUMBER .S DESIGNATED BY SWITCH EFFECT /TESTS:LIST EXECUTE ONLV THOSE TES THE LIST. LIST IS A S NUMBERS, FOR EXAMPLE THIS LIST WILL (AUS% /PASS:DDDDD /FLAGS:FLGS /E0P:DDDDD JUNJTS:L]ST BE RUN. ALL OTHER ChLY. P ONLY | €S ES ( (DD THOS N “DDDDD". (el] SEQ 0004 (IRJLAQ RPO7 FCTINL TEST MACRO V04,00 1-JAN-B3 11:06:45 PAGE 4-1 USER DOCUMENTATION SEQ 0005 CIRJLAQ RPO7 FCTNL TEST MACRO v04.00 1-JAN-B3 11:06:4° PAGE &4-2 USER DOCUMENTATION tl ST EX A MPLE = /UNITS:0:5:10=1¢ IN THE L1 S T. USE UNITS 0.5,10 10 2 (UNIT NUMBERS = 0-63) EXAMPLE OF SWIT(H USAGE. START/TESTS:1-5/PASS:1000/E0P:100 THE EFFECT _OF THIS COMMAND WILL BE: 1) TESTS 1 THROUGH $ WILL BE EXECUTEC, 2) ALL UNITS WILL TESTED 1000 TIMES AND 3) THE END OF PASS MESSAGES WILL BE PRINTED AFTER EACH 100 PASSES ONLY. SWITCH CAN BE RECOGNIZED BY THE FIRSY THREE (MARACTERS. FOR EXAMPLE, TYPE *‘/TES:1=5"" INSTEAD OF ''/TESTS:1=5"", A VYOU MAY, BELOW |S A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED BY EACH COMMAND, START RESTART CONTINUE TESTS PASS FLAGS X X X X X X PROCEED DROP X EOP UNITS X X ADD X X PRINT DISPLAY X FLAGS IFLAGS EX1T 2.3 FLAGS FLAGS ARE USED TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCH AS LOOPING ON ERROR. ALL FLAGS ARE CLEARED AT STARTUP AND REMAIN CLEARED UNTJIL EXPLICITLY SET USING THE FLAGS SWITCH. FLAGS ARE ALSO CLEARED AFTER A START (OMMAND UNLESS SET USING THE FLAG SWITCH. THE ZFLAGS COMMAND MAY ALSO BE USED TO CLEAR ALL FLAGS., WITH THE EXCEPTION OF THE START AND ZFLAGS COMMANDS, NO COMMANDS AFFECT THE STATE OF THE FLAGS; THEY REMAIN SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH. FLAG EFFECT HOE HALT ON ERROR = CONTROL IS RETURNED 10 RUNTIME SERVICES COMMAND MODE LCOP_ON ERROR LOE [ERe IBR* IXRe PRI PNT B0t UAM INHIBIT ALL ERROR REPORTS INHIBIT ALL ERROR REPORTS EXCEPTY FIRST LEVEL (FIRST LEVEL CONTAINS ERROR TYPE, NUMBER, PC, TEST AND UNIT) INHIBIT EXTENDED ERROR REPORTS (THOSE CALLED BY PRINTX MACRO'S) DIRECT MESSAGES 10 LINE PRINTER PRINT TEST NUMBER AS TEST EXECUTES “BELL'' ON ERRNR UNATTENDED MOLE (NO MANUAL INTERVENTION) SEQ 0006 (ZRJLAQ RPO7 FCINL TEST MACRO V04.00 1-JAN=-83 11:06:45 PAGE &4-3 USER DOCUMENTATION ISR INHIBIT STATISTICAL REPORTS (DOES NOT APPLY TO DIAGNOSTICS WHICH DO NOT SUPPORT STATISTICAL REPORTING) IDOR INHIBIT PROGRAM DROPPING OF UNITS ADR EXECUTE Evt EXECUTE EVALUATION (ON DIAGNOSTICS WHICH LOY AUTODROP CODE LOOP ON TEST HAVE EVALUATION SUPPORT) + 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, YCU MAY USE THE FOLLOWING STRING: /FLAGS:LOE: IER:BOE 2.4 HARDWARE QUESTIONS WHEN A DIAGNOSTIC IS STARTED, THE RUNTIME SERVICES WILL PROMPT THE USER FOR HARDWARE INFORMATION BY TYPING ‘‘CHANGE HW (L) 2" YOU MUST ANSWER ''Y'* AFTER A START COMMAND UNLESS THE HARDWARE INFORMATION HAS BEEN “'PRELOADED’' USING THE SETUP UTILITY (SEC (HAPTER 6 OF THE XXDP+ USER'S MANUAL). 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 FOLLOWING QUESTIONS FOR EACH UNIT. UNIT 0 ADRS (0) 17 6700 ? VECTOR ADRS (0) 2 54 2 BR LEVEL (0) 5 °? 0 ? DRIVE # (0) RPCS1 THE 1ST QUESTION ''RPCS1 ADRS'' REQUIRES THAT THE USER INPUT THE ADDRESS OF RP(CS1 OF THE CONTROLLER WHICH IS CONNECTED TO THE DRIVE UNDER TEST. DEFAULT IS 176700 (OCTAL). THE ¢ND QUESTION ‘'VECTOR ADRS'' REQUIRES THE USER TO INPUT THE 5?2[?8%?1L¥ECTOR ADDRESS OF THE RHXX CONTROLLER. DEFAULT IS THE 3RD QUESTION °BR LEVEL'' REQUIRES THE USER TO INPUT THE CONTROLLER INTERRUPT PRIORITY LEVEL. DEFAULT IS LEVEL 5. THE 4TH QUESTION ‘‘DRIVE #'' REQUIRES THE USER TO SPECIFY THE DRIVE NUMBER OF THE DRIVE TO BE TESTED. DEFAULT IS 0 (OCTAL). 2.5 SOFTWARE QUESTIONS AFTER YOU HAVE ANSWERED THE HARDWARE QUESTIONS OR AFTER A RESTART OR (ONTINUE COMMAND, THE RUNTIME SERVICES WILL ASK FOR SOF TWARE PARAME TERS., THESE PARAMETERS WILL GOVERN SOME DIAGNOSTIC SPECIFIC SEQ 0007 CIRJLAD RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE &4=4 USER DOCUMENTATION OPERATION MODES. VYOU WILL BE PROMPIED BY ''CMANGE Sw (L) ?'', IF YOU WISH TO CHANGE ANY PARAMETERS, ANSWER BY TYPING °'v'’, THE SOF TWARE QUESTIONS AND THE DEFAULT VALUES ARE DESCRIBED AS FOLLOWS: CHANGE DRIVE PARAMETER (L) N ? IF THE RESPONSE TO THE PREVIOUS QUESTION IS 'N' THE FOLLOWING DRIVE PARAME TER QUESTIONS WILL BE SKIPPED AND PROGRAM WILL PROCEED AS NORMAL. A ‘Y' RESPONSE WILL ALLOW THE USER TO ANSWER THE FOLLOWING DRIVE PARAMETER QUESTIONS. STARTING ENDING INCREMENT STARTING ENDING CYL CYL CYL TR¥ TRK (D) (D) (D) (D) (D) 0 ? 629 ? 1 2 0 ? 31 2 ENDING SEC (D) 49 ? 1 ? INCREMENT TRK (D) STARTING SEC (D) 0 ? DATA PATTERN (0) +(TESTS 2-64,6-8,11,13,14,17,18) *(TESTS 2-4.6,8,10.14.17,18) +(TESTS ) «(TESTS 2-7.11,13,16,17) «(TESTS 3-6.11.14.16-18) «(TESTS 11,16,17) se(TESTS 2.5-7.13) «+(TESTS 5.6,14,18) 030221 ? ++(TESTS 16,17.18) IF THE FIELD VERSION OF THIS PROGRAM IS BEING RUN, THE FOLLOWING QUESTION WILL Bt ASKED. 0O YOU WANT TO WRITE ANYWHERE ON MEDIA (L) N ? 1F THE RESPONSE TO THE PREV]IOUS QUESTION IS °N', THE FOLLOWING QUESTION WILL BE SKIPPED AND PROGRAM WILL PROCEED AS NORMAL, A 'Y' RESPONSE WILL PRINT THE FOLLOWING WARNING MESSAGE TO THE OUTPUT DEVICE AND ASK THE FOLLOWING QUESTION. ' CUSTOMER DATA WILL BE OVERWRITTEN ! CONTINUE (L) ? *«(TESTS 17,18) IF THE RESPONSE TO THE PREVIOUS QUESTION IS °N°', THE FOLLOWING QUESTION WILL BE SKIPPED AND THE PROGRAM WILL NOT ALLOW TESTS 17-18 T0 gssgg%ggffb FOR TESTING. A 'Y' RESPONSE WILL ASK THE FOLLOWING USE RANDOM DATA PATTERNS FOR RANDOM WRITE TEST (L) N ? ++ (TESTS 18) PERFORM READ HEADER & DATA DURING SEEKS (L) (TESTS 2-6) TYPE TIME REPORTS (L) N ? . v ? vo (TESTS 7-10,14,18) N INHIBIT SOF TWARE TIMEOUTS (L) "(ALL TESTS) TIMING TESTS, STALL BETWEEN SEEKS: RANDOM lNSYEAD OF 2 MSEC to (TESTS 7-10,14,18) STALL AFTER EVERY DRIVE FUNCTION [N NON-TIMING TESTS (L) N ? (L) N ? CIRJLAQ PPO7 FCTNL TEST MACRO Vv04.00 1-JAN=-83 11:06:45 PAGE 4=5 SEQ 0008 USER DOCUMENTATION *o (TESTS 1-6,11,13,14-18) *USE RANDOM STALL TIMES * IS *+* THAT QUESTION (L) N ? *o (TESTS 1-6,11,13,14-18) ASKED WHEN YES INDJCATES NOT PART OF THE IS DIALOGUE. ANSWERED TO THE QUESTION. STALL DEFINITIONS 1. 2. A N’ ASSUME ARE TWO DISTINCT SELECTABLE STALLS : STALL, VIA SOFTWARE RANDOM (1-64 MSEC) NON=TIMING TESTS. STALL TIME (SW) D IALOGUE: AFTER EV ERY DRIVE 10, MSEC OR FUNCTION IN NON-SELECTABLE, 2 MSEC OR RANDOM STALL BETWEEN SEEKS IN TIMING TESTS 8. RESPONSE THE TO ASSIGNED THRU 10. THE SUPERVISOR QUESTION ''CHANGE SOFTWARE (SW) DEFAULT SW (L)?'’ WILL CONDITIONS: REPEATS = 1 Py THERE STARTING CYLINDER = 0, ENDING CYLINDER = 629, STARTING TRA(K = ENDING TRACK = 31, INCREMENT TRACK = 1, STARTING SECTOR = 0, . 1% SECTOR = 49, PA!YERN = 030221, WRITE ON ALL CYLINDERS WITHIN SPt... .ED LIMITS, RUN TESTS 1-18, DO READ HEADER AND DATA COMMAND IN SEEK TESTS 2=6, NO STALL, NO TIME REPORTS, SOFTWARE TIMEOUTS ENABLED. NOTE If RUNNING THE FIELD VERSION OF THIS PROGRAM, TESTS 17 AND 18 WILL ONLY BE RUN WHEN THE °'WRITE DATA ANYWHERE ON THE MEDIA'' OPTION S SELECTED BY THE OPERATOR. 2.6 EXTENDED P-TABLE DIALOGUE WHEN YOU ANSWER THE IN A TABLE HARDWARE QUESTIONS, YOU ARE BUILDING ENTRIES THAT DESCRIBES THE DEVICES UNDER TEST. THE SIMPLEST WAY TO BUILD THIS TABLE 1S TO ANSWER ALL QUESTIONS FOR EACH UNIT T0O BE TESTED. IF YOU HAVE A MULTIPLEXED DEVICE SUCH AS A MASS STORAGE CONTROLLER WITH SEVERAL DRIVES OR A COMMUNICATION DEVICE WITH SEVERAL LINES, THE ANSWERS ARE TO ILLUSTRATE THIS BECOMES TEDIOUS SINCE MOST OF REPETITIOUS. A MORE EFFICIENT METHOD, SUPPOSE YOU ARE TESTING A FICTIONAL DEVICE, THE XY11. SUPPOSE THIS DEVICE CONSISIS OF A (ONTROL MODULE WiTH EIGHT UNITS (SUB-DFVICES) ATTACHED TO IT. THESE UNITS ARE DESCRIBED BY THE OCTAL NUMBERS O THROUGH 7. THERE 15 ONE HARDWARE PARAHEYER 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 # UNITS (D) UNIT 1 ? XY11 B<(R> WITH EIGHT UNITS, SEQC 0009 C(IRJLAQ RPO7 FCINL TEST MACRO v04,00 1-JAN-83 11:06:45 PAGE &4-6 USER DOCUMENTATION 160000<CR> (SR ADDRFSS (0) ? SUB-DEVICE # 6 7 0<CR> Q=-tACTOR (0) 1<CR> UNIT 2 160000<(R> (3R ADDRESS (0) ? 1<(R> SUB=-DEVICE # (0) ? 1 Q=FACTOR (0) Q<(R> 72 UNIT 3 160000<(R> CSR ADDRESS (0) ? 2<(R> SUB=DEVICE # (0) ? <(CR> Q=F’-TOR (0) 0 ? UNIT & CSR ADDRESS (0) ? SUB-DEVICE # (0) : Q-FACTOR (0) 0 ? UNIT S (SR ADDRESS (0) 160000<CR> 3<(R> <(R> 160000<(CR> ? 4&<(R> SUB=DEVICE # (0) ? Q=FACTOR (0) 0 ? <(R> UNIT 6 160000<(R> CSR ADDRESS (0) ? 5<(R> SUB-DEVICE # (0) ? Q-FACTOR (0) 0 ? UNIT 7 (SR ADDRESS (0) ? SUB=-DEVICE # (0) Q-FACTOR (0) 0 ? <(R> ? 160000<(R> 6<CR> 1<(R> UNIT 8 160000<CR> CSR ADDRESS (0) 7<(R> SUB-DEVICE # (0) ? 1 Q-FACTOR (0) ? <(R> NOTJCE THAT THE DEFAULT VALUE FOR THE Q-FACTOR CHANGES WHEN A NON=-DEFAULT RESPONSE IS GIVEN. BE CAREFUL WHEN SPECIFYING MULTIPLE UNITS! AS YOU CAN SEE FR OM THE ABOVE EXAMPLE, THE HARDWARE PARAMETERS THE PROCEDURE SHOWN F TCANTLY FROM UNIT TG UNIT. DO NOT VARY S 16 ?* NOT VERY EFFl Cl THE RUNTIME SE?V I CES CAN TAKE MULTIPLE UNIT SP € S AME TABLE USING THE MULTIPLE LET'S BUILD T FEATURE. # UNJTS UNIT 1 (D) 7 B<«(R> 160000<CR> (SR ADDRESS (0) ? # (0) ? 0,1<(R> SUB DEVICE Q-FACTOR (0) 0 1,0<CR> IS NS HOWE VER. CIRJLAQ RPO7 FCINL TEST MACRO v04.00 1-JAN-83 171:06.45 PAGE &-7 USER DOCUMENTATION Sea 0010 UNIT 3 CSR ADDRESS (0) ? 160900<(R> SUB-DEVICE # (0) ? 2=5¢<(R> Q-FACTOR (0) 0 ? O<(F> UNIT 7 CSR ADDRESS (0) SUB=DEVICE # (0) Q-FACTOR (0) 0 ? AS YOU CAN SEE IN THE ? ? 1€0000<(CR> 6,7<(R> 1<(R> ABOVE DIALOGUE, THE RUNTIM: 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 SERVICES ASSUME TWO SUB-DEVICES THAT THE AND Q-FACTORS WERE CSR ADDRESS WAS SPECIFIED ONLY ONCE. IN THE SPECIFIED. IS .1600C0 FOR BOTH SINCE SECOND PASS, THE IT FOUR ENTRIES WERE UILT. THIS 1S BECAUSE FOUR SUB-DEVICES WERE SPECIFIED. THE “'<"* CONSTRUCT TELLS THE RUNTIME SERVICES TO INCREMENT THF DATA FROM THE FIRST NUMBER TO THE 2, 3, 4 AND 5 WERE SPECIFIED., SECOND. (]F IN THIS CASE, SUB-DEVICES THE SUB-DEVICE WERE SPECIFIED BY ADDRESSES, THE INCREMENT WOULD BE BY 2 SINCE ADDRESSES MUST BE ON AN EVEN BOUNDARY.) THE (SR ADDRESSES AND QG-FACTORS FOR THE FOUR ENTRIES ARE ASSUMED TO BE 160000 AND O RESPECTIVELY SINCE THEY WERE ONLY SPECIFIED ONCE. THE LAST TWO UNITS ARE SPECIFIED IN THE THIRD PASS, THE WHOLE PROCESS SHOWN BELOW. # UNITS COULD (D) ? HAVE BEEN ACCOMPLISHED IN ONE PASS AS B<(R> UNIT 1 (SR ADDRESS (0) ? 160000<CR> (Q=7<(R> SUB=DEVICE # (0) ? Q-FACTOR (0) 0 ? 0,1,0,,..1,<(R> AS YOU A NULL (AN SEE FIELD) FROM TELL THIS THE EXAMPLE, RUNTIME 2.7 QUICK START-UP PROCEDURE 10 START=UP 1. NULL SERVICES REPLIES (COMMAS TO REPEAT THE (XXDP+) BOOT XXDP+ THE DATE AND ANSWER THE LSI AND 50HZ (IF IS A CLOCK) QUESTIONS &. REPLY, THIS PROGRAM: 2. GIVE 3. ENCLOSING LAST TYPE 'R NAME®', WHERE NAME FILE FOR THIS PROGRAM [S THE NAME OF TYPE “'START" 5. ANSWER THE “‘CHANGE HW'' QUESTION WITH *'v*’ THERE THE BIN OR BIC Seae oo CIRJLAQ RPO7 FCINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 4-8 USER DOCUMENTATION 6. ANSWER ALL THE HARDWARF QUESTIONS 7. ANSWER THE "'CHANGE SW'' QUESTION WITH ''N'’ WHEN YOU FOLLOW THIS PROCEDURE YOU WILL BE USING ONLY THE DEFAULTS FOR FLAGS AND SOF TWARE PARAMETERS. THESE DEFAULTS ARE DESCRIBED IN SECTIONS 2.3 AND 2.5. 3.0 ERROR INFORMATION 3.1 TYPES OF ERROR MESSAGES THERE ARE THREE LEVELS OF ERROR MESSAGES THAT MAY BE THE GENERAL ERROR MESSAGE 1S OF ISSUED BY k DIAGNOSTIC: GENERAL, BASIC AND EXTENDED. GENERAL ERROR MESSAGES ARE ALWAYS PRINTED UNLESS THE ''IER'" FLAG IS SET (SECTION 2.3). THE FORM: ON UNIT NUMBER NUMBER TYPE NAME ERROR MESSAGE TST NUMBER PC:XXXXXX LWHERE; NAME = DJAGNOSTIC NAME TYPE = cRROR TYPE (SYS FATAL, DEV FATAL, HARD OR SOFT) NUMBER = ERROR NUMBER UNIT NUMBER = 0 - N (N IS LAST UNIT IN PTABLE) TST NUMBER = TEST AND SUBTEST WHERE ERROR OCCURRED PC:XXXXXX = ADDRESS OF ERROR MESSAGE CALL BASIC ERROR MESSAGES ARE MESSAGES THAT CONTAIN SOME ADDITIONAL INFORMATION ABOUT THE ERROR. THESE ARE ALWAYS PRINTED UNLESS THE "'JER'* OR ''IBR'' FLAGS ARE SET (SECTION 2.3). THESE MESSAGES ARE PRINTED AFTER THE ASSOCIATED GENERAL MESSAGE. EXTENDED ERROR MESSAGES CONTAIN SUPPLEMENTARY ERROR INFORMATION THESE ARE ALWAYS SUCH AS REGISTER CONTENTS OR GOOD/SAD DATA. PRINTED UNLESS THE ‘'IER'', "IBR’' OR "'IXR'' FLAGS ARE SET (SECTION 2.3). THESE MESSAGES ARE PRINTED AFTER THE ASSOCIATED GENERAL ERRODR MESSAGE AND ANY ASSOCIATED BASIC ERROR MESSAGES. ERROR PRINTOUT THE ERROR PRINTOUT WJLL CONTAIN A ONE L] B8Y COLUMN HEADINGS AND COLUMNS OF REGIST ON FOLLOWED mZ 3.2 AL EXAMPLE: HRD CZRXXX ERR 00XXX CyL Xxxx. TSTXX ON UNITXX RPO7 ADDRESSING ERROR (]AE AOE) TRK XX. SEC XX, RPER2 SUBXX (HEX) XXXX DRIVE RP(ST RPWC RPBA RPDA RP(S2 RPDS RPERT OO RPOF XOOCOCK RPAS OO RPDC OOONEE RPLA OO RPCC OO0 RPDB XXXXXX RPER2 XXXXXX RPMR1 XXXXAR RPER3 XXX RPDT XAXXXX RPECY XXAXKXN RPSN XXXXXX RPEC? XXXXXNX XOOOOCK XN JOOO0EE XOOOENE XXOOC XXXAXK XKXXXXX AN POIXXXXX CIRJLAQ RPQ7 FCTINL TEST MACRO v04.00 1-JAN-B3 11:)6:45 PAGE 4-9 USER DOCUMENTATION SEQ 0012 Tk FIRST LINE OF THE ERROR MESSAGE 1S PRODUCED BY THE DIAGNOSTIC SUPERVISOR. THERE ARE SEVEN ITEMS REPRESENTED IN THE FIRST LINE OF QUTPUT. THEY ARE: 1) THE MAINDEC NUMBER, 2) THE TYPE OF ERROR, IE: WARD, DEVICE FATAL, 3) THE ERROR MESSAGE NUMBER, &) THE FAILING LOGICAL UNIT NUMBER, 5) THE NUMBER OF THE FAILING TEST, 6) THE NUMBER OF THE FAILING SUB=TEST, FATLURE MESSAGE. 7) THE ACTUAL PROGRAM COUNT OF THE THE SECOND LINE PRODUCES INFORMATION ABOUT THE SPECIFIC F Al LU?E MODE. THE BALANCE OF THE ERROR REPORT CONTAINS REGISTER STATUS TO AID THE F.t. IN FAULT DETECTLON AND POSSIBLE ISOLATION. 3.3 SPECIFIC ERROR MESSAGES INIT CODE ERRORS ON A START COMMAND OR ON A NEW PASS, IN THE INIT CODE, BEFORE RUNNING THE APPROPRIATELY REPORTED AND THE THE DRIVE AVAILIBILITY IS CHECKED TESTS. A DRIVE NOT AVAILABLE IS CURRENT PASS ABORTED FOR THAT UNIT: DRIVE N UNSAFE DRIVE N NON-EXISTENT DRIVE N OFF=LINE DRIVE N NOT A RPO7 WHERE °'N' IS THE DRIVE NUMBER THAT FAILED RHXX CONTROL BUS PARITY ERROR M(PE=1 RHXX DATA BUS PARITY ERROR MDPE=1 RHXX ILLEGAL CONDITIONS SET (NED,NEM,PGE,MXF) WRITE CHECK ERROR DATA LATE ERROR DRIVE PROGRAMMING ERROR (PGE) LOSTS BIT CLOCK (LBC) WRITE CLOCK FAILS WRITE LOCK ERROR DATA ERROR (DCK) DRIVE BUS PARITY ERROR (DFE) ILLEGAL CONDITIONS SET (ILF,ILR,RMR) ADDPRESSING ERROR (]AE,AOE) SEEK ERROR (SKk],LCE) CLOCK (KW11=P) OVERFLOW IN TIMING TEST EARLY WARNING (EWN) HEAD FAILS HEADER ( FER) INFORMATION ERRO R (HCE (H ) DRIVE HAS BECOME NON-EX ISTENT DRIVE HAS NOT RESPONDED 10 PO 27 REQUEST DR SOF TWARE TIMEOUT ON IHA S DRIV FATAL MASSBUS PARITY ERR Ok (M (PE=1 OR PAR=1) OFFLINE OR UNSAFE DRIV E REQUE STED WRITE=READY UNSAFE (1 e DATA FORMAT BIT ERROR - READ AND WRITE _— WNANAAINU R PORUNOD RO NUML cd ot b b b e b Y O N SN NN — PO NV EANND =2 D NNV NN =B os oo co so <o 00 o0 NUMRERED ERROR LIST SEQ 0013 (IRJLAD RPO? FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PACE 4-10 DC FOWER UNSAFE INDEX UNSAFE PROCESSOR HANCSHAKE FAILURE DRIVE OFF=LINE OR NOT A RPO7 OPERATION INCOMPLETE (OP]) |MPROPER HEADER DATA ECC LOGIC FAILURE MISC DRIVE ERROR: RPER1, RPER2, RPER3 DRIVE TIMING ERRCR (DTE) LAST BLOCK TFR LBT NOT SET WHEN READING LAST SECTOR AD OVFL AOE NOT SET WHEN READING FAST LAST SECTOR HARD ERROR - SOFT ERROR - OM OF RPDS NOT SE* ON OFFSET (MD OM OF RPDS NOT RESET ON RET CENTER (MD MOST OF T HE NUMBERED ERRORS ABOVE WILL ALSO CAUSE A DUMP OF THE FORMAT BE LOW, CONSISTING OF 2 P*RTS, A BASI(C, THEN AN EXTENDED ERROR MESSAGE. BOTH CUNTROLLED BY IBR AND IXR FLAGS: CYyL Xxx, TRK XX, SEC Xxx. RPER2 (MEX) XXXX ODRIVE RPCS1T RPWC RPBA RPDA RP(S2 RPDS RPER1 RPAS RPLA RPDB RPMR1 RPDI RPSN RP(CC RPERZ RPER3 RPEC! RPE(? XOOXKXX XXOXXXN HXHONN OO XXX RPD( RPGF XXXXX X000 XXX XN XXXXAN XOOOC KOO0 KOO0 HOXX INNEE XAXNXNN XXXXXA XK XXXXXX XXNXXX XXXXXX EXCEPTIUNS: (1) DRIVE N ), DRV (YL XX XXX TRK SEC XXX XXX GDCYL GDTRK GDSEC BDCYL BDTRK BODSEC XXX (3) XXX XXX XXX XXX # OF QPERATIONS JITH A LOST XXXX OPERATIONS TIMED XXX REVOLUTION: ALLOWABLE OPERATION TIME LIMIT MAX= XXYXX US (4) NO ADDITIONAL MESSAGES (%) TIMING TESTS 7, 14, 18: UNRECOVERABLE SEARCH ERRCR ABORT TEST SEARCH FAJLED AFTER 16 RETRIES ABORT TEST XXXX B NN (HCRC) -t s o ERROR UNCORRECTABLE ECC ERROR I~~~ CRC (2) & HEADER Q) P AAVUNINSNWA SN 85 05 0 B 8 B\ NUNNWN NN = O NC WSS WNND = NN W USER DOCUMENTATION SEQ 0014 CZRJLAO RPO7 FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 4-11 USER DOCUMENTATION (6) TIMING TESTS 8-10, 14, 18: POSITION ERROR: 3.4 ABORT TEST ERROR TYPE THE FIRST LINE OF ERRCR MESSAGES PRODUCED BY IDENTIFIES THE TYPE OF ERROR REPORTED. DIAGNOSTICS IN 3 CATEGORIES: 1. 2. 3. °SFT® = SOFT: THE DJAGNOST IC SUPERVISOR THEY ARF CLASSIF] ED BY THE THE FIRST LOST D'SC REVOLUTION IN THE ADDRESS MARK DETECTION TESYS. 'HRD' - HARD: ALL ERRURS, EXTET PVICE FATAL ERRORS AND SOFT ERRORS. 'DVC FTL' - DEVJCE FATAL: A FRROR THAT FAILS THE DEVICE; DEVICE NNT READY, NON=EXISTFNT Ur NCI AN RPO7. 4.0 PERFORMANCE AND PROGRESS REPORTS AT THE END OF EACH PASS, THE PA5S COUNT IS GIVEN ALONG WITH THE TOTAL NUMBER OF ERRORS REPORTED SINCE THE DIAGNOSTIC WAS STARTED. THE “'EOP'* SWITCH CAN BE USED 10 CONTROL HWOW OFTEN THE END Of PASS MESSAGE IS PRINTED. SECTION 2.2 DESCRIBES SWITCHES. 5.0 TEST SUMMARIES TEST 1: RECAL TEST THIS TEST EXECUTES A RECALIBRATE COMMAND, THEN EXECUTES A READ HEADER AND DATA COMMAND TO VERIFY CCRRECT POSITION. NOTE SEEK POSITIONING IN SEEK TESTS 2-6, IS VERIFIED VIA READ HEADER AND DATA COMMAND, UNSUPERSEDED BY SOF TWARE (SW) DIALOGUE, IN WHICH CASE POSITIONING IS NOT VERIFIED. TEST 2: INCREMENTAL SEEK THIS TEST 1S REACHED, EXECUTES SEEK TEST FORWARD SEEKS TO ADVANC. THE FIRST(STARTING) CYLINDER ADDRESS TO THE LAST(ENDING) CYLINDER ADDRESS INCREMENTALLY. WHEN THE LAST(ENDING) CYLINDER THE THE TEST IS REPEATED IN THE REVERSE DIRECTION, INCREMENT/DECREMENT VALUE VIA SW DIALOGUE. TEST 3: THIS IS 1 BY DEFAULT, CHANGEABLE RANDOM SEEK TEST TEST EXECUTES 1024, SEEXK OPERATIONS RANDOMLY BETWEEN THE GIVEN FIRST(STARTING) CYLINDER ADDRESS AND LAST(ENDING) CYLINDER ADDRESS. (IR RHX USER DOCUMENTAT[ON CIRJLAQ ®PO7 FCINL TEST MACRO V04.00 1-JAN=83 11:06:45 PAGE GE 4= 4=12 SEQ 0015 C TEST &: RECAL/RANDOM SEEK TEST THIS TEST EXECUTES A RECALIBRATE COMMAND, FOLLOWED BY A SEEK TO A RANDOMLY SELECTED CYLINDER. THIS SEQUENCE IS REPEATED 10. TIMES. TEST 5: SEEK DIFFERENTIAL THIS TEST CONSISTS OF TEST 3 SUBTESTS TO TEST THE HEAD POSITIONER AND SERVO SYSTEM RESPONSE TO 3 UNIQUE DIFFERENT]AL SEEK PROFILES: 1. 6 CYLINDER DIFFERENTIAL CHANGE BY 107, ... LOGIC. SEEK: FORCES A SLEW TEST POSITIGNAL SEEKING FROM CYLINDER O TO S, 1 626 710 629, 10 YHE RATE 10O 6, 2 2. 33 CYLINDER DIFFERENTIAL SEEK: WORST CASE SEEK UVERSHROOT TEST, FORCED BY SEEKiNG FROM CYLINDER O 70 32, 170 33, 2 10 34, .. 597 10 . 3. FORCES MAXIMUM 400 CYLINDER DIFFERENTIAL SEEK: ACCELERATION AND DECELERATION OF CARRIAGE ASSEMBLY, FORCED BY SEEKING FROM CYLINDER O TO 399, 1 10 400, 2 10 401, ... TEST 6: OSCILLATING SEEK 230 10 629. TEST THIS TEST SHALL EXECUTE A SERIES OF CAUSE SEEK OPERATIONS TO AN OSCILLATING MOVEMENT OF THE HEAD POSITIONER. MOVEMENT SHALL RESULT FROM SEEKING TO THE FOLLOWING THAT PATTERN OF ODESIRED CYLINDERS: FROM THE MAXIMUM DISTANCE SEEK OF CYLINDER O TO LAST(ENDING) CYLINDER (LC), FROM CYLINDER 1 TO FROM CYLINDER 2 10 L(-2, ... DOWN TO THE MEDIAN LC=-1, CYLINDER, THEN, REVERSING THE ORDER OF THOSE SEEKS FROM THE MEDIAN CYLINDER BACK UP TO THE MAXIMUM DISTANCE SEEK OF CYLINDER O TO LC. NOTE CONTAIN THAT A THEY REO TIMING TESTS. KW11P P=CLOCK BE INSTA SYSTEM IN-ORDER TO RUN. THE ON THE COMPLETION OF EACH OF THE TI TESTS, THE MAXIMUM AND THE MIN TIMES, AND THE AVERAGE SEEX TIME EACH TEST ARE CHECKED TOLERANCES GIVEN BY THE SPECS. THE PROGRAM ~AGAINST ENGINEERING WILL PRINT THE MEASURED TIMES ONLY IF THEY ARE OVER THE TIMING TOLERANCES, PROVIDED THE PRINT WAS REQUESTED VIA SOTWAKE (SW) IF A SVSIEH CLOCK IS NOT DIALOGUE. FOUND TO BE PRESENT, TIMING TESTS THE OPERATOR EXECUTED. WiLL NOT BE WILL BE NOTIFIED VIA A MESSAGE. 0 CIRJLAQ RPO7? FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 4-13 2 SEQ 0016 USER DOCUMENTATION TEST 7: ROTATIONAL THIS TRACK TEST SPEED TIMING TEST EXECUTES A SEARCH FT AND SECTOR FS. COMMAND TO (CYLINDER F( "AS SOON AS THE SEARCH OPERATION IS DONE, THE TEST SETS THE ''6OTM* BIT 10 EXECUTE ANOTHER SEAR CH LOMMAND W]TH THE SAME RHXX/RPO? REGISTER CONTENTS. THE TIME INTERVAL IS MEASURED AGAINST A TOLERANCE OF 16.515 MSEC +-3X. REPEAT THIS SEQUENCE 10 TIMES. IN CASE ANY REAC ERROR EXISTS, THE PROGRAM WILL EXECUTE COMMAND 16 TIMES. ARQRT THE TEST, ONE THIS THE RETRY SEQUENCE FAILS THE PROGRAM WILL GENERATING A MESSAGE wAS ABORTED. TEST 8: IF RECOVERABLE THE SEAR(CH TELLING WHY THE PROGRAM CYLINDER SEEK TIMING TEST TEST EXECUTES FORWARD SEEK FROM THE FIRST(STARING) CYLINDER TO THE FIRST(STARTING) CYLINDER + 1 AND THE OPERATION IS TIMED AGAINST A TOLERANCE OF 5 MSEC.. AFTER EXECUTING THE TEST CYCLE, THE FIRST(STARING) CYLINDER ADDRESS IS INCREMENTED BY ONE. THIS PROCEDURE conrlnues UNTIL THE FIRST(STARTING) CYLINDER ADDRESS REACHES 629 THE USER SPECIFIED ENDING CYLINDER, THEN THE TEST IS REPEATED IN THE REVERSE DIRECTION. DO THIS AVERAGE ONE “TYPE TIME REPORTS (L)' GUESTION [S RESPONDED TO IN THE AFFIRMATIVE, THE AVERAGE SEEK TIME FOR A SINGLE CYLINDER SFEK CYLINDER SEEK TIME WILL BE SEQUENCE COMPUTED AND TWICE. THE REPORTED WHEN IS COMPUTED PER FORMULA: T (AVG) WHERE TEST 9: = TX =eeecemcccccicliccccccccccaceccccemacccans 629 + 629 IS AVERAGE THE SINGLE SEEK CYLINDER SEEK (AV(Q) : WHERE = THE TX THE TOTAL TEST 10: (T1 AVERAGE SEEK TIME BY USING X 629)¢(T2 X 628)¢+...4(T629 x 1)] ==ecccccccecccccccccccececcrcnncnccccccrcccaces 629 X 629 1S THE FORWARD CYLINDER AVERAGE 2 X [ TIME. TIME MEASUREMENT THIS TEST WILL MEASURE THE THE FOLLOWING CALCULATION: T THE (REVERSE) SEEK TIME FROM CYLINDER O TO X (CYLINDER X TO CYLINDER 0). NUMBER OF SEEK TIME SEEKS EXECUTED. TOLERANCE THE NUMBER 2X629 IS IS 23 MSEC. MAXIMUM SEEK TIMING TEST THIS TEST EXECUTES FORWARD SEEK FROM CYLINDER O TO LAST(ENDING) CYLINDER, THEN A LAST(ENDING) CYLINDER TO CYLINDER 0. REVERSE SEEK BOTH SEEKS THE FROM ARE AGAINST A TOLERANCE OF &6 MSEC.. A TOTAL NUMBcR OF SEEKS WILL BE EXECUTED TO CALCOLATE THE MAXIMUM TIME(512 FORWARD, 512 REVERSE). THE TIMED 1024 SEEK (2 RP CIRJLAQ RPQ7 FCTNL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 4-14 USER DOCUMENTATION TEST 11: MID TRANSFER SEEK SEQ 0017 TEST THIS TEST EXECUTES READ DATA COMMANDS FOR EVERY TRA(K ON THE FIRST (STARTING) CYLINDER, WITH WORD COUNT BEING SET [0 EQUAL A FULL TRACK PLUS ONE SECTOR. THIS TEST THAT EACH READ HEAD WORKS PROPERLY AND ALSO ENSURES SPIRAL_READ DATA OPERATION, REQUIRING A MID-TRANSFER WORKS PROPERLY. TEST 12: ERROR REGISTER BIT ENSURES THAT THE SEEK, TEST EXECUTE A READ DATA COMMAND ON THE LAST USER ADDRESSABLE SECTOR, TESTING FOR THE ASSERTION OF LAST BLOCK TRANSFERRED (LBT) BIT OF COMMAND WORDS, TO THE LAST STATUS REG RPDS. TESTING FOR ERROR (AOE) BIT OF TEST REISSUE READ DATA SECTOR WITH A WORD COUNT GREATER THAN 256 THE ASSERTION THE tRROR REG. OF THE RPER1. ADDRESS OVERFLOW 13: OFFSET/RETURN TO CENTER LINE TEST VERIFY THAT THE OFFSET AND RETURN TO CENTER WORK PROPERLY. LINE COMMAND ISSUE AN OFFSET COMMAND, PROCESS THE ATTENTION INTERRUPT AND CHECK FOR ERRORS, VERIFY THE ASSERTION OF THE OFFSET MODE (OM) BIT OF RPDS. ISSUE A RETURN TO CENTER LINE COMMAND, PROCESS 'HE ATTENT]ON INTERRUPT AND CHECK FOR ERRORS, If RANDOM READ TEST THERE / ADDRESS MARK DETECTINiN TEST IS NO P-CLOCK, THIS TEST RANDOMLY SELECTS A SECTOR, THEN EXECUTES A READ DATA COMMAND TO THIS SECTOR 1 0 VERIFY THAT NO DATA TRANSFER ERROR OCCURS. REPEAT 1024 T TIM 3 L] 14: OM. wVO TES! VERIFY THE RESET/ING OF oO=<mMcy if THERE IS A P-CLOCK, THE ADDRESS MARK DETECTION TIM I N TEST VERIFIES THAT DATA (AN BE READ CORRECTLY WITHIN T H SAME REVOLUTION AS A SECTOR DETECTION. THE TEST RANDO M L SELECTS A SECTOR, SEARCHES FOR THE PRECEDING LOGICAL SE C T R. THEN READS THE SELECTED SECTOR. THE TIME INTERVAL SEARCH DONE - READ DONE 1S MEASURED AND CHECKED TO BE WI T H l THE SAME DISC REVOLUTION. REPEAT THIS SEQUENCE 1024 TI M € S. AT THE END OF THE TEST, AN ERROR MESSAGE SHALL INDICATE T HE NUMBER OF OPERATIONS WITH A REVOLUTION LOST, IF ANY, TEST 15: FE CYLINDER ADDRESS TEST THIS TEST EXECUTES READ-HEADER VERIFY THE ADDRESSING OF FE CYLINDER, AND ULATA THEN EXECUTES AN EXPLICIT SECOND FE CYL INDER, TEST 16: FE CYLINDER WRITE COMMANDS SECTOR O ON ALL TRACKS OF AND WRITE-CHECK THIS TEST WILL WRITE ON THE FIRST FE SEEX TO T0 THE FIRST ACCESS TEST CYLINDER FROM THE THE SEQ 0018 C(ZRJLAQ RPO7 FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 4-15 USER DOCUMENTATION FIRST(STARTING) TO THE I.AST(ENDING) TRACK TO VERIFY THAT THE DRIVE CAN WRITE DATA WITHOUT DETCCTABLE ERROR, THE TEST WRITES THE DEFAULT DATA PATTERN 030227 OR A USER SPECIFIED DATA PATTERN ONTO THE MEDIA, FOLLOWED BY EXECUTING A WRITE=CHECK COMMAND., 1TS COMPLEMENT COUNT TEST 17: if THE TEST CHANGES THE DATA PATTERN T0 VALUE AND 1S SET 1O DO TWO HALF WRITE REPEATS THE TEST CYCLE. TME JORD TRACK DATA TRANSFERS. TEST RUNNING THE FIELD VERSION OF THIS PROGRAM, THIS TEST IS ONLY RUN IF THE "WRITE DATA ANYWHERE ON THE MEDIA'' OPTION IS 35%§$ISRS 8Y THE OPERATOR, IN THE SOFTWARE PARAMETER THIS TEST WRITES DATA AND WRITE CHECKS DATA ON EVERY TRA(K FROM THE FIRST(STARTING, TO LAST(ENDING) TRACK OF THE FIRST (STARTING) CYLINDER FC AND THE LAST(ENDING) CYLINDER. THE WORD COUNT IS SET TO DO TWO HALF TRACK DATA TRANSFERS. TEST 18: RANDOM WRITE TEST /ADDRESS MARK DETECTION TEST IF RUNNING THE FIELD VERSION OF THIS PROGRAM, THIS TEST IS ONLY RUN IF THE "WRITE DATA ANYWHERE ON THE MEDIA'* OPTION IS gs&g%;sgs BY THE OPERATOR, IN THE SOFTWARE PARAMLTER IF THERE IS NO P=CLOCK, THIS TEST WRITES DATA AND WRITE CHECKS DATA RANDOMLY ON THE MEDIA, WITH A TRANSFER SIZE OF 1 gig}g:fi 1024 TIMES. IF THE DATA PATTERN IS RANDOM QR A SPECIFIED THERE IS A P-CLOCK, THE TEST ADDRESS MARK DETECTION TIMING VERIFIES THAT DATA CAN BE WRITTEN CORRECTLY WITHIN THE SAME REVOLUT!ON AS A SECTOR DETECTION. THE TEST RANDOMLY SELECTSA SECTOR, SEARCHES FOR THE PRECEDING SECOND LOGICAL SECTOR, THEN WRITES THE SELECTED SECTOR. THE TIME INTERVAL SEARCH DONE = WRITE DONE IS MEASURED AND CHECKED TO BE WITHIN THE SAME DISC REVOLUTION. A WRITE CHECK DATA IS THEN ISSUED ON THE SELECTED SECTOR. REPEAT 1024 TIMES. AT THE END OF THE WITH A REVOLUTION LOST, If TEST, AN ERROR MESSAGE SHALL INDICATE THE NUMBER OF OPERATIONS ANY, 9 RPO7 FCINL SE@ 0019 TEST MACRO v04.00 1-,AN-83 11:06:45 PAGE 6 .REM & VERSION (CZRJL=-A-0) 1. THIS VERSION IS THE STARTING POINT THE RPO7 DISK DRIVE. FOR (X DIAGNOSTIC SUPPORT OF &{2%539 RPO7 FCTINL TEST MACRO V04,00 1-JAN=-83 11:06:45 PAGE 7 } SEQ 0020 :*LAST REVISION 01-JAN=-83 270 %gg LTITLE .SBTTL 300 000000 301 303 CZRJLAO RPO7 FCTNL TEST PROGRAM HEADER .ENABL 002000 . AMA,ABS = 2000 305 Xz %85 ; THE DIAGNOSTIC PROGRAM AND THE SUPERV]SOR. 206 : THE PROGRAM WEADER S THE INTERFACE BETWEEN 309 1 219 323 002000 002000 002001 002002 002003 002004 002005 002006 002007 002010 002010 002011 103 132 122 112 114 000 000 000 101 002011 060 002012 002014 002014 002016 002016 002020 002020 000001 002012 002022 000060 041026 0641144 002022 002024 002024 002026 002026 022030 102030 012172 002032 002034 002034 002036 002036 002040 002040 002042 002042 000000 002032 002044 002044 002046 002204 074614 000000 000000 000000 002124 000000 000000 LSNAME : : LSREV:: LSDEPO: : LSUN]IT:: LSTIML:: LSHPCP: : LSSPCP:: LSHPTP: : L$SPIP:: LSLADP:: LSSTA:: L$CO:: LSDTYP:: LSAPT:: LSDTP:: LSPRIO: : LSENV]:: LSEXP:: LASCITD LASCII LASCII LASCII JASCIL .BYTE BYTE BYTE /C/ 72/ /R/ 73/ /L/ O 0 O LASCIT /A/ LASCIT 70/ MORD TSPTHV LMORD ¢0 .WORD LSHARD LWORD L$SOFT LWORD L$HW .WORD L$SW .WORD LSLAST .MORD O LMORD O LMORD O .MWORD O ;DIAGNOSTIC NAME ;REVISION LEVEL :0 :NUMBER OF UNITS ;LONGEST TEST TIME ;POINTER TO H.W. QUES. :POINTER T0 S.w. QUES. ;PTR. 10 DEF. H.W. PTABLE ;PTR. 10 S.W. PTABLE :DIAG. END ADDRESS ;RESERVED FOR APT STATS ;DIAGNOSTIC TYPE :APT EXPANSION .WORD :PTR. TO DISPATCH TABLE LSDISPAT(CH :DIAGNOSTIC RUN PRIORITY O .WORD O .MORD :FLAGS DESCRIBE HOW 1T WAS SETUP sEXPANSION WORD SEQ 0021 CIRJLAQ RPO7 FCTNL TEST MACRO V04,00 1-JAN-B83 11:06:45 PAGE 7-1 o [elelelelelelelololelolelolelsl o] [=] (=] [olslelolalolalelololololalelele] o NN NINVNININININININININI NI NINUND NI (o] (=] COQOOOQOOOOOLODO o ~NO» o o OO OO O NV AW I oo o » I NI STaTole Je F I N SEJole] o PROGRAM HEADER 000000 002070 000000 003 003 000000 000000 000000 003020 0009C0 000000 000000 000000 000000 003026 104035 000000 OO PNIN) b b cod b b e NNOO b b 025460 325 026504 026502 025452 000000 000000 000000 LSMREV:: LSEF LSSPC(:: LSDEVP:: LSREPP:: LSEXPS:: LSEXPS:: LSAUT:: L$DOUT:: LSLUN:: LSDESP:: LSLOAD:: LSETP:: LSICP:: LSCCP:: LSACP:: LSPRT:: LSTEST:: LSDLY:: LSHIME:: .WORD . SVC REV AND EDIT # .BYTE .BYTE ON :DIAG. EVENT FLAGS .wORD .WORD .WORD b . POINTER TO DEVICE TYPE LIST .WORD .WORD ;PTR, TO REPORT :PTR. TO ADD UNIT (ODE .WORD .WORD .WOKD sPTR. TO DROP UNIT (ODE .WORD sLUN FOR EXERCISERS TO FILL .WORD .WORD LSDESC EMT ESLOAD .WORD 0 .WORD LSINIT .WORD LSCLEAN .WORD L$AUTO .WORD L$PROT .WORD .WORD .WORD (ODE sPOINTER TO DIAG. DESCRIPTION sGENERATE SPECIAL AUTGLOAD EMT ;POINTER TO ERRITBL ;PTR. INIT TO CODE ;PTR. TO CLEAN-UP CODE :PTR. 70 AUTO LODE sPTR. TO PROTECT 0 s TEST NUMBER 0 sDELAY COUNT 0 ;PTR, TO HIGH MEM TABLE ( l R J L A 0 RPOSLE(TNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 8 0 l S P A 1 C H TA .SBTTL 1 4 3 *4é : THE DISPATCH TABLE CONTAINS THE STAR ING ADDRESS OF EACH TEST. 4 D g ) e ) ) e e el —f o ] e e e i b s d ad e D OO JON N LS NN = OO~V WM = O 002166 e 50 WORD .WORD +WORD +WORD +WORD .WORD .WORD .WORD .WORD -WORD +WORD +wWORD .WORD .WORD .WORD +WORD .WORD .WORD e e .WORD LSDISPAT(H:: e N S B £ B NN NI NN NOOSNOOSNOONS N 8 oD ¢ IT IS USED BY THE SUPERVISOR TO DISPAT(H TO EACH TEST. 5 ) 7 DiSPAT(CH TABLE SEQ 0022 CIRJLAQ RPO7 FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 9 K SEQ 0023 DEFAULT HARDWARE P=-TABLE } LSBTTL 3 14e 4 . 8 [ b) 9 THE DEFAULT HARDWARE P-TABLE DEFAULT HARDWARE P-TABLE CONTAINS DEFAULT VALUES OF s THE TEST-DEVICE PARAMETERS. THE STRUCTURE OF THIS TABLE s IS IDENTICAL TO THE STRUCTURE OF THE HARDWARE P=TABLES. 9 002170 000004 10 002172 11 002174 12 002176 176700 000254 000240 002172 002172 }2 002200 20 21 002202 LSHW:: DFPTBL:: 000000 LWORD .WORD 176700 LWORD 254 LWORD 240 .WORD 0 L10000: L10000-L$HW/?2 :RPCS1 BASE REGISTER ADDRESS :VECTOR ADDRESS sBR LEVEL S5 DEVICE ;sDRIVE NUMBER CZRJLAQ RPO7 FCINL TEST MACRO V04.00 1-JAN-83 11:06:45 PAGE 10 SOf TWARE P-TABLE } .SBTTL 3 14e A g : ; 7 8 002202 002204 002204 9 10 11 12 13 14 0G0016 000000 001165 000901 000000 000037 000001 000000 000061 030221 19 002226 001 24 002232 2 SEQ 0024 SOFTWARE P=-TABLE THE SOFTWARE P-TABLE CONTAINS THE VALUES OF THE PROGRAM PARAMETERS THAT CAN BE CHANCED BY THE OPERATOR, . 0022064 002206 002210 002212 002214 002216 15 002220 16 002222 }g 002224 20 002227 21 002230 22 002231 23 L 001 000 900 000 JMORD L10001-L$5%/2 FC: LC IC FT: LT: IT: MORD MORD WORD WORD .WORD WORD O 629. 1 0 31. 1 ;FIRST CYLINDER :LAST CYLINDER * INCREMENT CYLINDER *FIRST TRACK TLAST TRACK * INCREMENT TRACK ;TESTS: STESTS: STESTS: STESTS: STESTS: STESTS: LS: PAT: "WORD .WORD 49. 030221 SLAST SE :WRITE DATA PATTERN STESTS: STESTS: REDHDR: .BYTE 1 ¢READ HEADER AND DATA (MD FLAG - DEFAULT: LeSW:: SFPIBL:: FS TIMTYP: TIMSTL: STALLF: STALRD: WORD .BYTE .BYTE .BYTE .BYTE O 1 0 0 0 CEIRST sscron STESTS: 2-4,6-8,11,13,14,17,18 0-4.6,8-10.,7.17.18 2 2-7,11,13,16.17 3-6.11.14.16-18 11,16,17 2,8-7.13 §.6,14,18 16-18 (WORST CASE) YES = SEEK ;RANDOM STALL FLAG - DEFAULT NO - PREREQUISITE: STALLF=1 25 002233 26 002234 sg 002235 000 000 000 STOFLG: RANPAT: WRTALL: .BYTE .BYTE .BYTE 0 0 0 :SOFTWARE TIMEOUT INMIBIT FLAG - DEFAULT: NO = ALL ;RANDOM WRITE PATTERN - DEFAULT: NO - TEST: 18 ?Eé}g D?;A1QLL OVER THE MEDIA FLAG - DEFAULT: NO %8 002236 000 C(HANGE: .BYTE 0 ; CHANGE DRIVE PARAMETER FLAG I 38 39 002240 .EVEN L10001: TESTS 2-6 sTYPE TIME = DEFAULT: YES = TIMING TESTS 7-10,14.18 TIHING TESTS,STALL BETWFEN SEEKS: RANDOM INSTEAD OF 2 MSEC ;STALL FLAG: AFTER EVERY DRIVE FUNCTION = DEFAULT: NO :NON-TIMING TESTS 1-6,11,14-18 TESTS 000001 00C€200 000100 000040 000020 000010 000004 000002 000001 001000 000400 000040 000037 000036 700035 000034 PRIORITY LEVEL DEFINITIONS 000340 000300 000240 000200 000140 000100 G Gt G G - =2 NININ N OHoOoNroO £ OOOOO o (LTI TR TR TIN 1] nmannun jolelelelels] POWES VO g P DDDDOD0 L] PNOMOANLNGAN OOVO-=ND [ ] [ ] L ] [ L] man TMM ) ] g G T T T Bt et P T Gume) G [ BT T Sunect Dt Py T DODDODDDDME LC T g e o0 [aa TN X e < —4 N M mmT ~4 oM ~ O =2 NIWNH VOO O e D - I R e R o b o b e =) OO0O0O0OOO0OOOO mr e ol ol o ol o O=NIWNWNEHVON JOOYW el ol ) e ef o o) T T [ —=2POH =NV LT OO0O0OO00O T =N T NI PSS = TR TR TR T TR T T T ) e e o) f o] e e — <o - Yy .SBTTL C = 201 N—N TM2 MM ==t Hile— < V2DV EMOM-—~ DEZVD - VOV OV VOV Vececscs, MMMMMeecs oo MDODDDDDD D 0 (b 0 b G0 G0 G0 A CD T €0 0D (O O D (Dse oo oo S St Qo Sy Gusesy Bt St Gy P gy Lamd X o X Y T ol e e Y Y Y Y T Y Ty Y S TMm &H (=4 o o o o NOWVES WO ON VWA S = CIRJLAQ RPO7 FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 11 GLOBAL EQUATES SECTION " SEQ 0025 GLOBAL EQUATES SECTION 4 . THE GLOBAL EQUATES SECTION CONTAINS PROGRAM EQUATES THAT : ARE USED IN MORE THAN ONE TEST. INITIONS 00000 0000 0000 0000 000 coo 000 00 00 00 0 0 0 NS ¢ OR SUPERVISOR TO PROGRAM COMMUNICATION : RESTART COMMAND WAS . A NEW PASS HAS BEEN STAR'ED ¢ : : START COMMAND WAS [SSUED CONTINUE COMMAND WAS [SSUED ISSUED A POWER=FAIL/POJER-UP OCCURRED CZRJLAO RPO7 FCTINL TEST MATRO v04.00 1=-JAN-83 11:06:45 PAGE 111 GLOBAL EQUATES SECTION 000040 000000 PRI01== 40 PRI00-= ‘OPERATOR F'.AG BITS 000006 000010 000020 000040 000100 0002€0 000460 001940 002000 004000 010000 020000 040000 1,0000 fvi== LOT== ADR== [Dy== [SR== UAM== BOE== PNT== PRl== IXE== IBE== 1IER-= LOF== HCE== 4 10 20 40 109 200 400 1000 2000 4000 10000 20000 4G000 100000 N 2 SEQ 0026 SEQ 0027 CIRJLAQ RPO7? FCTNL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 12 RHXX REGISTERS RMXX RECISTERS ;CONTROL AND STATUS REGISTER 1 000100 001000 020000 040000 TRE == 40000 ;PSEL M(F. MSSC 400 1000 SPORT SELECT (BIT #10) ‘MASSBUSS PARITY ERROR (B!T #13) == 2000 == 20000 STRANSFER ERROR (BIT #14) == 100000 SSPECIAL CONDITION (BIT m5) :WORD COUNT REGISTER :BUS ADDRESS REGISTER (RPBA) :(EACH BIT IS CALLED B8Y BIT NUMBER) OV NN 100000 A7 A6 : INTERRUPT ENABLE (BIT #6) SREADY (BIT #7) :MIGH ORDER BRUS ADDRESS BIT (BIT #8) ‘HIGM ORDER BUS ADDRESS BIT (BiT #9) 100 200 == == == == 1€ RDY (RP(ST) WN =2O YWD NOWNE WA =2 OO NN AN AN N AN LA UNANND NO AN NVNDNUINIADN) 4 = et b D b b s .2 2O 000 NOV S UiiN) - LSBTTL 37 (RPW() :(EACH BIT 1S CALLED BY BIT NUMBER) ;CONTROL AND STATUS REGISTER 2 (RP(S2) ;US1 000040 000400 001000 002000 004000 010000 020000 040000 100000 == UNIT SELECT (BIT #0) USZ ‘US4 ‘BA] ‘MOPAT CLR == 2 == & == 10 == 20 == 40 SUNIT SELECY (BIT #1) SUNIT SELECT (BIT #2) :BUS ADDRESS INCREMENT INHIBIT (BIT #3) SMASSBUS PARITY TEST (BIT #4) SCLEAR (BIT #5) :OR == 200 :OUTPUT READY (BIT #7) :IR == 100 MPE MXF MSPGE NEM NED == == == == == WCE DLT == 40000 == 190000 UPE 400 1000 2000 4000 10000 == 20000 SINPUT READY (BIT #6) *MASS BUS PARITY ERROR (BIT #8) SMISSED TRANSFE® ERROR (BIT #9) :PROGRAM ERRQ't (BIT #10) sieOM EXISTENT MEMORY (BIT #11) SNON EXISTENT DRIVE (BIT #12) UNXBUS PARITY ERRCR (BIT #13} :dRITE CHECK ERROR (BIT #14) :DATA LATE (BIT #15) sDAIA BUFFER REGISTER (RPDB) s(EACH BIT LSBITL IS CALLED BY BIT NUMBER) RPO7 REGISTERS ;CONTROL AND STATUS 1 REGISTER. (#00) ;60 == 1 ;60 BIT (BIT #0) TR =z & sFUNCTION CODE BIT #2 :F& =z 20 sFUNCTION CODE BIT #4 :F3 :FS 004000 DVA == 10 =z 40 == 4000 ;FUNCTION CODE BIT #3 sFUNCTION CODE BIT #5 :DEVICE AVAILABLE (BIT #11) CIR GLO CINL TEST MACRO v04.00 1=-,AN=-83 11:06:45 PAGE 12-1 C SEQ 0028 ;DRIVE STATUS REGISTER (RPCS) (#01) 000001 000002 oM EWN 002000 LSY ;WRL == 2000 == 4000 LAST SECTOR TRANSFERRED (BT #10) SWRITE LOCK (BIT #1 ERR ATA == 40000 == 100000 :COMPOSITE ERROR (BIT #14) AITENT!ON ACTIVE (BIT #15) 0000C4 040000 100000 ILv sV :DRY :DPR ;PGM ;MOL :PIP ==z 1 == 2 :0FFSET MODE ;ERROR WARNING == 1000 JPROGRAMABLE (BT #9) =z == == == & 100 200 400 000004 000020 :JLLEGAL FUNCTION (BT #0) ;ILLEGAL REGISTER (BIT #1) ;PAR FER == 10 == 20 JPARITY ERROR (BIT #3) :FORMAT ERROR (BIT #4) RMR 000200 0004920 001000 002000 HCE HCR( AOE [AE 020000 040000 100000 (#02) == 1 == 2 W(F 004000 010000 (RPER1) ILF ILR 000040 000100 SMEDIUM ON-LINE (BIT 012) POSITlONlNG OPERATION IN PROGRESS (BIT #13) == 10000 == 20000 ;ERROR REGISTER #01 000001 000002 :SECTOR INTERLEAVE MODE IS ENABLED TH., H.W :VOLUME VALID (BIT 6 :DRIVE READY (BIT #7 ;sDRIVE PRESENT (BI7 38) ECH WLE DTE OP] UNS DCK ==z & == 40 == 100 == 200 == 400 == 1000 == 20C0 == 4000 == 10000 == 20000 == 40000 == 100000 -l ) il ) e o el ) D ) D ol o -ttt e HOOOQOOOO0O0O BN = O O®WNO N W =O ;MAINTAINABILITY REGISTER #01 100000 DMD == 100000 ;REGISTER MODIFICATION REFUSED (BIT #2) JWRITE CLOCK FAIL (BIT #5) :ECC HARD ERROR (BIT #6) :HEADER COMPARE ERROR (BIT #7) :HEADER CRC ERROR (BIT #8) :ADDRESS OVERFLOW ERROR (BIT #9) :INVALID ADDRESS ERROR (BT #10) :WRITE LOCK ERRCR (BIT #11) :DRIVE TIMING ERROR (BIT #12) OPERATION INCOMPLETE (BIT #13) DRlVE UNSAFE (BIT #14) :DATA CHECK ERROR (BIT 15) (RPMR1)(#03) :DIAGNOSTIC MODE SATTENTION SUMMARY PSEUDO-REGISTER (RPAS) sATO (AT TAT2 AT3 ATS :ATS SATé SAT7 == 4 == 4 =- 10 == 20 == 40 == 100 == 200 (#06) ;DEVICE 0 (BIT #0) sDEVICE 1 (BIT #1) sDEVICE 2 (BIT #2) ;DEVICE 3 (BIT #3) sDEVICE & (BIT #4) ;DEVICE 5 (BIT #5) ;DEVICE 6 (BIT #6) ;DEVICE 7 (BIT #7) ;DESIRED SECTOR/TRACK ADDRESS REGISTER (RPDA) (#05) él: L — -~ O D Tr~ RPO? FCTINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 12-2 GISTERS 0 3 SEQ 0029 :(EACH BIT IS CALLED BY BIT NUMBER) ;DRIVE TYPE REGISTER (RPDT) (#06) D700 D101 == 1 == 2 ;DRIVE TYPE NUMBER BIT 1 ;DRIVE TYPE NUMBER BIT 2 ;D703 == 10 ;DRIVE D702 D704 == 4 sIRIVE TYPE NUMBER BIT $ == 100 == 200 ;DRIVE TYPE NUMBER BIT 7 ;DRIVE TYPE NUMBER BIT 8 == 4000 == 20000 :DRIVE REQUEST REQUIRED (BIT #11) ;MOVING HEAD (BIT #13) == 40 D108 == 400 s TAP == 40000 :DRQ s MOH <NBA TYPE NUMBER BIT & == 20 D705 ;D706 D107 ;DRIVE TYPE NUMBER BIT 3 == 100000 ;DRIVE TYPE NUMBER BIT ¢ ;DRIVE TYPE NUMBER BIT 9 ;TAPE DRIVE (BIT #14) ;NOT BLOCK ADDRESSED (BIT #15) :LOOK=AHEAD REGISTER (RPLA) (#07) :5C0 :SC1 :5C2 :SC3 :SCé == 100 == 200 == 400 == 1000 == 2000 ;RPO7 ERROR REGISTER #02 (RPER2) ;SECTOR COUNT FIELD O (BIT #¢) sSECTOR COUNT FIELD 1 ;SECTOR COUNT FIELD 2 sSECTOR COUNT FIELD 3 sSECTOR COUNT FIELD & (BIT #7) (BIT #8) (BIT #9) (BIT #10) (#10) 000400 WRYUNS == 4N"0 ;WRITE OFF TRACK CENTER (WRITE UNSAFE) 002000 004000 010000 RWU1 RWU2 RWU3 == 2000 == 4000 == 10000 ;W/R UNSAFE ERROR 1 (WRITE ERROR) sW/R UNSAFE ERROR 2 (READ OR WRITE ERROR) sW/R UNSAFE ERROR 3 (WRITE ERRGR) 001000 100000 WOR PGE == 1000 == 100000 sWRITE OVERRUN ERROR :PROGRAM ERROR ;RPO7 ERROR REGISTER #03 (RPER3) 000010 000020 000040 000100 000200 000400 001000 002000 040000 100000 :DGE DPE SDF DCU IXy Dv( PHF LCE L8C 5K} 8sE == == == == == == == == == == 1 10 20 40 100 200 400 1000 2000 40000 == 100000 :DIAGNOSTIC COMMAND sDATA PARITY DURING WRITE :SERDES DATA FAILURE :DC LOW UNSAFE : INDEX PULSE UNSAFE :DRIVE CHECK :TACH CALIBRATE FAILURE sLOST CYLINDER (POSITIONER IN GUARD BAND) ;LOST BIT CLOCK sSEEK INCOMPLETE :BAD SECTOR sOFFSET REGISTER (RPOF) (#11) 002000 HCl == 2090 ;HtADER COMPARE INWIBIT (BIT #10) 94 GLI SEQ 0030 CIRJLAQ RPO7 FCTNL TEST MACRO v04.00 1-JAN-B83 11:06:45 PAGE 12-3 RPO7 REGISTERS 172 173 174 175 004000 010000 100000 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 ECI == 4000 ;ERROR CORKRECTION CODE INHIBIT (BIT #11) (MoD == 1000 00 ; COMMAND MODIFIER BIT (BIT #13) == 1000 0 FMI16 sDESIRED CYLIND ER ADDRESS (RPDC) (#12) s (EACH BIT ~n :SER] AL NUMBER REGISTER (RPSN) (#14) s(EACH IS CALLE D BY BIT NUMBER) 199 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 3 GISTER (RPECY) ¢C PO EACH (#16) ALLED BY BIT NUMBER) TERN RE GISTER (RPEC2) (#17) ITiIs ¢ ALLED BY BIT NUMBER) 194 195 200 201 202 203 204 205 206 IS C ALLED BY BIT NUMBER) sCURRENT CYLIND ER ADDRESS (RPCC) (#13) <(EACH BIT IS C ALLED BY BIT NUMBER) 193 196 197 198 ;FORMAT BIT (BIT #12 000101 000105 000107 000111 000113 000115 000117 000121 000131 000135 000143 000151 000153 000161 000163 000165 000171 000173 000175 177400 .SBTTL RPO7 DR IVER COMMANDS NOOP == 101 RECAL == DIAG ILLCMD Ww(KD WCKHD == == == == DRVCLR RELSE OFFSET RTC READIN SEARCH WRIDAT fFMTRK WRTTD RDDAT RDHD RDTD SCTRWC s THE ;NO OPERATION JSEEK == 105 SEEK 107 JRECALIBRATE == == == == == == 111 113 115§ 117 121 131 :DRIVE CLEAR JRELEASE :OFFSET ;RETURN TO CENTER LINE :READ IN PRESET ;SEARCH =z == == == == == 161 163 165 17 173 175 :WRITE DATA :FORMAT TRACK :WRITE TRACK DSECRIPTOR JREAD DATA ;READ HEADER AND DATA ;READ TRACK DSECRIPTOR == 13§ 143 151 153 :DIAGNOSTIC MODE ;ILLEGAL COMMAND ;dRITE CHECK DATA ;WMRITE CHECK HEADER AND DATA =29%6. FOLLOWING ;:DEFAULT WORD COUNT ARE SPECIAL DRIVER COMMANDS (NOT CONTROLLER COMMANDS) 000141 GETREG == 141 ;READ RPCS1, RPWC, RPBA, RPDA AND STORE THEM AT ADDRESS 000145 000147 MAINT == 148 ;MRITE MAINTENANCE REGISTER RPMR1 SETFORM == 147 ;POINTED TO BY °DPB'+6. sSET FORMAT PSEUDO-CMD: WRITE OFFSET REGISTER. SETFORM ;FIRST READS RPOF, EXTRACT [TS LO BYTE, CHANGES IT1S Wl BYIE ;PET 'DPB', MERGES BOTH BYTES TO WRITE RPOF. HENCE SETFORM GL JLAD RPO7 FCINL TEST MACRO v04.00 1=JAN=83 11:06:45 PAGE 12-4 7 F 3 SEQ 0031 IVER COMMANDS ¢ g%? ;WRITES RPOF WITH H 1 BYTE PER 'DPB*, LO BYTE UNCHANGED. THE s COMMAND OFFSET DOES T HE OPPOSITE. (IRJLAD RPO7? FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 13 6 SEQ 0032 GLOBAL DATA SECTION } LSBTTL 3 Jee 2 : 4 : 7 THE GLOBAL DATA SECTION GLOBAL DATA SECTION CONTAINS DATA THAT ARE USED IN MORE THAN ONE TEST. [l 8 002240 9 002242 10 002244 11 002246 1% 002250 13 002252 000001 000000 002000 000000 000000 000900 FTONT:: .WORD 1 JSRCNT:: .WORD O XTIMES:: .WORD 10264. DOTWO:: .WORD 0 CLKSTA:: .WORD O BYPASS:: .WORD O :TEST ITERATION COUNTER cINTERRUPT SERVICE COUNTER :TEST JTERATION COUNT; TESTS 14, £ 18, ;USED TO FORCE TWO ITERATIONS OF AN OPERATION JCLOCK STATUS (NO CLOCK= O,kW11=P= 1 OR KWll=L= =1 :BYPASS ROUTE ADR; SET IN (ALL ERRABO }g 002254 000000 SVSTAT:: ;STATUS/ERROR INDICATOR [S; 17 002256 001165 NCT:: 22 002266 23 002270 24 002272 25 002274 26 002276 gg 002300 000000 000000 000000 000000 000000 000000 CYL.RD:: TRK.RD:: SEC.RD:: CYL.DS:: SEC.DS:: TRK.DS:: 29 002302 30 002304 31 002306 32 002310 33 002312 gg 002316 000000 000000 000000 000000 000000 000000 TIM.UP:: 36 002320 000000 38 002324 000000 16 18 002260 19 00226¢ g? 002264 37 002322 001166 000037 000061 19 002326 000000 4¢ 002344 46 002346 2; 002350 163400 000012 000012 40 002330 41 00233 42 002336 4% 002340 46 002342 49 S0 002352 51 002354 52 002356 53 002360 54 002362 55 002364 56 002366 57 002370 000000 000000 000000 000000 000000 000001 000002 000004 000010 000020 000040 000100 000200 LWORD NC2:: NT1:: NST:: TIM.DN:: 000000 CALL.A/B/(C, DRVCAL, SRCHOO. SAVED HERE ON AN ERROR .WORD .WORD .WORD .WORD .MWORD .MWORD 0 0 O O 0 O sCYLINDER READ :TRACK READ sSECTOR READ :CYLINDER DESIRED :SECTOR DESIRED ;TRACK DESIRED .WORD .MORD .MORD MWORD MORD MORD 0 0 O O 0,0 O :MINIMUM TIME ;sNUMBER OF COUNTS BELOW MIN. LIM]IT JMAXIMUM TIME :NUMBER OF COUNTS ABOVE MAX. LIMIT ;TOTAL TIME OF ALL SEEKS sNUMBER OF SEEKS PERFORMED .WORD O :MINIMUM TIME .MORD 0 .WORD MORD .WORD TIM.PT:: MORD WCEFLG:: .WORD DELTA:: .WORD TRKWC:: WORD STALLY:: .WORD STALLZ:: .WORD :BIT :CALLERS; :LAST PHYSICAL .WORD TABLE BIT1S:: O 629. .WORD .WORD .WORD 000000 000000 .WORD .WORD .WORD LMWORD .WORD .WORD .WORD .WORD LWORD 630. 31, 49. 0 CYL FIRST FE (YL ;LAST PHYSICAL TRK JLAST PHYSICAL SEC :NUMBER OF COUNTS BELOW MiN. LIMIT :MAXIMUM TIME 0 :NUMBER OF COUNTS ABOVE MAX. LIM]T =<256.%25.> 10. 10. :WORD COUNT FOR HALF A TRACK [N 16 BlT MODE 210 MILLISECONDS STALL 210 MILLISECONDS STALL 0,0 0 O O O BIT00 BIT01Y BIT102 81103 B]T104 BIT0S BIT106 BIT07 :TOTAL TIME OF ALL SEEKS :NUMBER OF SEEKS PERFJRMED :POINTS TO TABLE OF TIMES :FATAL WRITE CHECK ERROR FLAG MEMORY SIZING SCRATCH LOCATION SEQ 0033 (IRJLAQO RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 13-1 LSBTTL 90 91 92 93 002652 002454 002456 002460 004721 005115 000000 004374 TIMT11:: 95 002462 96 0026466 97 002466 98 002470 004766 005115 000000 010770 TIMI12:: i —ald b 02472 002474 005033 71620:: i 002500 003246 D ol o .WORD .WORD .WORD .WORD _WORD .WORD .WORD .MWORD _WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD ) —4 =4 el Pt Puel Pumd e ] el ol ) ) o) Gl P G el el Pam G ) ol Prp P ) ) ONECYL : FORWARD 0 500. : AVERGE : FORWARD +REVERSE REV REV 0 2300. MXSEEK REV 0 4600. MARK 0 0 1702. 1 SHI LIMIT (S5.0MS) INO LO LIMIT :HI LIMIY (23.0M5) ; FORWARD :REVERSE sNO LO LIMIT Ml LlMlT (46.0MS) ;ADDR MARK TEST :2ND HSG NONE INO LO LimIT iHI LlMlT (16.515MS - 3X) ;SPECS. MESSAGE TABLES FOR ROTATJONAL AND TIMING TESTS S Ow [« JOT1,N] N—.-‘ 002502 002504 002506 WANWA ;ROTATJONAL MESSAGE AND LO/MI LIMITS OO0 [=lele] il ool i e il i :SEEK TEST TABLES ;Lo L IMIT (1 LIMIT (1 JHI SOHZ AND 60HZ TABLE SP7:: .WORD -WORD .WORD ww TIMT10:: ROTATE 0 1603. 1702. \I!\h 006647 005115 000000 000764 .WORD .WORD .WORD U\\.h 002442 002444 002446 002450 .WORD OO 85 86 87 88 il TABLES "OR RPO7 DRIVE L] 17A:: L — — — =h g (&)eleleololelalelolals o (=] NV = S8 BN OO0 ~NO NS 004605 000000 003103 003246 — TEST :S50HZ AND 60HZ TABLE 80 002434 81 002436 82 002440 002476 g g TIMING LIMITS sROTATIONAL 79 002432 OOOOOOOO b d 0 2 OO NN BN =2 O B i) = OO 00 .WORD it e 0 0 0 0000 0 0 0 P .WORD +WORD .WORD .WORD +WORD .WORD .WORD -WORD .WORD +WORD .WORD .WORD .WORD .WORD .WORD [e e ToodoodeedoodoodoooodooRookoodoodoooodoolo] OO NOOENOO SO F ¥ o o o F ¥ 32X aX ok 2E o X o ¥ WWNINIPNIN) ed b =2 =2 O O OO [eleolelelelolelelolelolalelale) GLOBAL DATA SECT]ON MSG7X 1603. 1702. ;TIMING TEST MESSAGES AND LO/M] LIMITS ol[w[Vlo~ 0N-O-Oe¢ -— TIMING LIM]TS O SEQ 0034 CIRJLAO RPO7 FCTNL TEST MACRO v04.00 1=JAN=-83 11:06:45 PAGE 13-2 <L[.] -}o~ . [ o) [l L) .BYTE O 002552 002554 000000 00274¢ .WORD -WORD OMMAND SEL AND A17 AND Al6 ORD COUNT (MyUST BE NEG.) UFFER ADDRESS OR ER TABLE POINTER ECTOR ADDRESS OR REG. INDEX e 000 RACK ADDRESS OR 3 G. INDEX Y LINDER ADDRESS R ROR TABLE POINTER TO THE FIRST OF TWENTY Vo TM 002551 DO .BYTE whE€ VMNOO 7 o o MO BN BUFF O .WORD DCY 0 NS OF WHERE THE DRIVER ) TORE THE RHXX/RPQ7 E 25 ON AN ERROR, [F LEFT 3 ISTERS ARE NOT SAVED. T A TUS/ERROR INDICATOR 1 >ERROR OCCURRED 1 > DONE 8 ) T 09 AND BIT06-B1703 1 3 TYPE OF ERROR 000 .BYTE 000000 002744 +WORD .WORD Zoree D=t =t~ T REG. INDEX RACK ADDRESS OR EG. INDEX YLINDER ADDRESS ROR TABLE POINTE? TO THE FIRSY OF WENTY o 002571 OIoo0oOo [<2, ¥ 000 ECI, AND H(I COMMAND PSEL AND A17 AND Al6 WORD COUNT (MUST BE NEG.) BUFFER ADDRESS OR STER TABLE POINTER SECTOR ADDRESS OR O© 002570 I v € NUMBER F SET VALUE OR FMT16, UFF DO 0 177776 042610 .BYTE .BYTE .BYTE .BYTE .WORD .WORD O O DPB.B:: 002560 002561 002562 002563 002564 002566 002572 002574 .WORD 000000 ~m 002556 NUMBER FFSET VALUE OR FMTI16, ECI, AND W(I PPN =2DVOC) BYTE .WORD RIVE SMMNO O — =3 .BYTE (2] .BYTE VOOOOoOo DPB.A:: = O :D°B (DRIVE PARAMETER BLO(K) 2 OO 00 NN N 8N NP — b e b e WS NN = OO 00 NN S AN RO PO RO PO AD NURU NI A = b b b b NN = OO 00 N OO NN NN WA LN AN AN WA AN AN WA «0 SEQ@ 0035 14 NS OF WHERE THE PRIVER ORE THE RHXX/R%=07 002576 .WORD 000000 S ON AN ERROR, IF LEF? STERS ARE NOT SAVED. S/ERROR INDICATOR O ROR OCCURRED 3 AND BIT06-BIT03 Pt oPB.C:: 002600 002606 177776 9462610 .BYTE BYTE BYTE .BYTE JMWORD .WORD 0 0 0 O D :(0) L2 OF ERROR E NUMBER SET VALUE OR FMT16, ECI, ; ) PSEL AND A17 AND A16 : ) WORD COUNT (MUST BE NEG.) BUFFER ADDRESS OR ‘REG ISTER TASLE POINTER AND H(| oTM Z 0 RPO7 f(YNL TEST MACRO v064.00 1=JAN=83 11:06:45 PAGE G LIMITS CZRJLAO RPO7 FCTINL TEST MACRO v04.00 1=JAN=B3 11:06:65 PAGE TIMING LIMITS 58 002610 59 60 002611 61 62 002612 6% 002616 64 000 BYIE 0 000 BYTE 0 000000 002764 .WORD ‘WORD G REG 14=1 K 3 SEQ 0036 :(10) SECTOR ADDRESS OR *FIRST REG. INDEX 2(11) TRACK ADDRESS OR *LAST REG. INDEX 1(12) CYLINDER ADDRESS 1(14) ERROR TABLE POINTER *POINTS 10 THE FIRST OF TWENTY 65 *LOCATIONS OF WHERE THE DRIVER 67 68 ‘REGISTERS ON AN ERROR. [F LEFT *2ERO REGISTERS ARE NOT SAVED. 66 69 002616 70 15 000000 JWORD 0 4! 93 002636 9% 95 96 97 1(16) STATUS/ERROR INDICATOR BIT1521=>ERROR OCCURRED 181T14=-BJT09 AND BITO6-B]T03 ;2 91 92 THE RWXX/RPQ? :BIT07=1=>DONE 72 75 002620 76 002621 77 002622 78 002623 79 002624 80 002626 81 82 002630 83 84 002631 85 86 002632 87 002634 88 89 90 TO STORE JINDICATE TYPE OF ERROR 000 000 000 000 000000 042610 DTADPB:: .BYTE BYTE BYTE BYTE ‘WORD "WORD 0 0 0 0 0 DBUFF 000 BYTE 0 000 BYTE 0 000000 002744 JWORD 'WORD 0 REG 000000 .WORD 0 :(0) DRIVE NUMBER (1) OFFSET VALUE OR FMT16, ECT. 2(2) COMMAND 1(3) PSEL AND A17 AND A16 (4) WORD COUNT (MUST BE NEG.) (6) BUFFER ADDRESS OR *REGISTER TABLE POINTER (10) SECTOR ADDRESS OR ‘FIRST REG. INDEX 1(11) TRACK ADDRESS OR *LAST REG. INDEX *(12) CYLINDER ADDRESS 1(14) ERROR TABLE POINTER *POINTS TO THE FIRST OF TWENTY *LOCATIONS OF WHERE THE DRIVER IS TO STORE THE RHXX/RPQ?7 *REGISTERS ON AN ERROR. IF LEFT *2ERO REGISTERS ARE NOT SAVED. 2(16) STATUS/ERROR INDICATOR BIT1521=>ERROR OCCURRED ‘BIT07=1=>DONE 31T14-B1T09 AND B;T06-B]T03 *INDICATE TYPE OF ERROR AND W(] CIRJLAO RPO7 FCINL TEST MACRO V04.00 1-JAN-83 11:06:.5 PAGE TIMING LIMITS 15 SEQ 0037 1 2 002640 3 002642 000000 176700 5 002650 6 002652 000050 000000 g 002656 000000 DRVSN:: .WORD 0 :STORAGE FOR EACH S/N DIGIT 176700 176702 176704 176706 176710 176712 176714 176716 176,20 176722 RPCS1:: RPWC:: RPBA:: RPDA:: RPCS2:: RPDS:: RPER1:: RPAS:: RPLA:: RPDB:: .WORD ,WORD _WORD .WORD .WORD .WORD ,WORD ,WORD ,WORD .WORD 176700 176702 176704 176706 176710 176712 176714 176716 176720 176722 ;BASE ADDRESS USED FOR THE DRIVE :"'ORD COUNT REGISTER ;BYTE ADDRESS REGISTER sDESIRED SECTOR/TRACK ADDRESS :RPQ7 STATUS REGISTER :RPO7 DRIVE STATUS :RPO7 ERROR REGISTER #1 :RPQ7 ATTENTION SUMMARY PSEUDO REGISTER :RPO7 LOOK AHEAD REGISTER :RP07 DATA BUFFER 176726 176730 176732 176734 176736 176740 176742 176744 176746 176750C 176752 RPDT:: RPSN:: RPOF:: RPDC:: RPCC:: RPER2:: RPER3:: RPEC1:: RPEC2:: RPBAE:: RPCS3:: 176726 176730 176732 176734 176736 176740 176742 176744 176746 176750 176752 sDRIVE TYPE REGISTER «RPO7 SERIAL NUMBER :RPQ7 OFFSET REGISTER +RPO7 DESIRED CYLINDER :RPO7 CURRENT CYLINDER ¢RPO7 ERROR REGISTER #? :RPO7 ERROR REGISTER #3 :RPO7 ERROR POSITION :RPO7 ERROR PATTERN :RH70 REGISTER sRH70 REGISTER & 002646 7 002654 10 11 1% 15 14 15 16 17 18 19 002660 002662 002664 002666 002670 002672 0026764 002676 002700 002702 21 22 23 26 25 26 27 28 29 30 g; 002706 002710 002712 002714 002716 002720 002722 002724 002726 002730 002732 20 002704 000¢54 000000 176724 33 34 000240 UNIT:: PADR:: RPVtL.' _WORD ,WORD WORD RHEXT.: .WORD RHTYPE::.WORD DRVNO:: RPMR1:: ,WORD ,WORD ,WORD ,WORD ,WCRD .WORD L,WORD .WORD .WORD .WORD .WORD .WORD WORD O 176700 254,5+32, 50 0 O sUSED TO SELECT A UNJT FOR TE~" sCONTAINS RFCS1 BASE ADDRESS ;CONTAINS VECTOR ADDRESS & BR . "VEL :CONTAINS RH70 OFFSET TO RPBAE cCONTAINS RHXX TYPE; RH11= 0, RH70= 1 :DRIVE NUMBER 176724 :RPO7 MAiNTENAN.E REGISTER #1 sATTENTION BITS TABLE (ATABIT=8 BYTES) sTHIS TABLE CONTAINS THE CORRESPONDING BIT TO EACH DRIVES %2 SATTENTION BIT 37 002734 38 002735 001 0)2 ATABIT:: .BYTE .BYIE 40 41 42 43 010 020 040 120 .BYTE .BYTE .BYTE .BYTE 39 002736 002737 002740 002741 032742 zé 002743 004 BYTE 200 .BYTE 2? s 23 002744 REG:: 1 2 & 10 20 40 100 200 :DRIVE 0 ;DRIVE 1 :DRIVE 2 :DRIVE 3 :DRIVE 4 :DRIVE 5 sDRIVE 6 ;ORIVE 7 STORAGE FOR DEVICE REGISTERS .BLKW 22. ;SAVE REGISTERS HERE M3 CZRJLAO %PO7 FCINL TEST MACRO V04.00 1-JAN=B3 11:06:45 PAGE 16 GLOBAL TFXT SECTION } .SBTTL 5 Jee 4 SEQ 0038 GLOBAL TEXT SECTION ¢ THE GLOBAL TEXT SECTION CONTAINS FORMAT STATEMENTS, 5 9 : MESSAGES, AND ASCII : MORE THAN ONE TEST. 8 INFORMATION THAT ARE USED IN 'l }g ;NAMES OF DEVICES SUPPORTED BY PROGRAM 17 003020 003020 12¢ 120 060 LSOVTYP:: LASCIZ -EVEN 18 24 52 : 27 003026 003026 122 120 060 ¢ %67 3 TEST DESCRIPTION LS$DESC:: s /RPO7/ '23 /RPO7 FUNCTIONAL TEST/ ' FORMAT STATEMENTS USEU IN PRINT CAL'S ! 39 003054 29 003057 045 045 116 101 000 106 CRLF:: DH25A:: .ASCIZ .ASCIZ /IN/ /XADRIVE %01IN/ 42 43 4% 45 46 47 48 49 045 045 045 045 045 045 045 045 101 101 101 101 116 116 116 116 103 1264 DH44A:: DH44B:: ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ /%ACYL ¥D3%A. /YATRK ¥D2%A. 50 51 52 gz 003075 003114 003133 003152 003201 003272 003352 003443 003523 003615 003677 003717 045 045 045 045 116 116 101 116 123 122 045 045 045 045 045 045 122 045 DH44C:: DH44D:: DH44LE:: DH44F:: DH44G:: DH44H:: DH4&I:: DHG4J:: DH44K:: DH44L:: .ASCIZ .ASCIZ .ASCIZ .ASCIZ / / /YASEC XD2%A. / /XARPER2 (HEX) XTXTXTYT/ /INXADRIVE RP(CST RPW( RPBA RPDA /INYO6XA X06%A X06%A Y06XA Z206IA %06%IA /XNXARPER1 RPAS RPLA RPDB RPMR1 /ANY06XA X06%A X06XA X06XA X06%A 2063+ /INYARPOF RPDC RPCC RPER2 RPET /XINYO6XA X06%A %06%A %06%A XCO6XA ¥ .a /XARPBAE /INXO6XA RP(CS3/ X06IN/ 55 003736 56 003764 57 004021 045 045 045 101 117 101 104 104 063 107 063 DH4SA:: DH45B:: DH45C:: DH45D:: .ASCIZ .ASCIZ .ASCIZ .ASCI7 /XADRV (YL TRK SECIN/ /%03%A %ID3XA. zoszA zosxn IN/ /XAGDCYL GDIRK BDCYL BDTRK gg 004164 045 116 045 DHS2A:: ,ASCIZ /XNXANUMBER OF LOST REVOLUTIONS=XD4YA./ 62 63 66 65 66 67 68 69 045 045 045 045 045 045 045 045 116 116 045 045 000 126 125 123 101 120 NOCLK:: .ASCIZ DSNMSG:: .AS(iZ SNDIGT:: .ASCIZ WRTENM:: .ASCIZ SEAERR:: .ASCIZ SEABAD:: .ASCIZ ABOTST:: .ASCIZ POSERR:: .ASCIZ gg 004076 004232 004316 0043642 0064345 004422 006461 004525 004544 045 124 101 101 101 101 101 RP(SZ %067 RPDT 206/ RPEC1 306IN/ RPDS/ RPSN/ RPEC2/ BDGECIN/ /¥PTXA.XS3ID3YA. xssxoszA ¥S3ID3XA. 1S3XD3%A. XSIID3XA, IN/ /YNYANO P=CLOCK, IlMlNG TESTS WILL NOT BE EXECUTEDIN/ /INYADRIVE ¥01%A, /%1/ /!ATEST XD2%A. NOT RUN, NOT ENABLED BY USERIN/ /XAUNRECOVERABLE SEARCH ERRORIN/ /XASEARCH FAILED AFTER 16. RETRIESIN/ /XAABORT TESTIN/ /XAPOSITION ERROR, TEST ABCRTEDIN/ CIRJLAO RPO7 FCINL TEST MACRO V04.00 1-JAN=83 11:06-45 PAGE 16-1 N 3 SEQ 0039 GLOBAL TEXT SECTION 71 004605 72 004647 73 006721 045 045 045 116 116 116 76 005100 045 101 7. 006766 75 005033 065 045 77 005115 045 116 116 101 045 045 045 045 045 040 040 79 005132 80 005132 81 005132 82 005132 83 0051% 85 oosg{o 86 005301 87 005240 gg 005273 ROTATE:: ONECYL:: AVERGE:: .ASCIZ /XINYAROTATIONA. SPEED TIMESINIA = / .ASCIZ /XNXAONE CYLIND.R SEEK TIMESINYA ¢ FORWARD/ .ASCIZ /INYAAVERAGE SECK TIMESINYA FORWARS/ MXSEEK:: MARK:: .ASCIZ /AINTAMAXIMUM SEEK TIMESINIA » FORWARD/ .ASCIZ /XNYAADDRESS 4ARK DETECT TIMESINIA ¢ 7 REV: "ASCIZ /XA + REVERSE/ FWD: ASCIZ /1A * FORWARD MSG7X:: « M3G10X: MSG11X: MSG14X:: 045 161 040 045 116 C45 UNSMSG:: .ASCIZ /YNYADRIVE ¥01%XA UNSAFEXN/ 065 065 045 116 116 116 045 045 045 90 MSGI2X:: NEDMSG:: OFLMSG:: NOTMSG:: .ASCIZ /%A ¢ LIMIT(S)/ -ASCIZ /XNYADRIVE Y01XA NON=-EXISTENTIN/ -ASCIZ /INZADRIVE Y01%A OFF~L INEXN/ .ASCI? /XINXADRIVE %01Xa NOT AN RPQO7IN/ .SBTTL GLOBAL ASCII MESSAGE SECTION 92 005331 93 005376 94 005440 95 005516 96 005540 97 005560 gg 005610 122 122 122 127 104 104 114 110 110 110 122 101 122 117 130 130 130 111 126 111 123 EM1:: EM2:: EM3:: EM4:: EMS:: EM6:: EM7:: LASCIZ .ASCIZ ASCIZ ASCIZ ASCIZ .ASCIZ LASCIZ /RHXX COUNTROL BUS PARITY ERROR M(PE=1/ /RHXX DATA BUS PARITY LRROR MDPE=1/ /RHXX ILLEGAL CONDITIONS SET (NED,NEM,PGE ,MXF)/ /WRITE CHECK ERROR/ /DATA LATE EPRROR/ /DRIVE PROGRAMMING ERROR (PGE)/ /LOSTS BIT CLOCK (LBC)/ 100 005644 101 005666 102 005707 103 005730 104 005765 105 006032 }8? 006065 127 127 104 104 1 101 123 122 122 101 111 111 126 104 105 LASCIZ _ASLIZ _ASCi{ ,ASCIZ ,ASCIZ LASCIZ _ASCIZ /WRITE CLOCK FAILS/ /WRITE LOCK ERROR/ /DATA ERROR (DCK)/ 104 EMY.:: EM12:: EM13:: EM14:: EM15:: EM16:: EM17:: 108 006112 109 006161 110 006205 111 00623° 112 006271 113 026330 114 006366 103 105 122 104 110 104 104 114 101 105 101 105 122 122 117 122 101 126 101 111 111 EMcQ:: EMc1:: EMZ22:: EM23:: €M24:: EM25:: EM26:: .ASCIZ (ASCIZ LASCIZ _ASCIZ ASCIZ L(ASCIZ L,ASCIZ @CLOCK (KW11-P) OVERFLOW IN TIMING TESTA /EARLY WARNING (EWN)/ /READ & WRITE HEAD FAJILS/ /)ATA FORMAT BIT FRROR (FER)/ /rEADER INFORMATION ERROR (H(CE)/ QDRIVE HAS BECOME NON-EXISTENTA QDRIVE HAS NOT keSPONDED TO PORT REQUEST® 117 006475 106 101 124 EM30:: .ASCJZ Q@FATAL MASSBUS PARITY ERROR (MCPE=1 OR PAR 1)a }Sz 006730 104 122 111 EM36:: .ASCIZ /DRIVE OFFLINE OR NOT AN RPQ?7/ }}g 006436 118 119 120 121 122 006552 006614 006637 006657 006674 125 006765 126 007020 127 0070645 123 117 127 104 111 120 117 m 105 122 114 105 17 111 114 106 106 122 103 116 122 106 111 040 104 117 120 119 105 120 103 103 EM27:: EM31:: EM32:: EM33:: EM34:: EM35:: EM&1:: EM&2:: EM4L3:: LASCIZ ,ASCIZ (ASCIZ .ASCIZ _ASCIZ L(ASCIZ _ASCIZ LASCIZ (ASCIZ /DRIVE BUS PARITY ERROR (DPE)’ /ILLEGAL CONDITIONS SET C(ILF,ILR,RMR)/ /ADDRESSING ERROR (]AE,AQE)/ /SEEK ERROR (SKI,LIE)/ @SIFTWARE TIMEOUT ON THIS DRIVEa @O0FFLINE OR UNSAFE DRIVE REQUESTEDa /WRITC-READY UNSAFE/ /DC POWER UNSAFE/ /INDEX UNSAFE/ /PROCESSCR HANDSHAKE FAILURL/ /OPERATVION INCOMPLETE (OP1)/ /IMPROPER HEADER DATA/ /8CC LOGIC FAILURE/ SEQ 0040 CIRJLAO RPO? FCINL TEST MACRO v04.00 1-,AN-B3 11:06:45 PAGE 16-2 o2z -- X —— - e e —- T -x X~ —DO—eNOI—ONIUNWYOD OSM= Z O x o O Z w O—wuw>)0>VEUxOrE— DW=—O—O2Z2 . (IOMrW—-r—NI T T NN T OO ~ GLOBAL ASCII MESSAGE SECTION a— [t&¢ w[ () oo xo ~~ (IR GLO SEQ 0041 CIRJLAQ RPO7 FCINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 17 GLOBAL ERROR REPORT SECTION SBTTL 1 2 3 007604 & 007604 007610 007614 007620 007622 007626 5 007630 007634 007640 007644 007646 007650 6 007654 007660 007666 007670 007672 007674 7 007700 8 007704 9 007710 10 007714 013746 012746 012746 010600 104414 062706 013746 012746 012746 010500 104414 062706 013746 012746 0127646 010600 002266 003075 060002 200006 002270 003114 000002 000006 002272 003133 000002 104414 062706 013746 000006 012746 011572 042716 004737 003004 177400 011430 007720 007724 007730 007736 007740 007744 007746 1y 007750 012746 012746 012746 012746 012746 010600 104414 062706 12 007754 007760 007764 007766 007770 13 007774 010000 010006 012746 012746 010600 104415 062706 003201 000001 013746 013746 013746 013746 013746 013746 012746 012746 010600 104415 062706 002754 002752 002750 002746 002744 002654 003272 000010 010010 610014 010020 010026 010030 010036 010040 010042 , 010044 15 010050 010054 010060 010062 010064 013746 012746 012746 010600 104415 062706 011570 011566 011564 003152 000005 000014 000004 002756 000022 003352 000001 000004 : DHLG: GLOBAL ERROR REPORT SECTION MOV MOV MOV MOV TRAP ADD MOV MOV MoV MOV TRAP ADD MOV CYL.RD,=(5P) #DHLLA ,=(SP) #2,-(SP) SP,RO CSPNTB #6,SP TRK.RD,=(SP) #DHLLB, = (SP) #2,-(SP) SP,RO (SPNTB #6,5P SEL.RD,=(SP) MOV #DHLLC ,=(SP) MOV TRAP ADD SP,RO (SPNTB ¥6,5P BIC #177400, (5P) MOV MOV #2,-(SP) REG*+40,=(SP) JSR MOV Mov Mov MOV MOV MOV MOV TRAP ADD PC,OCTHEX #PSTACK+6,=(5P) #PSTACK+4,=(SP) #PSTACK+2,=(SP) #PSTACK,=(SP) #DH&L4D ,=(SP) #5,-(SP) SP,RO (SPNTB #14,SP MOV MOV MOV TRAP ADD #DHLLE ,~(SP) #1,-(SP) SP,RO CSPNTX #4,SP MOV MOV REG+10,-(S REG+06,-(S MOV MOV MOV MOV MOV MoV MOV MOV TRAP ADD MOV MOV MOV TRAP ADD :PRINT RPERZ ERROR CODE IN MEX ;PRINT °'DRIVE RPCST RPW( RPBA RPDA RPCS2 RPDS® sPRINT *RPER1 RPAS RPLA RPDS RPMR?Y RPDT RPSN’ REG+12,=(S REG+04,=(S REG+02,=(S REG,=(SP) DRVNO,=(SP #OHL4LE ,=(SP) #10,-(SP) SP,RO CSPNTX #22,5P #DHLLG,-(SP) #1,-(SP) SP,RO (SPNTX #6,5P 94 GL( CIRJLAO RPO7? FCINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 17-1 SEQ 0042 SECTION LOWV0WRrUoIlWBINTWI0LWTIMAWMAE .9Q-0[N(«&a8=eYAO-I"§LO8R~S1y(XVQY]vwoV.)e, ‘RB3*AeNn[wm4a+«xax x-le (Oo=] [+ 4 A[ [- b @ N 4 [-% x i4 [- 1,2l °a S ) e[ [+ 4[+ d % V9] w o [+ 4[« - [¥9) L] Lal=l(=]MNOQOMMNOMooOMMMONINOMo NGXOo~04Oy (elelelololololeleleolole]Ore J[eololelolelel]elelelel OVONVY J —< —- -O o SO AN No V][V o V]oVTT¥[aVTa - -—oOONONONOININOIM GLOBAL ERROR REPORT -)o— [-.3 o.o~. o< E- a ”~ L- [[V [N AN OO0 00 \WANNDNGDNY. IWA OOO0OO VMAVMAWNMNIA 00 OO0 OO0O0OOO0OD 0O0 | WAWNINAWV OO0O0O0OO ANOIN O A OIN AN O U QAT B —ONARAY W= OAWRNT W xon oo xa « 0000 ada O00axo « [olele] wwor—a O DU OrOA WwwlOra O OV~ a. —~ GL SEQ 0043 GLOBAL ERROR REPORT SECTION CZRJLAO RPO7 FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 17-2 CZRJLAO RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 17-3 F & SEQ 0046 GLOBAL ERROR REPORT SECTION 010614 010616 “ 010620 010600 104414 062706 L7 0106264 012746 010630 010634 010636 010640 4«8 010644 49 0106464 012746 010600 104414 062706 1064623 000006 MOV TRAP ADD SP,RO (SPNTB #6,SP 003054 MoV #CRLF,=(SP) " RAP ($MSG 000001 000004 L10005: MOV MoV TRAP AJD #1,-(SP) SP,RO ($PNTB #e,SP CReLF CIRJLAO RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 18 G SEQ 0045 GLOBAL SUBROUTINES SECTION } LSBTTL 3 4 :*SAVE RO-RS svCALL: b) 6 010646 7 010646 8 010650 9 010652 10 010654 11 010656 12 010660 13 010662 164 010666 15 010672 }? 010676 . 1 SAVREG: 046 ( ‘6 0 01y 0104«o 010546 016546 016646 016646 000207 GLOBAL SUBROUTINES SECTION JSR PC,SAVREG Mov RO,=(SP) ::PUSH RO ON STA(K MOV MOV RTS 20(SP) ,=(SP) 20(SP) ,=(SP) PC :2SAVE PC OF MAIN FLOW ;SAVE PC OF SAVREG CALL MOV MOV MOV MOV MOV MOV 000020 000020 000020 18 ;*RESTORE RO=-RS 20 21 010700 . J5R RESREG: 19 22 010700 23 010704 264 010710 25 010714 26 0107°'6 27 010720 28 010722 29 010724 30 010726 31 010730 se(CALL: 012666 012666 012666 012605 012604 01260} 012602 012601 012,00 000207 000020 000020 000020 MOV MOV MOV MOV MOV MOV MOV MOV Mov RTS R1,=(SP) R2,=(SP) R3,=(SP) R4 ,=-(SP) RS,=(SP) 20(sSP) ,=(SP) 2:PUSH ;:PUSH ::PUSH ::PUSH ::PUSH ::SAVE R1 ON STACK R2 ON STA(K R3 ON STA(K R4 ON STA(K RS ON STA(K PUSHED PARAMETER PC,RESREG (SP)+,20(SP) (SP)+,20(SP) (SP)+,20(SP) (SP)+,RS (SP)+ R4 (SP)+,R3 (SP)+ ,R2 (SP)+ ,R1 (SP)+,RO PC :;RESTORE PC OF RESREG CALL JsRESTORE PC OF MAIN FLOW :;RESTORE PUSHED PARAMETER ::POP STACK INTO RS ::POP STACK INTO R4 :;POP STACK INTO R3 ::POP STACK INTO R?2 ::POP STACK INTO R1 :;FOP STA(CK INTQ RO (IRJLAO RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 19 H & SEQ 0046 GLOBAL SUBROUTINES SECTION 1 ;AJTO SIZE FOR RH70 CONTROLLER AND DETERMINE 3 s CALL P4 ;32 REGISTERS g : 9 9 10 11 12 005037 005037 013746 012737 011500 16 010766 005720 17 010770 18 010772 19 011000 20 011002 062700 012702 005720 012737 005720 001375 24 011016 52 011022 012716 000002 012737 000403 27 011024 28 011026 011500 013702 30 011034 060002 32 011042 33 011046 34 011050 022712 001007 005012 29 011032 31 011036 35 011052 36 011054 002650 002652 000004 011016 000050 001415 052710 011046 000074 011024 002650 ;CALL ROUTINE 005237 002652 40 011072 000207 012637 000004 RHEXT RHTYPE ERRVEC,=-(SP) #2% ERRVEC (RS) RO ;CLEAR RPBAE OFFSET :C.EAR RHXX TYPE REGISTER (RM11) SAVE CONTENTS OF ERROR VELT0OR SETUP *TRAP' RETURN ADDRESS GET RPCS1 ADDRESS 1ST (RO) ¢ ;TRAP IF NOT A VALID RPBAE 002650 1s7 1%: 002650 2%: b1 ¥ (RO) ¢+ SGET REGISTER OFFSET FOR RW70 GET NUMBER OF REGISTERS T0 (ME(K STRAP IF NOTA VALID RP(S3 #50 ,RHEXT DE( R2 MOV BR 874 ,RHEXT 1% #3%,(5P) :SETUP RETURN ADDRESS MO MOV :GET RPCS1 REGISTER SGET RPBAE REGISTER OFFSET ADD (RS) RO RHEXT,R2 43 RO,R? CMP BNE CLR 03 (R2) 43 (R2) :ARE THE EXTENDED &ITS SET [N RPBAE ? ;BR [f NO :CLEAR EXTENDED ADPNRESS BITS IN RPBAE BIC l‘(<A17:A16>.(SP)o INC RHTYPE RTS PC ST MOV RT] BEQ 8IS MOV BNE L9 #50,R0 #10.,R?2 MOV 8NE 000093 38 011062 001002 CLR (LR MOV MOV MOV ADD MOV 001400 176377 39 011066 000004 000050 000012 042726 37 011060 SIZE70: 005302 21 011004 22 011006 23 011014 PC,SIZE70 [T IS5 JUMPERED FOR 22 OR RS MUST CONTAIN POINTER TO NEW RP(CS1 BASE ADDRESS 010732 010736 010742 010746 13 010754 14 010756 15 010762 JSR IF MOV .LOAD OFFSET FOR RPBAE (22 REG.STER RW) (RO)+ :TRAP IF NOT A VALID REGISTER 1% ‘BR IF NO IA17‘A16 (RO) (RO)Y ,=(SP) SDONE WITH ALL 32 REGISTERS ? :LOAD OFFSET FOR RPBAE (32 REGISTER RM) BR I1f NONt :GET RPBAE REGISTER :SET EXTENDED ADDRESS BITS [N RP(S1 SAVE RPCSY REG CONTENTS :ARE THE EXTEND BITS CLEAR [N RP(S1 ? A 9 ;BR IF NO (SP)+ ERRVE( RES!ORE CONTENTS CF ERROR VE(CTOR :SET RHXX TYPE REG.STER (RM70) & SEQ 0047 GLOBAL SUBROUTINES SECTION ;*THIS ROUTINE WlilL DIVIDE 2-BIT TW0'S COMPLEMENT INTEGER :eDIVIDEND BY A 16=-BIT TWO'S COMPLEMENT INTEZER DIVISOR GIVING ;oA 16=B]T TW0'S COMPLEMENT INTEGER QUOTIENT AND A 15-B]T REMAINDER. ;*DIVISION WwiLL BE PERFORMED SO THAT THE REMAINDER IS OF THE :'%:xE SIGN AS THE DIVIDEND. !; :® ;e 12 13 E' ;e 005046 010046 010146 010246 010346 005046 012746 016601 016600 100005 105366 005400 005401 005600 016602 4«1 011146 &2 011150 003011 052766 7 011172 43 01117264 49 011176 SO 011200 51 011202 52 011204 53 011206 5 011210 55 011212 56 011214 57 011216 002407 012700 000424 005266 000401 005402 000241 000405 177777 000002 DIVIDE OVERFLOW OCCURRED ATVTEMPTED 10 DIVIDE BY ZERO “("'z0 *C*'=1 ;e *2 QUOTIENT ALL ZEROS $DIv: (R MOV MOV MOV MOV (LR MOV MOV MOV BPL DECB NEG NEG S3( MOV -(SP) :;CLEAR RO,=(SP) R1,=(SP) R2,=(SP) R3,=(SP) -(5P) #7,,-(SP) 26(SP) R 22(SP),RO 1% 3(SP) RO R1 RO 20(SP) ,R2 DIV STATUS DORD: RESERVED 70O SET ( AND v BITS ::PUSH RO v STACK ::PUSH R1 N STA(K :;PUSH R2 ON STA(K : ;PUSH R3 ON STA(K :SAVE A PLACE FOR SIGNS SISETUP THE ITERATION COUNTER ;:PICKUP THE DIVIDEND BGT 8IS 3% #3,14(5P) ::DIVISOR OF 0 1S A NO-NO S2SET "' £ "C"* IN DIV STAT WORD BR 7% 1%: 000014 3z =Saaeooeoe BLT MoV 2%: 3 6% 006100 010003 060203 103001 5¢: 006101 C05316 001370 6%: 010300 ;:QUOTIENT & REMAINDER ARE ON THE STACK IMPLIES NO ERROR IMPLIES ERROR OCCURRED REMAINDER 000003 0000063 DIVISOR,=(SP) PC,8D1V T0P 000021 000024 000022 000020 ;:THE HMIGH DIVIDEND MUST BE < 1/2 : AS LARGE AS THE DIVISOR NO ERROR @z I 25 011074 26 011076 27 011100 28 011102 29 011104 50 011106 31 011110 32 011114 33 011120 34 011126 35 011126 36 011132 37 01113&¢ 38 011136 39 011140 LOW DIVIDEND,=(SP) HIGH DIVIDEND,=(SP) STACK *® S% 46 011170 ‘= &i 21 4% 011164 RE TURN Y= * ;e }3 6 011162 MOV JSR I ;e :® 16 15 }? 18 3 011156 MoV MOV ;e ;e 10 N 0 011144 | o? 8 9 26 INTEGER DIVIDE ROUY~§ : 1 2 3 & S INC SO0 2% #-1,RO 2(SP) B8R <3 e BR 6% NEG ROL MOV ADD 8CC MOV ROL DE C BNE eoas R? |37 33 >3 OVERFLOW Soeooeeese ALL @442 ZERQS DIVIDE BY ZERO Soooteootooees ALL ONES ALL ONES ::CHECK THE SIGN ;:KEEP TRACK OF THE SIGN ;:AND NEGATE THE ORIGINAL ; :NUMBER ::PICKUP THE DIVISOR ;:CHECK THE SIGN ; SSET REMAINDER TO ALL ONES SEXIT *KEEP TRACK OF DiVISORS SIGN .NEGATE”IflE ORIGINAL NUMBER .(LEAR ' IN PSW ;START FORMING QUOTIENT RO RO,R3 R2.R3 6% “POSITION MSB'S ;;copv ::COMPARE DIVIDEND & DIVISOR ::BR 1f DIVIDEND > DIVISOR R1 (5P) 5¢ ;:QUOTIENT BIT ENTERS HERE : :DONE? ;:BK IF NO as,ao ::REMAINDER AFTER THIS LOOP o I CIRJLAQ RPO7? FCTINL TEST MACRO v064.00 1-JAN=-83 11:06:45 PAGE 20 SEQ 0048 GLOBAL SUBROUTINES SECTION 58 011220 §9 011222 60 011226 61 011232 62 011234 005701 100005 052766 005000 01001 000002 7$: 63 011236 005726 66 011240 65 66 67 68 69 70 011262 011244 0112646 011252 011254 011256 71 011260 72 011262 73 011266 74 011272 75 76 77 78 011274 011276 011300 011302 79 011304 80 011306 81 011310 82 011312 83 011314 8s: 005716 002004 0054C0 105066 005316 005726 001401 005401 010166 010066 012603 000014 000001 98: 000020 000016 108: R 8% ::OVERFLOW? SIBR_IF NO 157 HIE 3CLEAR COUNTER FROM STACK MOy #2,14(SP) RO RO,R 181 (SP) BGE NEG (LRB DEC 151 BEO 9% RO 1(SP) ($P) (5P 108 MOV RO.16(SP) NEG MOV MoV 012602 012601 012600 006226 MOV MOV MOV ASR 000242 001401 000262 012616 000207 1St BPL BIS (LR (Lv 11%: BEG SEV MOV RTS R R1,20(5P) (SP)e,R3 (SP)e.R2 (SP)+ R (SP)+ RO (SP)e 118 (SP)+,(SP) B SSSET "' IN DIV _STATUS WORD S:SET REMAINDER TO ALL ZEROS “:COPY REMAINDER INTG OUOTIENT S:REMAINDER SIGN CORRECTION NELDED? S:BR IF NO SINEGATE REMAINDER “ICLEAR SIGN 2:BUT DON'T FORGET QUOTIENT :3QUOTIENT SIGN CORRECTION NEEDED? 2IBR I+ NO SINEGATE QUOTIENT :SRETURN QUOTIENT AND :ZREMAINDER TO USER 2:POP STACK INTO R3 ::POP STACK :sPOP STACK :sPOP STA(K 3COPY C IN ssCLEAR V INTO R2 INTO R1 INTO RC PSW PER C [N PSVW IN DIV STAT WORD S:v=0 IN DIV STAT WORD, EXIT 2:v=1_IN DIV STAT WORD, (OPY v IN PSwW :sMOVE RETURN ADR UP ONE PLACE, OVERRIDING DIVISOR ZIRETURN WITH SP POINTING TO REMAINDER N~ CIRILAO RPD? FCINL TEST MACRO v04.00 1=JAN-B3 11:06:45 PAGE 20-1 (IRJLAO RPO7 FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 21 K & SEG 0049 GLOBAL SUBROUTINES SECTION : ; 3 e CALL & o 6 0 5 g 17 011324 18 011326 005046 016601 19 011332 20 21 22 23 264 25 011334 011336 01130 011344 011346 011350 005216 005401 016602 100002 005316 005402 27 011356 28 011360 29 011362 30 011364 31 011366 22 011370 005000 103001 060200 006000 006001 005316 3L 011374 022616 26 011352 33 011372 35 011376 36 011400 37 011402 38 011404 29 011406 40 011410 641 011616 6«2 011420 63 011422 46 011626 4% 011426 012746 MOV MOV RO,=(SP) R1,=(SP) ;:PUSH RO ON STACK ::PUSH R1 ON STACK (LR MOV -(SP) 12(SP),R1 ::CLEAR THE SIGN KEY 2:GET THE MULTIPLICAND 000612 . 000021 BPL 1%: 2%: 3%: 4 001403 000207 000010 5¢: eccmces LSB'S MSB'S R2,=-(SP) 1% ::PUSH R2 ON STA(K ::BR IF PLUS INC NEG MOV 8PL DEC NEG (SP) R1 14(SP) ,R2 23 (SP) R2 CLR BCC ADD ROR ROR DEC RO 4% R2,RO RO R1 (SP) ;:POSITION THE PARITIAL PRODUCT AND ;:THE MULTIPLICAND ssHAS ALL BITS OF THE MULTIPLICAND BEEN DONE? (SP)Ys, (SP) ::SHOULD PRODUCT BE NEGATIVE? MOV 27.,=-(SP) BNE b33 BEO 5S¢ CMP 000012 PRODULT $MULT: 0P +2 MOV 000014 :;PRODUCT IS ON THE STA(K ecece 001372 005400 005401 005600 005726 010066 (10166 012602 012601 012600 STACK MULTIPLICAND,=(SP) :* 010246 100002 PC,SMULT RETURN ;e . 16 011322 JSR ;e 1 }% 010046 010146 MULTIPLER,=(SP) MOV e 145 011316 15 011320 MoV e 9 10 INTEGER MULTIPLY ROUTINE NEG NEG SB( ST MOV MOV MOV MOV MOV RTS RO R1 RO (SP)+ RG,12(SP) R1,10(SP) (SP)+,R2 (SP) ¢ ,R1 (SP)+,RO PC ::SET THE SIGN KEY ::MAKE THME MULTIPLICAND POSTIVE ;:GET THE MULTIPLIER ;:BR IF PLUS ;:UPDATE THE SIGN KEY ;:MAKE THE MULTIPLIER POSTIVE :;SET THE LOOP COUNT ::SETUP FOR THE MULTIPLY LOOP <:DON'T ADD IF MULTIPLICAND = O ::BR IF NO ;:6G0 TO EXIT IF NO ;:YES==S0 MAKE IT SO ::CLEAR SIGN INFO. OFF OF STACK ::PUT THE PRODUCT ON THE STACK (MSB'S) ::LSB'S ;:POP STACK INTO R?2 ::POP STACK INTO R) ::POP STACK INTO RO CIRJLAQ RPO7 FCTINL TEST MACRO v04.00 1=JAN=83 11:06:45 PAGE 22 GLOBAL SUBROUTINES SECTION )| % sOCTAL TO HEXADEZIMAL CONVERSION ROUTINE 4 011430 S 011432 6 011436 7 011440 8 011444 9 011450 10 011452 11 011454 12 011456 13 011462 010146 011504 012701 000004 012702 005010 006310 000241 006366 1039202 052710 005301 17 011474 18 011476 19 011500 005720 005302 003361 16 011472 20 011502 22 23 24 25 011506 011512 011514 011516 011522 012702 012700 005710 003005 012720 005302 003372 000412 021027 101003 062720 000402 33 011550 34 011552 005302 003366 35 011554 36 011556 37 011560 gg 011562 40 0115664 000004 062720 012602 012601 012616 000207 1%: 2%: 000006 000001 003367 26 011524 27 011526 28 011530 29 011534 30 011536 31 011542 32 011544 OCTHEX: MOV 010246 012700 14 011464 15 011470 21 SEQ 0050 000004 011564 (%: 000060 000011 5%: 000060 000067 R2,=(SP) #PSTACK,RO MOV #4 R1 MOV CLR 6%: 7%: 8%: PSTACK: 06 ,R2 :SAVE R1 :SAVE R?2 ;SET UP THE BUFFER ADDRESS ;GET THE ITERATION VALUES :AND DUPLICATE FOR TWO LOOPS (R SINITIALIZE THE BUFFER ASL cLc ASL 6(SP) :MOVE THE PREVIOUS BIT(S) OVER :CARRY = 0 ;ROTATE A BIT FROM THE TEST VALUE BIS DEC #8170, (RO) R1 :MARK THE BIT AS BEING SET :ONE LESS ITERATION TO GO ST DEC BGT (RO)+ R2 1% BC( 3% 1,-(5P) MOV MOV B8GT (RO) B 3 2$ #4,R2 18T 8GT MOV DEC (RO) 5% #60,(RO)+ R2 BGT BR CMP BHI ADD BR ADD DEC BGT MOV MOV MOV RTS .BLkW #PSTACK,RO 4% 8% (RO) ,#11 6% #60, (RO) + 7% #55.,(R0O)+ R2 5% (SP)+,R2 (SP)+,R1 (SP)+,(SP) PC 10. SKIP NEXT INSTRUCTION :BUT NOT DONE UNTJL = 0! :NEXT BUFFER LOCATION ;ONE LESS ITERATION T0-GO :1F NOT 2ERO, KEEP GOING! MOV MOV :1F ZERO, :GET THE NEW ITERATION COUNT ;AND GET THE BUFFER ADDRESS AGAIN :CONTENTS ZERO? :1F NOT, SKIP NEXT ;SET THIS CHARACTER = NULL JONE LESS CHARACTER TO GO :IF NOT ZERO, KEEP GOING :DONE, RETURN! ;ALPHA OR NUMERIC CHARACTER? JIF > 11, ALPHA! :MAKE NUMERIC ASCII ;AND GO-ON :MAKE HEX ASCII ;ONE LESS ITERATION T0-GO :ONE LESS ITERATION, IF NOT ZERO ;RESTORE R¢ ;AND R1 ;MOVE STACK OVER INPUT VALUE :AND RETURN :SOTWARE PSEUDO STA(K C(IRJLAO RPO7 FCINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 23 SEQ 0051 GLOBAL SUBROUTINES SECTION 1 2 3 :SUBR TO GENERATE A PSEUDO RANDOM NUMBER *THE NUMBER [S RETURNED IN SRP1 :7 011610 ‘10 GENERATE THE PSEUDO RANDOM NUMBER 010046 10 011620 11 011624 005337 006100 011670 063700 063700 010037 011670 011674 011672 *THERE ARE 4 8 011612 9 011616 12 011626 13 011630 14 011634 15 011640 16 011644 17 011646 18 011650 19 011654 20 21 22 52 011656 011660 011664 011666 25 011670 26 011672 27 011674 013700 000241 006100 006100 006100 063700 006100 006100 010037 012600 000207 000000 001233 007622 011672 011674 011674 RAND: 3 SEED VALUES THAT MOV ?Eg RO, =(SP) $RP1,RO DEC $SANCON ADD $rP2, R0 ROL ROL ADD MOV ROL ROL ADD ROL ROL MOV MOV RTS SRNCON: 0 1233 $RP1: : 762 $RP2 2 CAN BE SAVED ; SAVE RO ‘GET A SEED ; RO RO SRNCON, RO RO, $RP1 RO RO $RP2,R0O RO RO RO, $RP?2 (SP)+,R0 PC ;RESTORE RO CIRJLAO RPO7 FCTNL TEST MACRC V04.00 1-JAN-B3 11:06:45 PAGE 24 N SEQ 0052 GLOBAL SUBROUTINES SECTION : 2 :DETERMINE IF THERE IS A CLOCK ON SYSTEM. START THE (LOCK. '‘CLKSTA" WILL 4 : 3 ;INDICATE THE CLOCK TYPE, 0= NO CLOCK 5 é 7 ; o1z (Wli=P ; -1z KWil=t :THIS ROUTINE WILL ALSO SETUP “'TICKMS' (TIMC PER CLOCK TICK 10 }} ; ; g 13 011676 16 011702 15 16 011706 011712 011714 17 ;g 011716 éfo TICKUSTM 005037 005037 0C2250 012142 012700 106462 010005 000120 ST.CLK: CLR CLR 103031 %? 010537 24 011730 011537 26 011742 12537 25 011734 27 011746 #°'P,RO (S$CLCK RO,RS BCC 1% SIS THERE A P-(LOCK PRESENT ? ;60 TO 18 IF NO 012122 MOV (R5) .PKB ‘MAKE PKB ADDRESS BY 012122 000004 012124 062737 0121264 012537 012326 012737 004737 000423 000001 012144 012700 104462 010005 012142 MOV ADD 04, Pr( MOV (R5)+,PKV MOV JSR 8R #1,CLKSTA PC ST.PCLK 28 MOV TRAP MOV #°L,RO (S$CLCK RO.RS BCC 38 MOV 1%: 000114 £2.PKB ST 002250 103036 (RS) ,PKCS ADD MOV (R§)+,PKC (R§)+ (RS)+,HERTZ ‘GET 'CSR* ADDRESS SADDING 2 ‘MAKE ch ADDRESS BY :ADDING 4 SSKIP OVER 'BR LEVEL' SGET "VECTOR® ADDRESS SGET "HERT2' LINE FREQUENCY SSET P-CLOCK FLAG SSTART P=CLOCK AS A WATCH DOG TIMER ;1S THERE A L-CLOCK PRESENT ? ;60 TO 3% IF NO :SET L=CLOCK P=-TABLE, START L=CLOCK 28 41 012014 010537 43 0120264 &4 012026 45 012032 46 012036 ag 012046 005725 012537 0°2537 012737 004737 012527 012132 MOV RS,LCLKTB :SAVE L-CLOCK TABLE ADDRESS 012136 012142 177777 012716 ST MOV MOV MOV JSR (R5)+ (RS)+,LKV (R5)+.HERTZ #-1,CLKSTA PC,ST.LCLK *SKIP OVER 'BR LEVEL® SGET *VECTOR® ADDRESS csr "HERTZ® LINE FREQUENCY L=CLOCK FLAG S!ARI L-CLOCK AS A WATCH DOG TIMER 012134 MOV 002250 (R ¢, LKS SGET °csn' ADDRESS :GET THE CLOCK TICK (OUNT gg §1 012050 MOV TRAP MOV sSAVE P-CLOCK TABLE ADDRESS 000002 012537 & ;ASSUME ‘N0 CLOCK'" SASSUME ‘'UNKNOWN'' HERTZ RS ,PCLKTB 962737 30 011762 42 012020 CLKSTA HERT? MOV 012120 (CNS725 31 011766 32 01177¢ 33 012000 34 012002 35 012002 012006 012010 36 gg 012012 ;START THE CLOCK 012116 011537 22 011754 29 011756 PL.ST.(LK sSET P=CL.LK P=TABLE & START P=(LOCK 22 011720 21 011724 JSR RE TURN IN MILLISECONDS) (TIME PER CLOCK TICK IN MICROSECONDS) AS PER LINE FREQUENCY. 012737 52 012056 012737 53 012064 023727 000024 047040 012142 012112 012114 000062 2%: MOV MOV (MP #20., T1CKMS #20000.,11Ckus HERTZ,#50. ;ASSUME 20.0 MSEC & :20000.0 USEC 21S 11756HERTZ LINE FREQUENLY ? CIRJLAD RPO7 FCTINL TEST MACRO v04.00 1-JAN=B3 11-06:45 PAGE 24-1 GLOBAL SUBROUTINES SECTION 54 012072 §5 (12076 001406 012737 gg 012110 000207 56 012102 §9 0i2112 g? 012114 012737 ooooio 040432 BL? MOV 012112 012134 000020 38 TICKMS: 040432 B 38 16, TICKKS 1" 212566, TICKUS .WOR) 14, RY: TICKUS: .WOFD PC 16666. 5 SEQ 0053 :BR xr YE ‘MUST BE ouz. 16.666 MSEC & :16666.0 USEC ;16 MILLISECONDS PER CLOCK TICK 116666 MICROSECONDS PER CLOCK TICK :KW11=P CLCCK TABLE, CSR REG, PxB REG, PK( REG & VEC ADR g% gg 012116 000000 PCLKTB: WO 0 ;P=CLK TBL ADR 66 012120 67 012122 68 012124 98 012126 172540 172542 172544 000104 PKCS: PKB: PKC : PRV .WORD WORD "WORD .WORD 172540 172542 172544 104,106 ;FONTROL & STATUS "COUNT SET BFR :COUNTER SVECTOR 000106 ;} ;KW11=L CLOCK TABLE, ;2 012132 000000 75 012134 ;9 012136 177546 000100 ;g 012142 000000 80 012144 81 012144 82 012150 83 84 012152 012156 012162 012166 012172 012174 85 012200 000102 105737 001021 002233 012746 012746 013746 012746 104437 062706 012777 000390 012312 012126 000003 000010 000001 86 012206 012777 000115 87 gg 012214 000207 90 012216 91 012216 92 012222 92 94 012224 012230 01223%¢ 012240 012244 012246 105737 001016 002233 012746 012746 013746 012746 104437 062706 000300 012312 012136 000003 39 012260 000207 95 012252 012777 000010 000100 LCLKTB: .WORD O ;L=CLK TBL ADR LKS: LKV MORD LWORD 177546 100,102 ;CONTROL & STATUS TVECTOR HERTZ: WORD O :60 HZ. OR S0 HZ. LINE FREQUENCY 1STB BNE STOFLG 13 MOV MOV MOV MOV TRAP ADD MOV #PR106,=(SP) #KWSRY, =(SP) PKV,=(SP) #3,-(SP) ($SVEC #10,SP #1,3PKB ;ALLOW SOF TWARE TIMECUTS ? :NO=-=-BRANCH SSETUP VECTOR FOR P=-CLOCK 1STB BNE STOFLG is MOV MOV MOV MOV TRAP ADD #PRI06,=(SP) #KWSRV = (SP) LKV,=(5P) #3,-(5P) C$SVEC #10,SP ST.PCLK: 177714 177704 1$: ST.LCLK: 177654 CSR REG & VEC ADR 1$: MOV RTS MOV RTS #115,3PKCS PC c1oé aLKS :COUNT ONE TICK ST INT.EN.",COUNT DCWN'', "MODE 1 (REPEAT)', "LINE FREQ'', AND °'‘RUN'’ *RETURN ;ALLOW SOF TWARE TIMEQUTS ;NO==BRANCH “SETUP VECTOR FOR L=CLOCK :START THE KWll-L *RETURN 98 :THIS ROUTINE 1S USED TO STOP THE SYSTEM CLOCK 10C : 99 ;CALL JSR PC,STOPCK s CALL ROUTINE SEQ 0054 CZRJLAO RPO7 FCTINL TEST HA(RO v04.00 1-JAN=B3 11:06:45 PAGE 24-2 GLOBAL SUBROUTINES SECTION 114 012316 115 012322 012322 116 120 121 122 123 012324 }%g 012332 126 012336 012342 012346 012352 012356 012360 127 012364 128 129 131 132 133 012372 012400 012402 012410 012414 1$: BIC #100,aLKS ;STOP THE 2%: RTS CLOCK PC INTERRUPT MOV JSR L10006: Q1 sA RECALIBRATE 042777 017740 012746 012746 013746 012746 104437 062706 012777 012777 000001 042777 012716 012746 104437 062706 005077 000207 177566 FORSEC: BIC MOV MOV ? L-CLOCK SERVICE ROUTINE TICKMS,=(SP) PC,RPTMR JVIME PER TICxk IN MILLISECONDS :COUNT THE ELASPED TIME 177510 1%: 0240, ,arxB MOV 2$: 012126 000010 #105.aPKCS #101,3PK(CS #2%,(SP) #PR106,-(SP) (SP)+,~(SP) PKV,=(SP) TRAP ADD CSSVEC #10,SP CLR 1774654 #3,2(5P) CSSVEC #10,5P MOV MOV MOV MOV 000003 #PRI06,=(SP) MOV L10007: /11 000300 #101,aPK(S aPKV .= (SP) #18%,-(SP) .= (SP) PKV MOV WAIT BIC 177520 COMMAND MOV MOV MOV TRAP ADD 177530 RTS ;STOP CLOCK ‘SAVE THE OLD CLOCK VECTOR ADDRESS :SETUP VECTOR FOR P=(CLO(K ;4 SEC DELAY AT LINE FREQ ‘RUN AT LINE FREQ, DOWN MODE, sWAIT FOR (LK [NTER ;STOP CLOCK [E-1 :ADJUST FOR RETURN ;RESTORE OL. VECTOR ADDRESS FOR P=(LOCK #3,-(SP) aPKB PC ;CLEAR CLK BFR COUNT :ROUTINE TO PROVIDE A 2 MS STALL AFTER A SEEK OPERATION IN THE SEEK TIMING 145 sTESTS. THIS STALL IS REQUIRED TO COMPENSATE FOR THE *ACCESS READY' DELAY :%2 THE RPO7. THIS STALL TIME IS NOT INCLUDED IN THE CALCULATED SEEK TIMES, 146 147 148 149 150 . : CALL ; 151 152 012450 042777 155 012462 012466 012746 012746 }22 012456 ;1S THERE A CLOCK AVAILABLE :BR |F 1D JBR JF L=CLOC(K :STOP THE P-CLO(K sTHIS SUBROUTINE IS USED TO RELOAD THE (LCfK FOR A & SECOND TIMEQUT DURING 012746 012646 013746 161 CLKSTA 2% 1% llO\.GPK(S KWSRV: 000002 135 012416 012622 012424 136 012442 137 012446 177624 013746 004737 000002 012430 012434 0126436 000100 T1ST BEO BM] gé( :KW11 012414 134 012416 177620 O 109 10 1] 113 012312 000101 STOPCK: WOMNO 106 012300 107 012302 108 012310 100404 042777 000403 042777 000207 002250 VOO 104 012270 105 012272 005737 001410 = 101 102 012262 103 012266 017746 177442 TWOMS: JSR RETURN BIC PC, TWOMS #101,9PKCS MOV aPKV,=(SP) MOV MOV #PR106,=(SP) #2%,-(5P) :STOP THE P-(CLOCK SA\E THE OLD CLOCK VECTOR ADDRESS SETUP VECTOR FOR P=(LO(K CIRJLAQ RPO7 FCTINL TEST MACRO v04.00 1-JAN=-83 11:06:45 PAGE 24-3 SEQ 0055 GLOBAL SUBROUTINES SECTION 012472 012476 012502 012504 013746 012746 104437 062706 012126 000003 157 012516 158 012522 105737 001410 002230 156 012510 159 0125¢4 160 012530 161 012534 162 112540 163 012544 012777 011610 042716 173000 013746 062677 1518 BEQ TIMSTL 1% MOV 0206..8?&8 ;LOAD THE CLOCK BUFFER JSR PC,RAND :YES, FETCH A RANDOM NUMBER BI(C #aC6t77,(5P) 011672 MOV 177356 ADD $RP1,=(SP) (SP)+ ,aPKB 000101 177346 1% MOV #101,aPK(S 042777 000101 177336 2%: BIC #101,aPK(S 167 012562 012716 012602 012606 012610 171 012614 };g 012620 177404 PKV,=(5P) #3,-(SP) CSSVEC #10,SP 012777 0009001 168 012566 012566 169 012570 170 012570 012574 012576 000310 004737 164 012552 166 012554 900010 MOV MOV TRAP ADD 012570 L10010: 000002 012746 012646 013746 012746 104437 062706 005077 000207 3¢: 000300 01212¢ 000003 WALT MOV RTI MOV MOV MOV MOV TRAP ADD (LR RTS 000010 177302 #3%%,(SP) #PR]106,-(SP) (SP)+,=(SP) PKV,=(SP) #3,-(SP) CSSVEC #10,5P aPKB PC JRANDOM STALL? :NO ;6T RANDOM NUMBER sLIMIT IT TO 25 MSEC JADD IT TO THE BASIC 2 MSEC STALL :START THE CLOCK JWAIT FOR 2 MS :STOP THE P=CLOCK :ADJUST FOR RETURN ;RESTORE OLD VECTOR ADDRESS FOR P=(LO(K sSET COUNT = 0 :RETURN 177 :THIS ROUTINE LOADS A READ HEADER AND DATA (OMMAND OR A SEEK COMMAND 179 ;THAT CAN BE ALTERED BY THE OPERATOR. 178 180 181 182 183 184 012622 185 012622 186 012626 187 012630 188 012636 189 012644 190 012646 191 012654 192 012662 :INTO DPB.B+2 AND DPB.C+2, DEPENDING ON THE STATE OF REDHDR FLAG s CALL : H 105737 001407 012737 012737 000406 012737 012737 000207 LDIMD: 002226 000173 000173 002562 002602 000105 000105 002562 002602 1%: 2%: JSR RE TURN PC,LDCMD 1831 ] BEO MOV MOV BR MOV MOV REDHDR ;D0 EXPLICIT SEEKS FOR VERIFYING ? 1% :NO==BRANCH #RDHD ,DPB.B+2 ;NO-=SET UP FOR READ HEADFR AND #RDHD ,DPB.C¢2 ;DATA (OMMAND 2% #SEEK,DPB.B+2 ;SETUP FOR SEEX (OMMAND #SEEK,DPB.(+2 RTS PC SEQ 0056 = OO 00 N OV 8 N 0T USED :R3 TEMP STORAGE ;R4 ;RS DPB_ADDRESS BASE ADDRESS OF SAVED REG'S TABLE LINK AND RET CALLING SEQ: RS,ERRANY JSR DPB RET ERRANY: MOV MOV MOV R1,=(SP) R2,=(SP) R3,=(SP) ::PUSH R1 ON STA(K :sPUSH R2 ON STA(K ;;PUSH R3 ON STALK (LR SVSTAT ;PROGRAM FLAGS: EACH BIT INDICATES ERROR TYPE MOV 002254 674 MOV MOV MOV Movs MOvB 000014 000036 000006 000007 000002 éM?B L 014206 020000 1%: 032762 001406 014042 020400 014052 017000 000010 040000 000012 SRS NS SNOOSN 000137 032762 000137 014052 032762 040000 OO0 000010 2%: 3%: 001406 104456 000010 4%: 14(R1) ,R2 36(R2) ,CYL.RD 6(R2) ,SEC.RD 7(R2),TRK.RD %;R1),01SO :DPB ADDRESS sADDRESS OF SAVED REGISTER TABLE ;GET CURRENT CYLINDER ;GET CURRENT SECTOR sGET CURRENT TRA(K :IF DATA TFR (MD sTHEN GET THE DECREMENTED SECTOR ADDRESS sMCPE ERPOR ? :BRANCH [F NOT MWORD .WORD WORD JMP 1 EM) DH&4 31% JEXIT 8I7 BEQ #MPE 'UPE,10(R2) ;PARITY PROBLEM ? 3% :BRANCH [F NONE LMORD .WORD .WORD JMP 2 EM? DH&4 32% BIT 8eQ eIl BNE sJLLEGAL CONDITIONS ? #NED ! NEM!MSPGE !MXF ,10(R2) sBRANCH IF NONE 4% :ANY DRIVE ERROR ? #ERR,12(R2) ;REPORT THE DRIVE ERROR 4% .MWORD .WORD .WORD JMP 3 EM3 DH&4 32% JEXIT 8iv 8t0Q #UCE,10(R2) 5% ;ANY DATA PATTERN ERROR ? sBRANCH [F NONE TRAP 007604 (RS)+,R1 ::PUSH R4 ON STA(K PC,ADJUST #MCPE,0(R2) 2% TRAP oW o oo WAL LN LN NN OO0O0O0O0O0O000 B BN WWNLN =~ OONSNO O [o]lelele] =0000 N ANANLNINNIND 007604 000137 R&,=(5P) JSR BT 8eaQ TRAP NN sl wd e et ;RO R ‘R NN 2OV~ PONIPNLINININININ) b = sb b ;ERROR ANALYSIS ROUTINE WV ES NN b iy — CZRJLAO RPO7 FCTINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 25 GLOBAL SUBROUTINES SECTI ON TRAP (SERHRD CSERHRD JEXIT CSERHRD (SERHRD MA v04.00 1-JAN-83 11:06:45 PAGE 25-1 C2ZRILAD RPO7 FCTNL TEST MACRO SECTION GLOBAL SUBROUTINES 013062 013064 013066 22 013070 000004 005516 007604 000137 014052 47 013074 032762 100000 49 013104 104456 48 013102 013106 013110 013112 001406 000005 005540 007604 g? 013114 000137 014052 52 013120 53 013126 gg 013130 032762 001002 000137 040000 56 013134 57 013162 658 013144 032762 001406 104456 100000 28 013154 000137 014062 002000 gg 013200 032762 001406 104456 000007 005616 007604 000137 014072 66 013204 032762 0000640 68 013214 013216 013220 013222 104456 000013 005644 007604 000137 014072 71 013230 72 013236 032762 001406 004000 013146 013150 013152 61 013160 62 013166 63 013170 013172 013174 013176 67 013212 ?8 013224 73 013240 013242 000006 005560 007604 001406 013244 013246 ;g 013250 104456 000014 005666 007604 000137 76 013254 77 013262 78 013264 79 013272 032762 001042 032762 001444 81 013302 82 013304 83 013312 001412 022762 00101¢ 80 013274 (0327¢2 000010 S%: F 5 SEQ 0057 .MWORD LWORD MWORD JMP & EM¢G DH&4 12% EXIT 8IT #DLT,10(R2) :ANY DATA LATE ERROR ? TRAP CSERMRD BEOQ 6% :BRANCH IF NONE MORD .MORD .WORD S EMS DH&& 329% JEXIT JMP 000012 69%: 8IT BNE JMP #ERR,12(R2) 7% 438 ;ANY DRIVE ERROR ? :BRANCH IF ANY JEXIT 000040 7%: 8IT BEQ TRAP #PGE ,40(R2) 8% CSERHRD ;:DRIVE PROGRAMMING ERROR ? :BRANCH IF NONE JMP 33¢% JEXIT BIT BEQ TRAP .MORD .WURD WORD #LBC,L2(R2) 9% CSERHRD 7 EM? DH&4 ;LOST BIT CLOCK ? ;BRANCH JF NONE 3498 JEXIT s8It MUCF ,14(R2) SWRITE CLOCK FAILS ? TRAP MORD .WORD .WORD CSERHRD 1N EMI1 DH&4 34% JEXIT 817 BEQ #ULE,14(R2) 1% :WRITE LOCK ERROR ? :BRANCH IF NONE .WORD LWORD JMP EMI2 DH&& 349 JEXIT 8l7 BNE BIT BEQ #DTE,14(R2) 16% #DCK,14(R2) 17% :DATA ERROR ON DRIVE ? ;REPORT THE DRIVE TIMING ERROR :ANY DATA ERROR ? ;BRANCH [If NONE 8tQ (MP BNE 13¢ #10040,44(R2) 14% JEXIT JF NOT SET ;POSITION REG=10040 :REPORT ECC LOGIC FAILURE 014174 .WORD .WORD LWORD 000042 8%: JMP 000014 9%: BEQ JMP 000014 10%: TRAP LMORD 014072 010000 000014 100000 000014 000100 000014 010040 000046 11%: BIT 12%: 6 EM6 DH&4 10% CSERHRD 12 #ECH,14(R?) :BRANCH 1Ff NONE JECH SET, THEN RPEC1:=10040 (IRJLAQ RPO7 f GLOBAL SuBROU 1 SQCRO v04.00 1= AN-83 11:06:45 PAGE 25-2 TRAP .WORD LWORD .WORD JMP 86 87 013330 010040 88 013336 89 013340 013340 013342 013344 013346 39 013350 92 013354 013354 013356 013360 013362 93 013364 94 9% 013370 013370 013372 013374 013376 96 013400 97 98 013404 99 013412 100 013414 101 102 103 104 105 15%: 000137 032762 001406 014072 1¢$: 032762 001406 000007 013406 013470 013472 000020 006032 007604 000137 016112 113 013500 11¢ 013506 115 013510 032762 001406 020000 013512 000014 18%: CSERHRD 43 TRAP TRAP 8IT BEQ BIT 8EQ .WORD +WORD .WORD JMP 014102 003000 000014 19%: 104456 000051 TRAP TRAP 032762 001406 104456 sLEGICAL POSITION REG CONTENTS ? -WORD .WORD .WORD JMP 104456 108 013454 112 17%: 014072 000017 005765 007604 000137 111 013474 #10060,44(R2) 15% TRAP 013442 013444 013446 109 013462 110 013464 000042 104456 013430 013436 013440 CMP BH] .WORD .WORD -WORD JMP 014072 000010 JEXIT .WORD .WORD .WORD JMP 104456 000055 007135 007604 000137 348 .WORD +WORD .WORD JMP 014072 000016 005730 007604 000137 106 013450 107 13%: 14%: 013416 013420 013422 013424 000044 BIT BEQ TRAP +WORD +WORD .WORD JMP 000614 20%: DH44 8IT BEO TRAP .WORD ;BRANCH [F SO EM4L3 CH&G 348 SEXIT CSERMRD 13 Em3 DHGG 349 JEXIT CSERHRD 45 EMLS DH&4 349 JEXIT #DPE ,42(R2) 18% ;BRANCH [F (SERHRD ;DRIVE DATA BUS PARITY ? NONE 14 EM14 DH44 54% JEXTT #ILFILR!RMR,14(R2) :INTERFACE 19% :BRANCH [F NONE PROBLEM ? (SERHRD 15 EM1S DH&4 W 014072 FML7 o 30&3-— W 01332¢ 85 013324 AE ! AOE, 14 (R2) ERHRD SEXIT ;POSITION ERROR ;BRANCH 1F NONE X ~a ~o 015520 CSERHRD 47 <o MR 84 013314 013316 SEQ 0058 36% JEXIT JOPERATION INCOMPLETE ? :BRANCH If SO CIRJLAQ RPO7 FCTINL TEST MACRO v04.00 1=JAN=83 11:06:45 PAGE 25-3 H S SEQ 0059 GLOBAL SUBRQUTINES SECTION 013514 013516 }}9 013520 006765 007604 000137 014112 118 013524 032762 061000 013536 013540 013562 }g; 013544 000021 006065 007604 000137 123 013550 124 013556 032762 001406 013562 013564 000025 006161 }Sg 013570 000137 014122 128 013574 129 013600 016203 042703 000014 177057 131 013610 132 013612 001006 104456 119 013532 120 013534 125 013560 013566 130 013604 001406 104456 000002 007604 022703 0164132 135 013626 136 013634 137 013636 032762 001406 104456 000020 007604 013644 }gg 013646 000027 006235 007604 000137 140 013652 141 013660 142 013662 143 013670 144 013672 01367« 013676 013700 032762 001420 032762 001006 104456 000030 006271 007604 000137 #SK]LCE,G2(R2) ;SERVO OR ACTUATOR SEEXK ERROR ? .WORD .WORD .WORD JMp 17 EM1? DH&GS 16% BEQ TRAP ;BRAN(H F 817 8tQ #EWN,12(R2) 233 ;PROBLEM ? ;BRAN(CH [F SO .WORD .WORD 21 EM21 JMP 37% 24%: 000400 000014 25%: 26%: 014132 150 013722 032762 017400 000040 27%: NONE JEXTTY BNE TRAP 24% (SERMRD WFER'ECH'HCRC .HCE,RS :BRANCH [F HEAD MISSING :CHOP THE REST BITS NOT .WORD .WORD 22 EmM2?2 JMP 38% JEXIT #FER,14(R2) 25% (SERHRD ;FORMAT ERROR ? :BRANCH [F NOT BIT BEQ TRAP O TAA 23 EM23 DH&4 18% JMISSING MEAD ? CEXIT sl BEQ 8I7 BNE TRAP .WORD LWORD LWORD #HCRC'HCE ,14(R2) :HEADER [NFORMATION ERROR ? 278 :BRANCH 1f NONE #HCRC,14(R2) ;HEADER CRC ERROR ? 26% :BRACH IFf SO CSERHRD 264 EM24 DH&& TRAP WORD .WORD LWORD JMP 46 EML6 DMH&& Bl SURYUNS 'WOR'RWUT 'RWU2 'RWU3,40 (R} JMP 014132 DM&S 14(R2) ,R3 :CHECK 1F #*C<FER'ECH'HCRC'HCE>,R3 .WORD LWORD .WORD JMP 000014 (SERHRD MOV BIC .WORD 000014 JEXIT 2¢% CSERKHRD (Mp 000600 104456 000056 007166 007604 000137 001406 23%: 014132 013706 013710 0137212 013714 }23 013716 151 013730 8lT .WORD 000720 000137 147 013706 22%: EMe LTS 36% TRAP }%2 013622 }22 013702 000012 104456 000026 006205 013640 013642 21%: 014112 013614 013616 013620 000042 .WORD .WORD JMP 8ta 318% JEXIY CSERHRD 38% 28% JEXLY JBRANCH [F NONE ;WRITE AND READ UNSAFt SEQ 0060 (ZRJLAO RPO? FCINL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 25-4 GLOBAL SUBROUTINES SECTION oo~ o Y NNSNNNN NV ~4 £ NN VIANANRNRNWN 1046456 TRAP JEX]T #IXU,42(R2) 30 CSERHRD 34 ; INDEX UNSAFE ? 39% JEXIT 016142 052737 000451 000001 002254 31$: 8IS BR #BI1T0,SVSTAT 433 ;MCPE=1,RHXX A=SYNC 052737 000445 000002 002254 32%: BIS 8F 439 #B1T1,SVSTAT ;RHXX DATA BUS PARIT Y,ILLEGA L l 052737 000441 000004 002254 33%. BIS BR #BIT2,SVSTAT 43% :PROGRAM ERROR: PROM I BITED COMMANDS ;WERE EXECUTED (WRIT 3 /READ TRACK DES, 002254 349: 002254 000042 006657 007604 000137 TRAP .WORD +WORD .WORD JMP 0146142 000400 000042 30%: NN =N OO0 NUWN NN 009040 OO0 NN 000100 =N IN =\ 000200 - NN 000020 o0 own 000010 OO0 000400 - BIT BEOQ TRAP OO0 S ON o (V.7 — — BEOQ «WORD +WORD .WORD JMP EM34 DH&& #PHF ,L2(R2) 429 CSERHRD 35 JBRANCH ]F NONE sPROCESSOR HANDSHAKE FAILURE?? :BRANCH [F NOT EM3S DH&& 39% CONTRTL BUS PARITY ;DATA LATE, WRITE (HE ¢ K. FORMAT CONDITION TRAC(K). #8 173,SVSTAT ;DRIVE CLOCK, TIMING, DATA ERROR 35%: #8 [14,SVSTAT ;ILLEGAL CONDITION ,DECODER, INTVERFACE 002254 36%: #8 [15,SVSTAT sPOSITIONING ERROR 002254 37¢: #8 116,SVSTAT ;MECHANICAL FAILURE 002254 18%: "8 [T7,SVSTAT 43 $ :OR UNFORMAT 002254 19%: #B]18,5VSTAT 43 JUNSAFE 43 $ 63 $ 43 $ 43 $ [ T 001406 1044656 OO0 on - W O N OV ON -0 — =) — - ) R OO0 BIT 39% W 29%: DM 4 PPN 000042 JDC LOW ? ¢BRAN(CH [F NONE 29 $ C$ERHRD 33 Em 3 DB DEDED 000100 &0 ( U,4e2(R2) DS 0146142 .WORD .WORD .WORD JMP JEXIT DB 006637 007604 000137 007604 -t — e FaX LY O o0 ld i il D e BIT 8tQ 19 $ 82 e — 28%: DM 4 4 000137 — ouv 000042 104456 — oo A OO0 000040 000043 006674 o O L OO0 014142 (s ERMRD 32 Em 3 P4 032762 001452 o~ ON d e D d ad d b d OO0 OO0 .WORD .WORD .WORD JMp 0000461 004 06 oo 00 032762 001406 TRAP ) s e D e i d =D e h D e el D D s D o D O OOV OO OOOOCEOOCOAOOCOOO00 N NNV NNNNYNO® O NN =2 OOV NER WA OO NPVNE WA 2OOW d 167 o 166 d 165 OO0O0O00OO0 164 e e e i o o) d OO0OO0O0OO d ad e el il [0 Yo Yo QW IV, ) = OO 00 163 104456 000040 006614 007604 000137 032762 X ) D e e b o b OO 46 D ~NOM NS N OO0OO0O0O0O0O0 D el il — [V TV V[V, 1V, ] 013734 FXV] 152 013732 sRETRY SHOULD BE ALLOWED. ;PROBLEM : AIR, TEMP ETC. ;HEADER INFORMATION ( HEADER FAILURE, TRA(K ) (READ/WRITE, INDEX, TA(H) CIRJLADQ RPO7 FCTINL TEST MACRO v04.00 1=-JAN=83 11:06:45 PAGE 25-S J 5 SEQ 0061 GLOBAL SUBROUTINES SECTION 197 198 0146152 Q32762 200 0146162 016164 016166 104456 000054 007067 007604 199 014160 014170 201 014172 202 0146174 001005 000763 014174 012604 0164200 012602 014176 0146202 203 014204 012603 012501 000205 100000 GOGO&2 42%: Bl7 BNE TRAP LMWORD .WORD 63%: #BSE,L2(R2) ;BAD SECTOR DETECTED ? 433 JEXIT NGT REPORT ERROR .WORD CSERHRD 44 EM44 DH&4 19% EXIT MOV (SP)+ R4 ;:POP STACK MOV (SP)e+ R? ::POP STACK INTO R2 BR MOV MOV RTS (SP)+,R}Y (SP)e R RS INTO R4 ::POP STA(CK INTO R3 ::POP STA(K INTO R K CIRJLAQ RPO7 FCTNL TEST HA(RO v04.00 1-JAN-83 11:06:45 PAGE 26 S SEQ 0062 GLOBAL SUBROUTINES SECTION 1 :SUBROUTINE TO ADJUST THE SECTOR ADDRESS BECAUSE % :éQCREMENTED AT THE END OF A TRANSFER g : sCALL 6 0164206 005737 002272 8 014216 013737 002264 002272 002262 002266 002270 7 014212 9 10 11 12 13 14 014222 014226 016230 014236 014242 016246 15 014250 16 014252 }g 014256 001014 005737 001011 013737 005337 000405 005337 000402 005337 000207 002270 ADJUST: 002272 1%: 002270 2$: 3¢ IT IS AUTOMATICALLY JSR PC,ADJUST ;CALL ROUTINE TST SEC.RD secroa 0’ MOV NS1,SEC.RD CMAKE IT LAST PHYSICAL SECTOR AND DECR TRACK BNE 187 BNE MOV DEC 8R DEC BR DEC RTS 1 TRK.RD 2% NT1,TRK.RD CYL.RD 3s SEC.RD s TRK.RD PC ‘BR IF N LAST TRACK’ :BR IF NO SMAKE (T LAST PHYSICAL :DECR CYL SEXIT : CEXIT :ADJUST TRACK TRACK AND DECR CYL 19 59 sTHIS ROUTINE WILL CALL THE RPO7 DRIVER AND THEN WAIT ON THE FUNCTION 22 EOMPLETE 1F AN ERROR OCCURS IT IS REPORTED. 22 : Sg : 23 L R FILL *'OPB'' WITH COMMAND INFORMATION JSR RE TURN R4,CALL.A 26 014260 004437 020750 CALL.A: JSR R4 ,RPO7 29 014270 005737 002556 1%: ST DPB.A*16 ;DONE? BPL MOV MOVB MOVB JSR DPB.A JSR 38 DPB.A+12,CYL.DS DPB.A+11,TRK.DS DPB.A+10,SEC.DS RS,ERRABO RS, ERRANY :BRANCH 'F NO ERROR ;CYLINDER :TRACK ;SECTOR ;CHECK THE ABORT CONDITION ;PARAMETER BLOCK ADDRESS :DETECT ERROR #B1T7,SVSTAT :HEADER ERROR? 27 014264 28 0164266 30 014274 002540 000774 001775 31 014276 32 014300 014306 014314 33 014322 36 014326 35 014330 100036 013737 113737 113737 004537 002540 004537 38 014344 39 014346 40 014352 001013 013746 112737 36 014234 37 014336 41 014360 42 016364 42 014366 46 0164370 22 014374 002540 022737 004437 002540 000240 012637 000204 002552 002551 002550 015100 002274 002300 602276 012664 000200 002254 002542 0001067 002542 020750 002542 DPB.A BR BEQ DPB.A CMP BNE MoV MOVB CALL.A 1$ JSR DPB.A 1 ¥ 1D RTS 3% DPB.A+2,-(SP) #RECAL,DOPB.A+2 R4 ,RPO7 (SP)+,DPB.A+2 R4 ;CALL RPO7 DRIVER :NO=-LOOP :IF NOT MATCH, NO :SET UP FOR A RECAL COMMAND S1SSUE THE COMMAND ;THIS BUFFER SFILLER FOR THE DRIVER :RETURN 47 48 49 :THIS ROUTINE IS THE SAME AS ‘‘CALL.A'' EXCEPT FOR THE DPB USED AND IF STHE COMMAND IS A READ HEADER AND DATA THE HEADER (CYLINDER, TRA(CK, SAND SECTOR) READ IS CHECKED FOR VALIDITY. 51 ; 50 ;CALL 52 53 : : 014376 0064437 023750 FILL DPB JSR RE TURN CALL.B: JSR R4,CALL.B R4 ,RPO7 ¢CALL DRIVER CIRJLAQ RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 26-1 L 5 SEQ 0063 GLOBAL SUBROUTINES SECTION S6 57 58 59 60 61 62 63 64 65 66 67 68 69 70 014402 014404 0146406 014412 014414 016416 014626 014632 014440 014444 0144646 014452 016454 014462 014464 014470 014476 002560 000776 005737 001775 100037 013737 113737 113737 004537 002560 006537 002560 022737 001013 013746 112737 006437 71 014502 72 014506 002560 000240 74 014512 7S 014514 76 014522 000421 123727 001007 73 014506 77 014524 78 014530 79 014532 012637 005737 100404 004437 80 014536 81 014540 82 014542 002570 000406 84 014546 001402 83 014542 85 014550 86 014554 gg 014556 002576 002572 002571 002570 015100 1$: 002274 002300 002276 012664 000200 0022564 002562 000107 002562 020750 DPB.B NOP 002562 002562 000173 015354 002231 004437 002346 000204 015274 MOV 4$: #BIT7,SUSTAT 2$ DPB.B+2,=(SP) WRECAL,OPB.B+2 R4, RPO? (SP)+,DPB.B+?2 BM] JSR 4% R4 ,VERIFY DPB.B+16 JSR .MORD RTS 92 ; 100 014576 101 014600 014606 014616 102 014622 103 014626 104 014630 105 014634 106 014636 107 0146446 108 014646 004437 002600 000774 005737 001775 STALLF R4, STALL STALL1 R4 SAME SYES=-=CALL STALL ROUTINE SSTALL TIME POINTER *RETURN AS *'CALL.B'' EXCEPT 020750 CALL.C: R4 ,RPO7 :CALL 002616 1$: JSR DPB.C BR ST BEQ BPL MOV CALL.C DPB.C+16 1% ; DONE? :NO=-=L00P JSR RS,ERRABO 015100 013746 ;STALL 2 *NO--BRANCH R&,CALL.C 004537 002600 022737 001013 :ERROR DETECTED ? JSR 002612 002600 004537 ;RESTORE THE (OMMAND SEXIT :DOING IMPLIED SEEKS? :NO--BRANCH RE TURN 100037 013737 113737 113737 STHIS BUFFER ‘FILLER FOR THE DRIVER : 32 014560 014564 014566 014570 014574 ;SET UP A RECAL COMMAND :1SSUE THE COMMAND :ERROR DURING VERIFY 5S¢ ;THIS ROUTINE 1S THE ;s CALL ; FILL DPB ;HEADER ERRORS? :TAKE BRANCH If NOT MATCH *BRANCH IF SO 160 CHECK THE D~TA DPB.B+10 BR 5¢ TSTB ;DONE? *NO--BRANCH *BRANCH IF NO ERROR :CYLINDER :TRACK -SECTOR sCHECK THE ABORT (ONDITION RS, ERRANY S$ DPB.B+2,#RDHD 4% BEN 5¢: CALL.B DPB.B*16 1% 1§ DPB.B+12,CYL.DS DPB.B+11.TRK.DS DPB.B+10.SEC.DS RS,ERRABO BR (MPB BNE TST 89 90 91 95 9% 97 98 99 2%: 3$: 002576 105737 DPB.B BR ST BEQ BPL MOV MOVB MOVB JSR DPB.B JSR DPB.8 CMP BNE MOV MOVB JSR 002611 002610 002274 002300 G02276 OPB.C JSR 012664 000200 002602 MOVB MOVB 002254 OPB.( CMP BNE MOV FOR THE DPB USED. DRIVER 38 *YES=-BRANCH If NO ERROR OPB.C+12,CYL.DS :CYLINDER DPB.C+11.TRK.DS :TRACK DPB.C+10.SEC.DS :SECTOR RS, ERRANY #BIT7,SVSTAT 2% DPB.C+2,-(SP) ;CHECK THE ABORT CONDITION ;HEADER ERRORS? JIF NO MAT(CH, NO! MA CRO v04.00 1-JAN-83 11:06:45 PAGE ON 000107 020750 002602 mMove JSR OPB.(C NOP W D b 8 b OO0 ¥ 002602 o NNSNNNNNNNNNO ESANNIANNININ) = =2 OO OO NO SNV SO d o F W F 1 F 2F af aF oF LI e D e d e d i e R D D LR R b d NIWVENNND OO0 NPV NN —= O QOO0O0OOCOOOOOO — St ) e D o D D D D d d ok b PONOPONNONINDND b b b D bbb e D (ZRJLAQ RPO7 ¢ 1 GLOBAL SUBROUT IN 002602 2%: 009173 3% 002616 015354 002231 4%: 015274 5%: MOV BR CMPB BNE 1ST BMI JSR .6-2 #RECAL R4 ,RPO? ,DPB.(C+2 (SP)+,DPB.(+2 SEQ 0064 sSET UP A RECAL COMMAND : ISSUE _THE COMMAND +FROM THIS BUFFER ;FILLER FOR THE DRIVER 5% JEXIT OPB.(+2,#RDHD :DOING IMPLIED SEEK? sNO=-=-EXIT :ANYTERROR ? 4% DPB.C+16 4% R4, VERIFY DPB.C+10 BR 5% 1518 STALLF BEQ 5% JSR RG,STALL RTS R& STALLY JEX] s YES==CHECK THE DATA ;ERROR DURING VERIFY STALL ? *NO=--BRANCH ‘YES--CALL STALL ROUTINE JSTALL TIME POINTER CIRJLAO RPO7 FCINL TEST MACRO v04.00 1-JAN=t3 11:06:45 PAGE 27 N SEQ 0065 GLOBAL SUBROUTINES SECTION 1 :TH S ROUTINE 3 T$E LG EXIT IS TO THE NEXT TEST. 2 IS THE SAME AS '‘CALL.A' EXCEPT FOR THE DPB USED AND SON AN ERRCR LOCATION "'ERR.CT'' IS EXAMINED. 4 :CA L IF ERR.CT IS EQUAL TO S ; FILL DPB g : RETURN JSR R4 ,DRVCAL 002340 020750 DRVCAL: CLR JSR WCEFLG R4 ,RPO7 :C.EAR WRITE CHECK ERROR FLAG sCALL DRIVER 002636 3$: DRVCAL DTADPB+16 :DONE BM] BR 1% 4% :BR IF ERRORS :NO ERRORS MOV MOVB DTADPB+12,CYL.DS DTADPB+11,TRK.DS 6 : 9 014742 10 014746 11 0164752 12 014754 13 014756 14 014762 014764 014766 014770 014770 014776 015004 015012 015016 015020 015024 015026 015026 015032 015034 015040 015042 W IR NN = O 000 NN N AN AANINI N N NN NI RO NIND N — WN —2O0 15 16 17 18 WV 015044 36 015050 37 015052 38 015054 39 015060 4«0 015062 41 015064 42 3 46 015070 65 015072 46 015076 005037 004437 002620 000772 005737 001775 100401 000417 013737 113737 113737 004537 002620 004537 002620 105737 001403 004437 002350 000204 002632 002631 002630 015100 002274 002300 1%: 002276 BEQ MOVB JSR DTADPB JSR 012664 002231 DTADPB BR 18T A ¥ 015274 5%: DTADPB 1518 BEQ JSR .WORD RYS b3 3 :NO=-=L00P JCYLINDER : TRACK DTADPB+10,SEC.DS :SECTOR RS,ERRABO :CHECK THE ABORT CONDITION :DATA BLOCK ADDRESS RS,ERRANY STALLF 5% R4, STALL STALLZ R4 sSTALL ? :NO==-BRANCH :YES==CALL STALL ROUTINE :STALL TIME POINTER sSUBR TO EXECUTEA COMMAND STORED IN DTADPB. :SIMILAR TO SUBR CALL.A EXCEPT THAT HARD AND SOFT ERRORS ARE NOT CHECKED ;1.E. NO CALL TO ERRANY. 004437 002620 000774 005737 001775 100003 004537 002620 013702 000207 020750 015100 EXECMD: JSR DTADPB BR 2%: 1ST BEQ 8PL JSR 002634 3%: 002636 DTADPB MOV RTS R4 ,RPO7 EXECMD DTADPB+16 2% 3% RS.,ERRABO DTADPB*14,R? PC SEXEC CMD :DPB PIR SWAIT FOR Q@ NOT FULL sDONE? ¢WAIT FOR DONE ;SKIP ON ERROR FREE DONE :ERROR: CHECK ABORT CONDITION SEXIT TEST IF "DPB*+16 SET WITH ERRORS: sNED+PRT+STO+MCP+PAR+OF L *UNS. :'DPB' PIR SFETCH AD OF SAVED REG TBL SEQ 0066 CIRJLAD RPO? FCTINL TEST MACRO v04.00 1=JAN-83 11:06:45 PAGE 28 GLOBAL SUBROUTINES SECTION 1 :THIS ROUTINE I E USED TO DETERMINE THE ABORT (ONDITIONS OFf STHE 1/0 ROUTINES 2 3 4 SCALLING SEQ 6 : S ; : g 9 015100 10 015102 010146 010246 12 13 16 15 16 17 18 19 016102 016237 116237 116237 016102 032702 001405 104455 11 015106 015106 015112 015120 015126 0151364 015140 015144 015146 015150 015152 015154 20 015156 21 015160 22 015164 23 015166 015170 015172 015174 24 015176 012501 000031 006330 010600 000440 032702 001405 104455 000032 006366 007604 000430 25 015200 032702 26 015204 27 015206 015210 015212 015214 28 015216 29 015220 30 015224 31 015226 015230 015232 015234 32 615236 3T 015240 3% 015244 35 015246 015250 015252 015254 36 015256 37 015260 38 015264 39 015266 40 015270 001405 1€4455 000033 006436 007604 000420 032702 001405 104455 000036 006475 010600 000410 032702 001407 104455 000037 006552 010600 0004600 013705 012602 012601 000205 JSR DPB NORMAL RET ERRABO: MOV MOV 000014 000036 000006 000007 000016 000002 MOV MOV MOV MOVB MOVB MOV Y BEQ TRAP 002266 002272 002270 000004 1%: 001090 2%: 006000 3¢ 050000 4%: 002252 5¢: 6%: RS,ERRABO R1,=(SP) R2.=(SP) :SAVE R1 14(R1) ,R2 36(R2 6(R2), 7(R2). 16(R1) ,R2 #BIT1,R2 sADDRESS OF (p6)+ R1 1% (SERDF MORD .MORD .WORD BR BIT BEQ TRAP MWORD .WORD .WORD 8R 25 EM25 DH2S 5$ #BIT2,R2 28 CSERDF 26 EM26 DH4& 5% BEQ TRAP MORD CWORD .WORD 8R BIT 8EQ TRAP .MORD .WORD .WORD BR BIT BEQ TRAP MWORD .WORD .MORD BR 3 (SERDF 27 EM27 DH&& 5 #BIT10'BIT11,R2 I (CSERDF 30 EM30 DH25 13 #BIT12'BIT14,R2 6% CSERDF 31 EM}N DH25 5$ 8I71 MOV MOV MOV RTS DATA BLOCK PAR ADDRESS #BIT9,R2 BYPASS,RS (SP)+,R? (SP)«.P1 hS . :SAVE R2 ;LOAD THE DPB ADDRESS SAVED REGISTER TABLE sGET CURRENT CYLINDER ;GET CURRENT SECTOR ;GET _CURRENT TRA(K ;R2 TEMP_STORAGE ;DRIVE BECOME NON-EXIST ? ;BRANCH IF NOT JEXIT ;PORT REQUEST TIMEOQUT ? ;BRANCH IF NOT ;TIME OUT ON THIS DRIVE ¢BANCH [F NOT JEXIT :MASSBUS PARITY ERROR :BRANCH I+ NOT ? sDRIVE UNSAFE OR OFFLINE sBRANCH [F NOT (OTHER ERROR CATLOG) s THE ABORT ADDRESS SEXIT If NO ABORT CONDITION SEXIT SEQ 0067 (ZRJLAQ RPO7 FCTNL TESY MACRO v04.00 1-JAN-83 11:06:45 PAGE 28-1 GLOBAL SUBROUTINES SECTION 22 :ABORT RETURN ADDRESS FROM 'ERRABO® SUBR, VIA 'BYPASS', 45 015272 " 015272 ABOPAS: 104444 &7 TRAP C$DCLN 48 49 ;THIS ROUTINE WILL PROVIDE A ;AMOUNT OfF TIME IF STALRD = 52 :CALL gg : 50 51 :STALLYT CONTAINS SPECIFIED T ;CONTAINS THE TIME FOR TESTS 53% 56 57 58 59 015274 015276 015302 015304 013446 105737 001406 004737 61 015314 042716 60 015310 62 63 66 65 015320 015322 015330 015332 66 015336 67 015340 68 015344 69 015346 70 015350 71 015352 013716 005046 162766 103407 012716 005704 005366 001374 000765 022626 0002074 002232 0000G1 000144 000000 FOR TESTS 1-6, AND STALL?2 18. JSR TIME POINTER R4 ,STALL ;WHERE T0 FIND THE STALL TIME STALL: MOV 1ST8 BEQ JSR 3(R4)+,=(SP) STALRD 1% PC,RAND ;PICKUP STALL TIME ;USE A RANDOM TIME ? :NO==BRANCH :YES==FORM RANDOM NUMBER BIC #AC77,05P) ;BUT NEVER > 64 MILLISECONDS ST R4 MOV 000002 LL IN MILLISECONDS FOR A SPECIF l A RANDOM AMOUNT OF TIME IF STA : 011610 011672 177700 ON DEV FATAL ERROR 1%: 2%: 38 63: (LR SUB 8LO MOV DEC BNE BR CMP RTS $RP1, (SP) -(SP) #1,2(SP) 4 3 #100.,(SP) 0(SP) 38 2% (SP)+,(5P)+ R4 SAND USE IT FOR THE STALL TIME :CLEAR TEMP. LOCATION :MORE STALL REQUIRED? *NO=-=BRANCH ;STALL FOR ABOUT 1 MILLISECOND *NOP ro KILL TIME : COUNT ;LOOP 1F MORE COUNTS NEEDED :CLEAN OFF JEXIT THE STACK CIRJLAD RPO7? FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 29 0 SEQ 0068 GLOBAL SUBROUTINES SECTION 5 :§28IINE T0 SOF TWARE COMPARE HEADER ON IMPLIED SEEKS 3 A ; : : 5 9 : 8 015354 9 015356 10 015360 11 015366 12 015374 13 16 15 16 17 015376 015602 015404 015412 015420 010146 012401 042737 023761 001003 150000 042610 042612 20 015436 21 015442 22 015444 015446 015450 015452 23 015454 24 015462 25 015466 011137 005744 104456 000052 007020 010340 012737 004437 062706 002274 27 015474 000204 26 015472 112137 112137 012601 ERR RETURN RETURN VERIFY: MOV 023711 001431 013737 113737 113737 18 015426 19 015432 JSR R&,VERIFY ADR POINTER 042610 042613 042612 002276 002300 000107 016260 000002 042610 MOV 8IC 002266 002270 002272 CMP BEQ MOV MOVB MOVB 000002 002542 CMP BNE 1$: MOVB MOVB 2%: 3¢ 4%: MOV 18T TRAP MWORD JWORD .WORD MOV JSR ADD MOV RTS :ADDRESS OF DPB+10 (SECTOR NUMBER) R1,=(5P) :SAVE R1 DBUFF ,2(R1) i$ DBUFF +2,(R1) 3¢ DBUFF,CYL.RD DBUFF+3,TRK.RD DBUFF¢2.SEC.RD :CYLINDER NUMBER 0K? :NO==BRANCH tYES==HOW ABOUT TRACK/SECTOR? SBRAMCH IF GOOD ‘SAVE THE EXPECTED AND THE +RECIEVED CYLINDER, TRACK, :AND SECTOR (R)+ R1 #150000,DBUFF (R1)+,SEC.DS (R1)+.TRK.DS (R1),CYL.DS -(R4) (SERHRD :GET ADDRESS OF DPB+10 :STRIP FORMAT AND BAD SECTOR BITS FROM CYLINDER NUMBER :MAKE IT TEST PC+4 42 EM&? DH&4S #RECAL ,DPB.A+2 R4, CALL.A #2.RG (SP)+,R1 R :LOAD RECALIBRATE ORDER CODE 160 EXECUTE THE COMMAND : INCREMENT RETURN ADDRESS *RESTORE R1 CEXIT SEQ 0069 — g CZRJLAO RPO7 FCTNL TE S A(RO v04.00 1-JAN-83 11:06:45 PAGE 30 GLOBAL SUBROUTINES SE CTION 1 2 3 g ;THIS ROUTINE WILL PERFORM A “MASSBUS'' INIT. FOLLOWED BY ‘A "'RECALIBRATE'* ON THE DRIVE UNDER TEST. CRIE TH1IS ROUTINE DESTROYS R1 AND R4 6 ; . 7 L : g RE TURN1 : 10 015476 005001 14 015516 012737 11 015500 12 015506 13 015512 15 015524 16 015530 17 015532 18 015534 19 015540 20 015542 21 015544 015552 015560 012777 005037 005937 000040 002630 002632 004437 020750 002620 000433 005737 001775 100021 013737 113737 113737 22 015566 23 015572 26 015574 004537 002620 004537 26 015602 005724 25 015600 002620 27 015606 000406 28 015606 29 015616 g? 015622 012777 012777 000204 000107 165162 002632 002631 002630 015100 SRCHO0: JSR R4 ,RPO? BEOQ 002274 002300 002276 NO ERROR :INCASE OF ERROR (TYPTIM) ‘MASSBUS INIT. ‘TRACK=0; SECTOR=0 SCYLINDER =0 #RECAL ,DTADPB+2 :COMMAND = RECALIBRATE X DTADPB+16 1% SCALL THE DRIVER :DPB POINTER ‘BRANCH IF QUEUE FULL.NO SPACE SWAIT ON DONE JSR DTADPH JSR RS, ERRABO €3] DTADPB+11.TRK.DS DTADPB+10.SEC.DS S TRACK SSECTOR ;CHECK ANY ABORT CONDITION RS, ERRANY (RG)+ ;ADJUST FOR ERROR EXIT BR JX 160 T0 THE EXIT RTS R4 *RETURN MOV MOV 48: ]F 33 ;TAKE NORMAL EXsT ]F NO ERROR DTADPB+12,CYL.DS ; CYL INDER DTADPB 3$: JRETURN MERE 8PL MOV MOVB MOVB 2%: R #CLR,IRPCS? DTADPB+10 DTADPB*12 DTADPB BR ST 1%: 165052 165072 CLR :DO A MASSBUS INIT. AND RECAL :RETURN HERE ON ERROR MOV CLR CLR MOV 012664 000000 000000 R4, SRCHOO RETURNZ 002622 002636 JSR #0,3RPDA #0.3RPDC :TRACK AND SECTOR =0 SCYLINDER = 0 g% :THIS IS AN RT] WHICH IS USED 2Y THE TIMING TESTS 35 015624 DORTI: 36 015624 57 015624 L10011: 000002 :RETURN FROM INTERRUPT RT1 %g :ngs ROUTINE WILL INITIALIZE THE TIMERS USED BY THE TIMING ROUTINE 40 : s 45 [ : 42 015626 44 015632 45 015636 46 015642 47 015644 48 015646 49 015650 004737 012700 012701 005020 020001 103775 012710 010646 002302 002336 51 015662 52 015670 012737 004737 077777 010700 50 015654 2‘ 015674 000207 & 55 0462610 012737 077777 002302 002320 CALL JSP RETURN STRTMR: JSR MoV MOV 1¢: CLR (MP BLO MOV MOV MOV JSR RTS PC,STRTMR PC,SAVREG #1IM_UP,RO #TIM.PT R (RO) ¢ RO,R1 1% #DBUFF , (RO) :SAVE RO=RS :START AT TIM,UP (MINIMUM) :STOP AT TIM.PT ;CLEAR : DONE? NO--BRANCH SSETUP POINTER #°CBITIS, TIM.UP SSET MINIMUM T nf 10 MAX[MUM #°CBIT15.7IM.ON:POSITIVE NUMBER PC,RESPEG :RESTORE RO-RS P( ‘RETURN STHIS ROUTINE 1S USED FOR MEASURE THE AVERAGE SEEK TIME F CZRJLAO RPO7 FCTNL TEST MACRO V04.00 1-JAN=B3 11:06:45 PAGE 30-1 6 SEQ 0070 GLOBAL SUBROUTINES SECTION 56 ;1IN THE TEST 10 Zg : g} : 63 64 ; WHERE THE T1 IS THE SEEK TIME FROM CYLO TO CYL1 : THE T2 IS THE SEEK TIME FROM CYLO TO CYL2 LETC. 22 : 93 ; gg STHE TIME 1S MEASURED AS: 22 71 72 73 74 75 76 77 78 TTHE 015676 015702 015706 015706 015712 015714 015720 015724 012702 005705 001402 012702 010146 017746 004737 016666 002302 80 015736 016616 177776 79 015732 011666 81 82 83 84 85 86 87 88 89 90 91 92 93 94 015742 015746 015750 015752 015756 015760 015762 015764 015770 015774 016000 016006 016014 016020 013746 006216 005216 004737 006126 100001 005216 062662 005562 005262 017777 062737 027712 002002 96 97 98 99 016026 016034 016036 016042 016050 027763 002002 005262 027762 003403 e s D ool o el D i e D — st 2 OOV OO00O0000 N =4 OO0 NP NI NN =D 95 016022 016052 016060 016066 016070 016074 017712 017762 027763 003402 005262 000207 000002 1$: 177776 011074 174076 2%: 164330 002336 174072 000004 3%: 000002 174056 000004 4$: 174046 174040 000004 000006 S%: 000006 COUNT2: 6$: ROUTINE WILL CALCULATE THE FOLLOWING SUMMATICN (T1X629+12X628+13X627+....... ) X 2 629 MOV ST BEQ MOV MOV MOV JSR MOV #TIM, UP,R2 RS 1% #TIM.DN,R2 R1,-(SP) aPK(,=(SP) PC,SMULT 2(5P) ,=2(5P) ;COUNT UP TABLE *COUNT UP CALCULATING ? *BRANCH IF SO ‘LOAD THE COUNT DOWN TABLE SCOEFFICIENT 629,628,627,.... ETC. *MEASURED TIME INTERVAL STIME INTERVAL X COEFFICIENT ‘SWAP THE LSB , MSB OF THE PRODUCTION MOV =2(SP), (SP) : FOR THE CALLING SEQ OF $DIV ROUTINE MOV 002206 000010 000012 000014 174120 000002 174104 629%629 COUNTZ2: 002320 174204 011316 000002 (T1X629¢T2X628+T3IX627+T4X626....... )X2 (SP),2(SP) : MOV ASR INC JSR ROL BPL INC ADD ADC INC MOV ADD CMP BGE LC,=(SP) (SP) (SP) PC.SDIV (SP)+ 2% (SP) (SP)+,10(R2) 12 (R2} 14 (R2) aPKC,aTIM.PT #2,1im_P1 aPKC, (R2) 3$ ‘DIVIDED BY 629 (TOTOL # OF SEEKS) . DIVIDEC BY 629/2 *ROUND UP THE FRACTION STIME X COEFFICIENT/TOTAL # OF SEEKS *REMAINDER OVER 0.5 ? ‘BRANCH [F NOT *ROUND UP ‘LSB OF THE TOTAL SUM *HSB OF THE TOTAL SUM STOTAL SEEK COUNT :SAVE THE TIME INTERVAL ;ADJUST THE POINTER SMINIMUM TIME :BRANCH IF NOT CMP BGE INC CMP BLE aPKC .4 (R3) (3 2(R2) aPK(,4(R2) 5¢ TLOWER THEN THE LIMIT 2 ‘BRANCH IF NOT SUPDATE THE COUNTER IS SO ‘GREATER THAN THE MAXIMUM VALUE ‘BRANCH IF NOT MOV MOV CMP BLE INC RTS aPKC, (R2) aPK(,4(R2) aPKC.6(R3) 63 6(R2) PC *LOAD THE NEW MINIMUM ? *LOAD THE NEW MAXIMUM VALUE ‘OVER THE LIMIT *BRANCH [F NOT JUPDATE TME COUNT, [F SO CEXIT JTHIS ROUTINE WILL ADD THE ELAPSED TIME TO THE AVERAGE COUNTER AND CMAINTAIN THE MINIMUM AND MAXIMUM TIMES. ;?215: THIS ROUTINE DESTROYS R? CAL s : : MOV MOV #TP,RY FLAG,RS ;PARAMETER POINTER JFLAG=0=COUNT uP AQO RPO7 FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 30-2 SEQ 007 L SUBROUTINES SECTION 13 ; }2 17 016076 18 016102 012702 005705 002302 20 016106 012702 002320 19 016106 21 016112 22 016116 23 016120 24 016126 25 016134 26 016136 27 016140 28 016142 29 016146 30 016150 31 016156 32 016166 33 016166 34, 016170 35 016172 36 016176 37 016200 38 016202 39 40 a1 42 016210 63 016212 44 4S5 016220 46 016222 47 016230 28 016236 001402 027722 ; RE TURN PC,COUNT COUNT: MOV ST #TIM UP,R2 RS :PICKUP THE ‘‘UP'* POINTER SUSE 12 MOV #TIM DN, R2 “NO--PICKUP '‘DOWN'' POIN"ER 002003 017762 BGE MOV 2% aPK(,=2(R2) 027763 002901 005212 005722 027722 003403 017762 027763 003401 005212 005722 067722 005522 005212 023727 001412 022737 101406 017777 062737 000207 BEQ 174006 174000 173772 1%: 177776 000004 1737.0 17374. 177776 000006 (.753& 173676 000002 50 2%: CMP &$: 000022 002336 *LESS THAN PREViOUS LOW? :NO==BRAN(H SYES==SAVE IT BEQ 63 BLOS 6% :LAST CYLINDER X & :NO=--BRAN(H ADD 7RICNK SADVANCE THE POINTER MOV 6%: aPKC. (R + S YES=-BRAN(H 18T CMP BLE MOV CMP BLE INC 157 ADD ADC INC CMP (MP 164106 002336 1% 8PK(,4(R3) 1 (R2) (R2)+ aPK(,(R2)+ s aPK(,=2(R2) aPK(,6(R3) 5 (R2) (R2)+ PK(,(R2) ¢ (R2)¢ (R2) LSTEST,#18. BGE INC 5% : 173726 002114 CMP 3¢ 173756 ;FLAG==1=COUNT DOWN JSR : 16 RTS SLESS THAN THE LOW LIM[T? :NO=-=-BRAN(CM SYES==COUNT IT SADVANCE THE POINTER “GREATER THAN PREVIOUS MIGM? *NO=-~BRANCH “YES==SAVE [T SGREATER THAN THE HIGM LIM[T? :NG==-BRAN(H :YES==COUNT IT SADVANCE THE POINTER SADD THIS COUNT TO THE TOTAL :COUNT THIS READING :D0O NOT SAVE COUNTS IN MEMO IN 8 TO ALLOW ‘A WRITE-CHECK OPERATION AFTER THE TIMED wRITE SOTHERWISE WRITE DATA WILL BE DESTOYED AND A :WRITE CHECK ERROR WCE WILL RESULT Jn RP(S2! #OBUFF ¢<4+629.>,TIM.PT ;SAVE THIS COUNT? aPK( ,aTIM PT PC SYES==WELL SAVE [T THEN *RETURN 2} :Egls ROUTINE PRINTS THE SPEC OF ALL TIMING TESTS 53 gg : : 56 STABLE: .WORD MESSAGE SPIYP: MOV 1578 BEO (RG)+,R2 TIMIYP b3 MOV MOV MOV TRAP ADD (R2)+,=(SP) #1,-(SP) SP,RO CSPNTF ’,SP s 57 58 CALL : : o 61 016240 62 0162642 63 016266 64 ] 65 016250 016252 016256 016260 016262 012402 105737 001447 012246 012746 010600 104417 062706 002227 000001 000004 JSR R&4,SPTYP TABLE ADDRESS JWORD JWORD MIN VALUE MAX VALUE ;THE TABLE ADDRESS :ALLOW PRINT SEXIT IF NOT SPRINT MESSAGE SEQ 0072 E2 <2 30-3 -p| -o S [V o oMOO~NOo~NO nd o PO~ a0O~ & ? NL TE EY MACRO v04.00 1-JAN=-83 11:06:45 PAGE (IRJLAQ RPQO7 FCI GLOBAL SUBROUTINES SECTION —O[-_o=O0O—]~0No~O(e—=O4 - 1 CIRJLAQ RPO? FCTNL TEST MACRO v064.00 1-JAN=83 11:06:45 PAGE 31 6 SEQ 0073 GLOBAL SUBROUTINES SECTION 1 2 ::THIS ROUTINE i SIT 3 1S USED TO TYPE THE MINIMUM, sMAXIMUM, AND AVERAGE TIMES FOR THE TIMING TESTS 5 WILL ALSO CHECK THE TIMES TO ENSURE STHEY ARE WITHIN TOLERANCE AND [F NOT FLAG THE BAD TIMES. :?215: THIS ROUTINE DESTROYS R2-RS g :CALL 8 : JSR }9 : RE TURN 12 STABLE: MSGADR1 ;ADDRESS OF ASCIZ MESSAGE NUMBER 1 14 : TMINIMUM TIME ALLOWED 9 : 13 }2 17 016370 18 016372 19 016376 012402 105737 001001 22 016402 010446 26 25 26 27 28 29 012205 012203 011202 012704 004737 gg 016400 23 016404 0166410 016412 0164164 016416 016422 016426 016426 016432 016436 016440 016442 30 016446 31 016452 32 0164564 016460 016464 016466 016470 33 016476 34 016500 016500 016502 014506 016512 016514 016516 35 016522 36 0165264 37 016526 38 016532 39 016534 016536 016542 016566 002227 0002064 012237 017104 002302 017462 013746 012746 010600 104417 017104 000091 005764 001012 012746 012746 010600 1046417 062706 000014 062706 000137 012446 012746 012746 010600 104417 062706 0057264 001416 005737 001413 010346 016446 012746 012746 ; MSGADR? : MAX. ALLOWED 1%: 2%: 000006 000002 38 ALLOWED “ADDRESS OF ASCIZ MESSAGE NiMBER 2 :MAXIMUM TIME ALLOWED RTS R4 :PICKUP THE TABLE POINTER CINHIBIT TIME REPORTS? *NO, PROCEED MOV R&,-(SP) :SAVE RET ADR MOV MOV MOV MOV JSR (R2) +.RS (R2)+.R3 (R2) ,R2 #TIM.UP,RG PC,CHKTIM *ADDRESS OF MESSAGE NUMBER 2 SPICKUP THE LOW LIMIT SAND THE HIGH LIMIT :PARAMETER POINTER SSEE IF ALL THE DATA IS 10 BE MOV MOV MOV TRAP 118, =(SP) #1,-(SP) SP,RO CSPNTF 151 BNE MOV MOV MOV TRAP ADD 14 (R4) 38 #MSGNON, = (SP) #1,-(SP) SP,RO CSPNTF 86, SP MOV JMP MOV MOV (RO)+,118 #,SP :DID ANY COUNTS OCCUR? ‘BR IF YES (RG)¢ ,=(SP) , BEQ 43 177776 017202 000003 MOV MOV MOV -2(R4),=(SP) #MSGBEL ,=(SP) #3,-(SP) 3 BEQ MOV SADDRESS OF MESSAGE NUMBER 1 smsGHiN,=(SP) 000006 ST CEX{T 10$ MOV MOV TRAP ADD 017542 :GO REPORT THE TIMES SPOINT T0 THE PROPER TABLE (R4) ¢ ,R2 TIMTYP 18 ADD 017443 000001 017110 MIN. TYPTIM: MOV 118 BNE 000004 017100 RG,TYPTM TABLE #2,-(SP) SP,RO (SPNTF #6,SP (RL) + ;ANY SEEKS BELOW THE LOW LIMIY $$FLG 4% R3,=(SP) STYPE # OF SEEKS BELOW LIMIT? ‘NO, SKIP IT *NO=-=BRANCH TYPED CIRJLAO RPO7 FCTNL TEST MACRO v064.00 1-JAN-B3 11:06:45 PAGE 31-1 GLOBAL J 6 SEQ 0074 SUBROUTINES SECTION 016552 016554 016556 010600 104417 062706 016562 016564 016570 016576 016576 016600 012446 012746 012746 010600 104417 062706 42 016606 43 016610 001416 005737 40 016562 41 016604 44 016614 45 016616 016620 016624 016630 016634 016636 016640 005724 001413 010246 MOV TRAP ADD SP,RO (SENTF #10,SP 000006 MoV MOV MOV MOV TRAP ADD (RG)+,=(SP) AMSGMAX ,=-(SP) #2,-(SP) SP,RO (SPNTF #6,SP 017542 BEQ ST 5¢ $$FLG MOV R2,=(SP) MOV MOV MOV TRAP ADD MOV MOV #MSGAVG, = (SP) #1,-(SP) SP,RO CSPNTF 84, SP (RG)+,-(SP) (R&)+.=(5P) JSR ROL BPL INC PC.$01V (SP)+ 6% (SP) 000010 017133 000002 016446 0127646 012746 010600 104417 062706 177776 017257 000003 016644 016650 016654 016656 016660 47 016666 48 016666 012746 012746 010600 104417 062706 012446 012446 017156 000001 50 51 52 §3 016672 016676 016700 016702 0064737 006126 100001 005216 011074 016736 016730 104417 062706 46 016644 49 016670 54 016704 55 016710 016714 016720 016724 56 016734 012446 012637 013746 012746 012746 010600 022737 57 016742 001423 58 016744 022737 59 016752 001432 60 016754 022737 61 016762 001426 62 016764 016770 016774 017000 017002 017004 63 017010 64 017012 017012 017016 48 ST BEOQ 000010 5%: 000004 MOV 017106 017106 017167 000002 000006 6%: 000007 002114 000016 002114 000022 002114 016446 012746 012746 010600 104417 062706 000425 177776 017334 000002 016446 012746 177776 017361 MOV MOV MOV MOV TRAP ADD MOV MOV MOV MOV MOV 7%: ;ANY SEEKS ABOVE THE MIGH LIMIT 5¢ *NO, SKIP IT BEOQ CMP BEOQ CMP BEOQ 7% #14, ,LSTEST 8% #18.,LSTEST 8% MOV MOV :FORM THE AVERAGE (R4)+.=(SP) TRAP ADD MOV MOV MOV MOV TRAP ADD BR *NO=-BRAN(CH STYPE # OF SEEKS BELOW LIMIT? -2(R&),=(SP) #MSGABV,=(SP) #3,-(SP) SP.RO CSPNTF #10,5P (SP)+ ,AVERAG AVERAG,=(SP) #AVGVAL ,~(SP) #2,-(SP) SP,RO CSPNTF #6,5P CMP 000006 (R{)+ ;1S THE REMAINDER OVER HALF? *NO-~BRANCH SYES==ROUND UP -POP AVERAGE VALUE FOR PRINI #7.LSTEST STEST 7 2 -2(R&) ,-(SP) #MSGNUM, = (SP) #2,-(SP) SP,RO COPNTF #6,5P 9% SSKIP <2(R&),=(SP) #MSGSEA,=(SP) ‘BRANCH IF SO STEST 14 2 *BRANCH [f SO STEST 18 2 ‘BRANCH IF SO CIRJLAQ RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 31-2 SEQ 0075 OO=0O 000002 8%: 177776 017411 000002 [elelelolelelelele] e S OO0 OWVIWNANO OV b i il o el wad ol ol — e d QOUOOO0O0OO — —b— 2PN = OO #2,-(SP) ADD #6,5P MOV =2(R4),=(SP) MOV MOV TRAP ADD MOV #2.-(SP) SP.RO CSPNTF #6,SP RS°11$ CLR JMP RS i] B8R MOV 9% : S = NWNOOWNIN= W= = YN NOVWO MOV MOV TRAP 000006 OO0 —OO000 ~ 0 OO O OO ~ ~N -~[0 aT 0 XV 1V, 1V, ] » £ BANNIANPNIND OO ~ O S oo~ O » OO ONN SNNNSNNNNNNN BB NNNN b b cd NN b ed NNNNNSNN\IN\INNNN\IN e d O oo [olelole] [eleloleoldlelele] b e o o o wd D o D ard o D o D d d o D D D D d o o 66 d 65 b mad nd oy [elelelelolelelelaleBele B olelololoalalololeololelololelelals] o GLOBAL SUBRQUTINES SECTION BEQ SP,RO (CSPNTS s JSK]P OHSGOPE -(SP) 10§ ;NEXT MESSAGE POINTER S1F NONE EXIT *NO MORE THAN 2 10%: MOV RTS R4 (SP)+ R4 :FETCH RET 11$: AVERAG: MORD .WORD O O :ADRRESS OF MSG 1 *AVERAGE VALUE MSGMIN: MSGMAX: MSGAVG: AVGVAL: MSGBEL: MSGABY: .ASCIZ .ASCJZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ /XNXAMIN=XDSXAQ. US/ /INXAMAX=XDSXA0. US/ /XNXAAVG=/ /XDSXAQ. US/ /%A~ XD4XA. BELOW THE MINIMUM OF /XA XD4XA. ABOVE THE MAXIMUM 0f MSGNUM: .ASCIZ ADR JEXIT /XDSXA. SEEKS TIMEDIN/ %D5%A0. USIN/ %DSXA0. USIN/ MSGSEA: .ASCIZ /XD5XA. SEARCHES TIMEDIN/ MSGOPE:: .ASCIZ 7XD5YA. OPERATIONS TIMEDIN/ MSGNON: .ASCIZ /%A NOT TIMEDYN/ .EVEN sSUBR TO CHECK IF COMPLETE SPECS ON SEEKS SHOULD BE TYPED s1F THE AVERAGE SEEK TIME IS ABOVE SPEC, THEN TYPE ABOVE AND BELOW VALUES sELSE, DO NOT TYPE THEM J$SFLG IS SET TO INDICATE TYPE THEM — el &H o 017542 WAV S ONONON = PN NNV OO WOO=O O = NI =2 NN NN =2 SO NO OO NN [elelelelelelelelolelele L Jo OOMNOONOO == =0MNO 476 ~ NN NNNNNSN NN VAV WIS N - b b b oD D el D ) e e dd o [elelelelalelelelolelnlele e ) b D b wd wd cd e wndh = amd b b cud e et s e =t =2 D OOOOOOOOOO N A WN = OO0 NOMAB W00 98 002114 CHKTIM: CLR (MPB S$ 9 ..L$TESY MOV 10(R&4) ,=(SP) BNE MOV MOV JSR 12(R&) ,=(SP) ¢PUSH HIGH DIVIDEND 14(R4) ,=-(5P) ROL PC,$D1V (SP) BLT 1% 2%: 3%: BLE INC RTS 3¢ $$FLG PC $$FLG: .WORD O cMP 1%: 017542 2% JINIT FLAG sTEST 9, AVERAGE SEEK TIMING ? SEXIT IF NOT INC (MP (SP)+,14(R4G) (SP) (SP)+,R2 ;PUSH LOW DJVIDEND OF TOTAL TIME OF ALL SEEKS sPUSH DIVISOR = NUMBER OF sCALCULATE AVERAGE SEEKS TIMED :REM/2 ¢1S REM OVER HALF? sNO, SKIP NEXT <YES, ROUND UP AVG TIME s0UT OF SPEC? JEXIT IF NOT sSET FLAG TO REPORT ALL DATA ¢TYPE ALL SPECS FLAG CZRJLAQ RPO7 FCTNL TEST MACRO v0&4.00 1-JAN-83 11:06:45 PAGE GLOBAL SUBROUTINES SECT 10N 1 3 *NOTE: THIS ROUTINE DESTROYS R1<R : : JSR RETURN CALL 5 ? 004737 113701 062701 011610 011672 177700 RANADR: JSR MOVB BIC }% 020137 17 017572 18 017574 19 017576 000241 006001 063701 22 0176064 020137 3? 017602 23 017610 24 017612 25 017616 26 017620 27 017622 28 017624 29 017626 003407 163701 000766 002011 013702 010203 160102 000241 006002 002222 1%: 002220 002220 010301 0007664 33 017634 3, 017640 110137 113701 002220 2%: 002222 042701 020137 42 017662 000241 46 017676 47 01770. 48 017702 49 017706 50 017710 51 017712 52 017714 53 017716 54 017720 cLe ROR ADD R1 FS,R1 CMP BGE MOV MOV SuB cLe ROR MOV BR 002630 011673 3% 177740 MOVB MOVB BIC 003407 163701 006001 063701 000766 020137 002011 013702 010203 160102 002214 48: 002212 002212 002212 5: 002214 28 FS,R1 *REDUCE SIZE TO <= 63 sWHILE Ri>LS DO R1=FS+(R1=FS)/2 1% R1,FS 3$ LS,.R2 R2.R3 R1,R2 sWHILE R1<FS DO R1=LS=(LS=R1)/2 R2 RZ,R3 R3.R1 2% R1,DTADPB+10 $RP1+1. R1 0177740, R BGE MOV 63 LT.R2 CMP 6%: R1,FT :SET RANDOM SECTOR IN DPB *FORM TRACK IN R1 *REDUCE SIZE TO <= 31 SWHILE RI>LT DO RI=FT+(R1=FT)/2 SWAILE RICFT DO R1=LT=(LT-R1)/2 R2.R3 R1,R2 ROR SUB MOV R2 R2.R3 R3.R1 MOVB R1,DTADPB+11 B8R 002631 5 F1,.R1 R1 F1,R1 43 (Le 006002 160203 010301 R1,LT ROR ADD BR MOV SUB 000241 110137 CMP BLE SUB cLe 22 017722 000764 57 0177264 #177%00,R1 :GENERATE A RANDOM NUMBER SFORM SECTOR IN R ;BINARY SEARCH FOR FT<=R1<=LT 39 017650 43 017664 44 017666 45 017672 PC,RAND $RP1,R1 R1,LS SUB gg 40 0176564 41 017656 R4, RANADR CMP BLE SUB BR 160203 30 017630 g; 017632 gg 017646 AND SECTOR ;BINARY SEARCH FOR FS<=R1<=LS 16 017560 15 017564 16 017566 TRACK, *ADDRESSES AND SAVES THEN IN THE g (pfapPB+10,11 § DTADPB+12). 4 }? 017556 SEQ 0076 :THIS ROUTINE GENERATES RANDOM (LI o 2 8 017544 9 017550 32 5 :SET RANDOM TRACK IN DPB 0 0 0 — N~ mm N []7,] JSR —b ad 017730 017734 017740 SeEaQ 0077 = O NOLN B NNN OOW CZRJILAO RPO7 F(Y N GLOBAL SUBROUTIN t MOV BIC PC,R AND R1 0176 600,R1 $RP1 SREDUC 020020 020024 COOSHrOOW Ot =t b N = » NN S PONR =N OO0~ [ol=] O oo ON OWRrOWND NYNONINDS - o QOOHLOOC 020016 OO =200=20000 O—=0O0OO0ORr—=—=0N o OOCOOOW VO ~ WNION =NIND = o b D ~n b o -~ NN |4 ~ o~ No b d D D [ol{=l=loBNlolelelolole] NNSNSNNNN :BINARY SEARCH FOR FC<=R1<=L( 002206 7%: 00220¢ g;.Lc sWHILE RI>LC DO RI1=FC+(R1=F(C)/2 FC,R1 ROR ADD 002204 002204 (MP BLE SuB cLe B8R 8%: 00220¢ (MP BGE gl,FC SWHILE RI1<FC DO R1=L(C=(LC=R1)/?2 R1,DTADPB+1?2 :SAVE CYLINDLR ADDRESS MOV MOV SuB CLC ROR SuB MOV BR 002632 9%: Mov RTS R& ; RETURN CIRJLAQ RPO7 FCTNL TEST MACRO V04.00 1-JAN=-83 11:06:45 PAGE 33 RPO7 DRIVER .SBTTL RPO7 DRIVER :STORAGE FOR RPDS, RPERT, RPERZ2, AND RPER3 X TX XE XD ittt 33 bbbttt 333> bbb D) ][elelalelalelels SEQ 0078 CIRJLAQ RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 33-1 8 7 SEQ 0079 RPO7 DRIVER 61 ;:DPINT=0 IF gg :DPINT<O IF INITIALUZATION IS IN PROGRESS 64 020156 65 020157 66 020160 67 020161 68 020162 69 020162 000 000 000 000 000 000 z; 020165 000 70 020164 DPINT: 000 { 73 000 000 000 ;ORIVE 7 § :DRIVE 6 PENDING DUAL PORT REQUESTS THAT A DUAL PORT REQUEST IS NOT PENDING FOR THAT DRIVE .BYTE BYTE BYTE BYTE BYTE BYTE BYTE BYTE 0 0 0 :DRIVE 0 :DRIVE 1 :DRIVE 2 0 0 0 0 0 ;DRIVE :DRIVE :DRIVE :DRIVE :DRIVE 3 & § 6 7 2"DPB'* OF THE 1/0 OPERATION. 00" .00 TRNSWT: .WORD O :SEARCH WAIT KEYS (SRCHWT=1 WORD) ;THIS IS A ONE WORD QUEUE THAT WILL CONTAIN A KEY FOR EACH OF STHE DRIVES THAT ARE PERFORMING A SEARCH COMMAND FOR THE 1/0 SREQUEST THAT IS AT THE TOP OF THEiR REQUEST QUEUE. SEACH DRIVE 1S ASSIGNED ONE BIT, STARTING AT BITO0 FOR DRIVE 0. 000000 100 101 SRCHWT: .WORD O ;RP0O7 DRIVER ACTIVE FLAG (ACTDRvV=1 BYTE) ;ACTDRV=0 IF DRIVER [S INACTIVE }85 SACTIDRV>0 IF DRIVER 1S ACTIVE 000 106 107 ACTDRV: .BYTE 0 ;SOFTWARE TIMER ROUTINE ACTIVE FLAG (ACTSTR=1 BYTE) ACTSTR=0 IF SOFTWARE TIMER ROUTINE IS INACTIVE }83 ACTSIR)O IF SOFTWARE TIMER ROUTINE IS ACTIVE 000 112 113 }}2 116 020206 117 020206 0 & ;TRANSFER WAIT FLAG (TRNSWT= 1 WORD) THIS IS A ONE WORD QUEUE. IT WILL CONTAIN THE ADDRESS OF 39 }}? 020203 DPRQS: 000 000 000 000 0u0 92 93 94 95 }8§ 020202 B8YIL 0 0 1 % :DPRQS<O IF THAT A DUAL PORT REQUEST IS PENDING FOR THAT DRIVE gg gg 020200 ;DRIVE ;DRIVE :DRIVE :DRIVE :DRIVE ;DRIVE :DPRQS=0 If 86 87 39 020176 0 0 0 0 0 0 BYTE ;g 80 020171 81 020172 82 020173 83 020174 gg 02¢179 .BYTE .BYTE BYTE BYIE BYTE .BYTE :TABLE OF 74 77 020166 78 020167 79 020170 INITIALIZATION IS NOT ACTIVE ON THE DRIVE ACTSTR: .BYTE O ;TIMEOUT TABLE (TIMER=8 WORDS) :THIS TABLE CONTAINS THE TIME ALLOWED FOR AN OPERATION 177777 177777 TIMER: .WORD .WORD -1 -1 ;ORIVE 0 :DRIVE 1 177777 .WORD 177777 177777 177777 177777 177777 .WORD LMWORD LWORD .WORD .WORD -1 =1 -} =1 -1 =1 c 7 ;:DRIVE § ;DRIVE ;DRIVE 4 ;DRIVE S ;DRIVE 6 sDRIVE 7 :DATA TRANSFER UNDERWAY INDICATOR (DTuUW=1 WORD) :DTUWCO IF NO DATA TRANSFER UNDERWAY :DTUW=+N (WHERE N=0 TO 7) IMPLIES DATA TRANSFER UKDIRWAY ON DRIVE N 177777 DTUW: LWORD =1 SEQ 0080 D 7 FCTIL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 33-2 SeEQ 0081 CIRJLAQ RPO7 FCTNL TEST MACRO v04.00 1-)AN-83 11:06:45 PAGE 34 NN 2OV NN SN — RPO7 DRIVER sRHXX/RPO? DRIVER sNOTE: THIS ROUTINE JSR PC,RPINIT ON CODE ERMINE WHICH RPO7 DRIVES ARE AND SET THE DRVSTA INDICATOR OR EACH DRIVE. LLS DRVINT b D b b JCALL RE TURN R PINIT: OO OO £ -0 NN NN NV 646 676 TRAP MOV CSGPRI RO,=(SP) 000240 MOV #PRI0S,RO 025176 JSR MOV PC,CLRQUE #RPSTUO,R1 sCLEAR ALL REQUEST QUEUES (R1)+ sCLEAR 1 $: O00O0 NN OOO00O bbb BN SO 2 | ¥R OONO OrRMNIN OO0 OB NES WSSO 010700 :: 10O BE CLEARED cmp 8LO MOV R1,R2 1% #DTUW,R2 ¢ARE WE DONE? tMP BLOS R1,R2 2% CLR MOV #=1,(R1)+ (LR DRVSTA (LR DRVSTA+4 MOV RPVEC+2,-(SP) MOV #3,=-(SP) TRAP LV, P 020136 sFIRST ADDRESS sLAST ADDRESS TO BE CLEARED MOV MOV $: ;CHANGE THE PRIORITY TO S #TIMER,R2 (LR 162306 C$SPRI CLOCK :SAVE THE PRESENT PROCESSOR STATUS MOV (LR OO00O0 NNOOO ONOO S O000 SN = HHEOO OO0 WWWAENONONONOOW S5O NNNNEANSNONN =N =~ =0 OO0O0O0O—000=200000=0 OOOOON==ONO==00 = VWA =2 ONINIWOVIRON 8 80 OCOOONDNNN—SONNN SN &~ WRINDESAJAINIIWN ~ NNNESENSNNN W ONOWE DS NO N ~ =SSN (=4 OO0 =20000 (=4 b i O D d e cd b [slelelelelololelole) ANININLNINLNONININONY 020412 TRAP :TURN ON THE DAVSTA+2 DRVSTA+6 CLRB DRVSTA(RY) MOV (SP)+ RO RIS <LOOP IF NO ¢SET ALL DRIVES TO OFFLINE ;SETUP RHXX/RPO7 VECTOR C‘SVEC #10,SP 'CLR aRP(S2 DRVNO R1 R‘.DRV[N1 4% 5% TRAP sLAST ADDRESS SINITIALIZE ;DONE? #ISRV,=-(SP) RPVEC,=(SP) ADD MOV MOV JSR BR BR JSR :BRANCH IF NO (SSPR] PC,RESREG PC ;DRIVE INITILIZATION ROUTINE INIT sGET SELE CTED gRlVE RIV INIT THE T :'DVA'NO _SET OR PARITY ERROR ;NORMAL R ETURN sMASSBUS O=Z O B OO O= —=O o OO 104441 ;SAVE RO - RS PC,ST.CLK 012600 004737 000207 PC,SAVREG JSR 000401 000402 105061 JSR —— b b b e ;NOTE: THE 'P' OR ‘L' CLOCK MUST BE STARTED D= OB W =OOVONOWNEB WA= ANWWNWANIWNWNWNWAND N PNNININONINON, INITVIALIZA ;THIS ROUTINE WILL D sAVAILABLE FOR TESTI] : 7O THE PROPER STATE sSET DRIVE STATUS TO OF FLINE ;RESTORE THE PROCESSOR STATUS JRESTORE RO - RS ;BYE-BYE CIRJLAOD RPO7 FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 34-1 SEQ 0082 RPO7 DRIVER 50 51 52 53 54 55 56 S7 58 59 s CALL : : : : & 62 020414 63 020416 64 0204264 65 020426 66 020434 67 020436 68 020442 69 020446 010546 112761 006301 012761 006201 105061 105061 010177 177777 020156 003720 020204 020136 020146 162216 70 71 7¢ 73 020452 0206460 020466 020470 76 77 78 79 020476 020502 020510 020512 001004 105761 g; 020520 000501 83 020522 84 0205¢¢ 85 020530 86 020532 87 020534 88 020542 89 020546 90 020550 91 020554 92 020556 93 020564 94 020570 95 020572 96 020576 97 020600 gg 020606 004437 20026 u20726 012605 112761 022705 001420 022705 001415 112761 022705 001407 022705 001404 112761 000446 024254 100 101 102 103 106 105 012746 004437 000000 020726 012746 006437 000121 024346 ;g 020474 80 020516 020610 020614 020620 020622 020624 020630 106 020634 112777 032777 001403 004737 : 000513 105061 032777 001347 000032 000111 010000 162290 162202 162150 MOVB 817 8EQ JSR 1%: 22%: 020146 024040 000004 0¢0042 020146 024042 177777 010000 024346 020146 2%: ;DRIVE NUMBER T0 R1 ;CALLED BY A JSR sERROR OCCURRED (PARITY) ¢NORPAL RETURN RS,=(SP) :SAVE RS :SET THE INITIAL FLAG :gooo..t MER(R1) sSET A 2 SECOND TIMER ) :DRIVE ADDRESS :;i.DPlNT R1) DRVSTA(R?Y) DRVTYP(R1) R1,3RPCS2 #111,3RPCS1 :START DRIVE STATUS AS OF FLINE :CLEAR_THE DRIVE TYPE INDICATOR :SELECT A DRIVE :DO A DRIVE CLEAR COMMAND (& SEIZE DRIVE) :ngiZ.GRPCS2 :N ONEXISTENT DRIVE? PC,SET.IE BR 6% CLRB BIT #81711,3RP(S1 BNE 10$ BNE TSTR 020156 000005 020040 #DRVNUM,R1 MOV R4 ,DRVINT JSR RE TURN RE TURN? DRVINT: MQV MovB ASL MOV ASR 108: CLRB CLRB MOV 024632 020136 006000 :THIS R QUTINE DETERMINES IF A ORIVE EXIST AND IF IT IS A 'R EAN=IN PRESET'' :AN RPO 7. IF IT IS, 1S ISSUED AND FMT16 :1S SET T0O A “1'". THEN M OL, DPR, DRY, AND VV ARE CHECKED 10 : INSURE THEY ARE ALL ON A 71", AND DEPENDING ON THEIR STATE, ;DRVSTA 1S SET T0 THME PR OPER CONDITION. DRVSTA(RY) 22% DPINT(R1) :NQ===BRANCH o 60 SET "'IE' WITHOUT A '‘TRE' :LEAVE THIS ROUTINE ;SET DRIVE STATUS TO OFFLINE SEE IF DRIVE AVAILABLE sBRANCH |F DVA SET ;SOFTWARE TIME OUT :BRANCH IF NOT B8R 6% sOTHERWISE EXIT JSR 26 8% MOV Move CMP BEOQ CMP 8EQ Movs CMP BEQ CMP BEQ MOVB BR R4 ,RD.RP sREAD THE DRIVE TYPE REG. #=1,DRVTYP(RY) :SEI‘INDlCA'OR TO "OTHER' MOV JSR 0 8% MOV JSR #121,-(SP) R4 ,WRT RP ;D0 A "READ-IN PRESET" #B1112,-(SP) JSET FMT16:1 32 :ERROR RETURN ADDRESS #26042 RS :PUT DRIVE TYPE IN RS :SET RPO7 INDICATOR :SINGLE PORT RPO7 :BR IF YES :DUAL PORT RPO?7 ;BR _[F YES sSET RPO7+ INDICATOR ;SINGLE PPRT RPQ7+ #24042,R5 :DUAL PORT RP(Q7+ (SP)+,RS #5,DRVTYP(R1) #20040,RS 2 #24040,RS 2% #4 DRVTYP(R1) 2% 2% 6% R4 ,WRT RP :BRANCH If SO ¢BRANCH [f SO —t e i i D ) el e i el i el ) —h b _‘—.d—l-._.d-‘—‘—‘—.—‘—‘—l—.—.—.-.—.-._-.-‘—l-‘—l.—l—.—.—‘—‘-—.—‘d_‘—‘.‘-‘&—. 3:27 FCINL TEST MACRO VO04.00 1-JAN-83 11:06:45 PAGE 34=2 020536 020640 020644 020646 020650 020652 0206564 020662 020666 020670 020672 020726 004437 000012 020726 012605 100015 116177 004437 000014 020726 006126 020674 100004 020676 112761 020704 000407 020706 020710 020714 020716 8%8;52 020726 020730 020736 020740 020744 020746 005105 042705 001003 112761 005724 006301 012761 006201 105061 012605 000204 8 JSR 12 8$ 024254 002736 024254 177777 162014 48: 167077 000001 020136 177777 020204 9:: 8$: 020156 :READ RPDS MOV 8PL MOVB JSR (SP)+,RS ;AND SAVE IT IN RS 4% *BRANCH [F ATA=0 ATABIT(R1),aRPAS ;CLEAR ATTENTION BIT R4 ,RD.RP FIND OUT WHY ATA=1 B8PL MOVB B8R /X3 #-1,DRVSTA(R1) 6% ASL MOV ASR CLRB MOV RTS R1 #-1,TIMER(RT) R1 DPINT(R1) 14 8$ ROL 020136 R4 ,RD.RP SEQ 0083 COM BIC BNE MOVB ST (SP)» J1s 17 unsnrsv :BR IF NO -SET UNSAFE INDICATOR CEXIT ‘CHECK MOL, DPR, DRY, AND VV #*C<BIT12'BIT08'BIT07'BIT06>,RS 6 :BRANCH IF MOL. DPR, DRY, OR vV IS CLEAR #1,DRVSTA(RY) :SET DRIVE STATUS TO ONLINE (RG) + :STEP OVER THE ERROR RETURN (SP)+,RS R& :WORD INDEX :STOP THE CLOCK :DRIVE ADDRESS :RESTORE RS CEXIT REQUEST PRE-PROCESSOR=HANDLES SUBSYSTEM REQUEST s CALL : : PNTADR : RE TURN2 : ; 020750 020750 020752 104440 010046 020754 020760 020762 020770 013700 104441 112737 004737 002646 020776 005062 021002 111201 021006 105761 000016 020136 020774 011402 021010 021012 003006 004437 021020 0210264 021026 105761 003436 021016 000421 021032 105761 001016 RPO7: 000001 010646 020202 1%: RPVEC+2,R0 ($SPRI #1,ACTDRYV PC. SAVREG CLR MOVB TSTB 16(R2) (R2),R1 DRVSTA(RY) B8R 43 BNE IF QUEUE IS FULL IF REQUEST $1S AN ERROR CONDITION MOV TRAP MOVB JSR 1STB *ADDRESS OF POINTER OF DRIVES PARAMETER BLOCK *RETURN HERE ($GPRI RO, =(SP) 1STB BLE ;CALL THE RPO7 DRIVER ‘RETURN HERE TRAP MOV BGT JSR 020136 R4 ,RPO7 RE TURN1 MOV 020414 020166 JSR IS IN QUEUE OR THERE :SAVE THE CALLING STATUS :DON'T ALLOW ANY RP07 INTERRUPTS , (R&) ,R2 sSET “ACTIVE DRIVER'' FLAG :SAVE RO - RS ‘PICKUP THE DRIVE PARAMETER BLOCK POINTER 1$ R4, DRVINT :BRANCH IF ONLINE ‘GO INIT. THE DRIVE SCLEAR THE STATUS/ERROR INDICATOR ‘PICKUP THE DRIVE NUMBER SCHECK DRIVES STATUS ‘58“?2 RE TURN DRVSTA(RY) 6% ;1S onnve srArus ONL INE? N ‘BR IF 5¢ ‘BR 1F VES DPRQS(R1) .outsvnuoxnc PORT REQUEST FOR THE DRIVE ? (ZRJLAQ RPO7 FCTINL TEST MACRO v04.00 1-JAN=B3 11:06:45 PAGE 34-3 SEQ 0084 RPO7 DRIVER 162 021034 163 021040 010177 004437 161630 025300 166 167 168 169 170 171 021046 021052 021056 021060 021062 021062 105761 001043 004737 000440 020126 004737 022364 3%: (% 1746 021070 004437 025300 5%: 177 178 179 180 021076 021104 021112 021114 012777 032777 001023 004737 000000 000100 183 021122 186 021126 105761 002412 020136 }gg 021152 000403 }gg 021064 };% 021066 };g 021074 }g} 021120 185 021130 186 021136 187 021142 188 021144 000452 000435 000436 000420 2$: 021212 161612 161546 (024632 6%: 006016 100002 000016 021154 021162 021166 021170 012762 004737 005724 000402 110000 010790 000016 196 021176 005724 197 021200 198 199 021204 021206 38? 021210 004737 010700 105037 020202 ;SELECT THE DRIVE ;PUT THIS REQUEST T$18 BNE JSR BR DRVACT(RY) 13 PC,OPT 8% ;1S THIS DRIVE ACTIVE? ;BR IF YES :CALL THE OPTIMIZER JSR PC.CI7 ;G0 HANDLE JSR R4 ,DRVQUE ;PUT REQUEST MOV BIT BNE JSR #0,3RPCC #BI1T06,3RPCSYT 8$ PC,SET.IE sWRITE THE CURRENT (YL REG ;IE BIT SET ? sYES :SET THE INTERRUPT TSTB BLT DRVSTA(RY) 7% :SEE IF DRIVE OFFLINE OR UNSAFE :BR IF UNSAFE B8R 8% :G0 10 EXIT BR BR BR 140000 020146 195 021172 R1,3RP(S2 R4 ,DRVQUE BR 012762 105761 001007 012762 191 192 193 194 MOV JSR MOV 1S18 BNE MoV 7%: 8$: 9% : 10%: 012600 104441 000204 9$ 8% 9% 8$ :QUEUE 1S FULL :RETURN #BIT15'BIT14,16(R2) ;SET OFFLINE ERROR INDICATOR DRVIYP(R1) ;SEE IF OFFLINE OR NONEX]STENT 8% :BR IF OFFLINE #BI1T15'BIT01,16(R2) ;REPORT DRIVE NONEXISTENT #BITIS!'BIT12,16(R2) ;DRIVE IS UNSAFE PC,RESREG sRESTORE RO - RS (RG) ¢ ;SETUP FOR NORMAL RETURN 10% SFINISH UP, THEN EXIT TST (RG) ¢ JSR PC,RESREG *RESTORE RO - RS CLRB ACTDRY ;CLEAR “"ACTIVE DRIVER' MOV (SP)+,RO ($SPR] R4 :CORRECT THE RETM_-n ADDRESS ;RESTORE PRIORITY 204 ;s CALL 021220 010046 010646 146137 002734 212 021234 004737 025354 21¢ 021242 215 021244 001472 010177 210 021222 211 021230 213 021240 105061 005702 020166 161420 216 021250 012777 000111 020200 : : MOV JSR #DRVNUM,R1 PC,OPT :DRIVE NUMBER T0 R1 ;SETUP A COMMAND OPT: JSR TRAP P(,SAVREG C$GPRI :SAVE RO - RS MOV RQO,-{(SP) CLRB DPROS(R1) BI(B JSR 151 161402 BEQ MOV MOV ATABIT(R1),SRCHWT PC,GE TREQ R2 7% R1,aRPCS2 #1§1,3RP(SY FLAG ;RETURN TO CALLER :OPTIMIZER=-CALLED FOR A PARTICULAR DRIVE 004737 104440 IN QUEUE ;QUEUE IS FuLL Sg% 208 021212 209 021216 THE PARITY ERRCk MOV JSR 187 BR TRAP RTS 205 589 IN QUEUE :CLEAR LA SEACH FLAG ;RESET THE PORT REQ FLAG sves ;GET *'DPB’* POINTER OF REQUEST ;1S THERE A REQUEST IN QUEUE? :NO==BRANCH T0 EX]IT :LOAD THE DRIVE ADDRESS stesnes :CLEAR THE DRIVE OB DO LSLNT. ST VY, N1, ST, ST N1, V1. N1, VT N1, ST, ST N1 N1, ST, ST N1 VT N1 N1 NI,V B NN N NN N U N NN NI RO RO RO RO RO RO NON) = — — OOV NV WA 2O OO NN NN 2OV ~N 0 7 FCINL TESY MACRO v04.00 1=JAN=83 11:06:45 PAGE R 1256 12646 1266 1272 1276 1300 1306 1312 1314 1322 1326 032777 001443 105761 003014 004737 012762 105761 000400 161406 020136 025376 108: 140000 020136 000016 012762 110600 002016 122762 000150 000002 122762 001403 000135 000002 100056 000450 1%: 1344 004737 021754 352 356 360 366 005737 002003 004737 000427 020224 28: 021456 3¢: 366 004737 021(42 4 1374 021402 021404 112761 010103 006303 177777 020166 1336 1342 1350 1770 000435 000624 021406 012763 047040 020204 1426 430 436 0 1644 14646 004737 032777 001002 004737 022364 000100 161222 021414 021422 16466 1450 1456 012777 000402 000090 024632 012600 1064461 004737 000207 010700 161274 6%: 7%: 8%: SEQ 0085 MOV TSTB 081115‘81114,16(§2) <SET OFFLINE STATUS/ERRCR INDICATOR DRVSTA(RY) ;1S DRIVE UNSAFE ? 5 DRVSTA(R1) 1% P(,POPQUE :DPR SET ? 210 PROT REQUEST ,If NOT *1S DRIVE ONLINE?’ SYES==BRAN(H -NO--REMOVE REQUEST FROM QUEUE 8s ‘BR TO EXIT 8s :BRANCH TO EXIT (mP8 #150,2(R2) :1S THE REQUEST FOR [/0? (MPB B8EQ #135,2(R2) 2% ;1S THE DIAGNOSTIC (OMMAND ? ;BRANCH ]F SO 8R 8s ST BGE JSR BR DTUW ‘8 PC,CIN 8$ :DATA TRANSFER UNDERWAY? SYES==GO START A SEAR(CH :START A DATA TRANSFER JSR PC,CI3 :START A SEAR(CH MOVB #=1,DPRGS(R1) ;SET PORT REQUEST MOV 020000..TIHER(R3) MOV #BITIS'BIT12,16(R2) BLT JSR 5%: 4 #B178,aRPDS BEQ 1S18 86T JSR BR 002407 I BIT BPL 1332 34-4 B8R MOV ASL MOV BR JSR BIT BNE JSR MOV TRAP JSR RTS pa 3 PC,C14 8s R1,R3 R3 #0,3RPC( 7% pr,Cl? #B{T06,aRPCST 8$ PC,SET.IE (SP)+ RO ($SPRI P(,RESREG o( IF NOT -SETY unsars STATUS/ERROR INDICATOR :YES==BRAN(H SCALL THE COMMAND INITIATOR SBRANCH TO EXIT 26O TO THE EXIT INDICATOR :SET UP TO ADDRESS WORDS :CONVERT TO WORD INDEX JSET A 20. SECOND TIMER :SET PORT REGUEST CEXIT PROCESS THE PAR]TY ERROR :SEE IF °*lE' ALREADY SET :BR_IF SET . SSET “IETM WITHOUT A *'TRE RESIORE PROC. STATUS :RESTORE RO - RS SEQ 0086 CIRJLAQ RPO7 FCINL TEST MACRO v04.00 1-JAN=-8B3 11:06:45 PAGE 35 RPO7 DRIVER [ TEIEIE KT ER ¥ 1611 000135 RP(S1,R4 R1,aRP(S? :2IAG,2(R2) 000002 4(R2),=(SP) #DMD, (SP) R4 ,WRT RP 024346 022364 1%: 100000 sWRITE THE RPMR1 REG sLOAL sLOAD sLOAD ;CALL ADDRESS WORD COUNT BUFFER ADDRESS SECTOR AND TRA(K THE LOAC(WRITE) ROUTINE : INDEX OF REGISTER TO LOAD sRETURN HERE ON ERROR sRETURN HERE ON ERROR sLOAD CYLINDER ADDRESS sMAINTENANCE MODE FLAG BIT :BRANCH [F NOT ;SET DMD BIT IN RPMR SETV R1,DTUW sSET “'DATA TRANSFER UNDERWAY'' MOV RPCS1,RG R1,aRP(S2 12(R2),=(SP!} RP R4G,WRT ;RPCS1 % ==] V< #BIT15,(R2) W22 OO O oNoRO SO0 PARAMETERS [ Yo O RXRANLCDAADD O s N M XO— VN DNDO o<~ 024346 OO=—O LHANWNNIN) = = OV S — d d el il corororOrONO — il ol il ad b oo OO PRV olelololele Nelelelole o RT NUMBER, $SET THE GIAGNOSTIC MODE BIT ;DESIRED WORD COUNT (R3)+, (R4)* (R3)+.=(SP) (13: THE 7 sRPYC (R3)+,=(SP) R4, WRT RP J266 6101 000 2434 :GET COMMAND NOT 8L R #2 R4 R4 . WRT.RP 2 022 4 230 :BRANCH v ;sRETURN HERE ON ERROR ;LOAD THE (OMMAND AND EXIT (RE)+ (RG)+ 2%: T 0 2% 024346 024346 3 REQUEST FROM ‘'DRIVES WAIT"’ QUEUE IN ;SAggfffl WAIT QUEUE E S D 3ES PC,POPQUE R2, TRNSWT 100000 000002 TRANSFER OT DATA TRANSFER R2,R3 100000 NOPURUMNONLND PC,C1? EARCH REQUESTED BY DATA XFER 000004 000004 000002 UHBER S S Of C 11, CIS OR Clé #DRVNUM,R1 #0PB,R? ATA 02 660 026346 646 H21 JSR () OO 25 376 20 176 MOV MOV o ad il o o D o e i D e D oD e D i ) i e i i D e e e d — o[elelelel lololalelel o OV SO =50 o BRSO WOO R N = NNIRUN o NNVO LIV] =2 2O NOO W S~ OO =PI NES NN WAVIVWAURAVIWVNA S &0 WNNONON P QOONNOONWN elP do¥YolcJoP Yol [N VAV NV ~ NNOOOWNNWNE S LW I NTate WotelePl Nlc IS o (M=t B NINININLIRNVNINININLNI NNV NMNNINLMNLNNLNLRNLNININIMNOND 27 [e]eololelolelolelelololelele B elolelelolalelolololele ol NS WA 2OV NP VNN 2O 000 NN SN TCALL e DN ~ :COMMAND INITIATOR 1z 2% =(SP) #B1T15,(SP) R4 ,WRT ,RP 2(R2),=(5P) R4 ,WRT ,RP 1 ? :SET DMD BIT ONLY THE REST BITS MUST Bt 0 :WRITE TO RPMR sRETURN HERE ON ERROR ;LOAD ‘‘COMMAND+GO'', "‘A178A16'°, AND "'PSEL"’ ;sRETURN HERE cSELECT ;DESIRED ON ERROR ADDRES S DRIVE CYLINDER ADDRESS :RETURN HERE ON ERROR CZPJLAQ RPO7 FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 35-1 J 7 SEQ 0087 RPO? DRIVER 58 021666 59 021670 60 021676 61 021700 62 021707 63 021710 64 $21712 016246 004437 000006 022364 032762 001407 005046 000010 024346 66 021720 67 021724 68 021726 004437 000024 022364 024346 71 021736 72 021740 73 021742 012746 004437 000000 022364 000131 024346 65 021714 69 021730 70 021730 764 021746 052716 100000 75 021752 000552 002736 77 021754 78 021760 7G 021764 80 02177¢ 81 021774 82 021776 83 022002 013704 010177 116203 122703 001007 016246 004437 002660 160704 000002 000131 85 022010 86 022012 022364 000403 88 022014 89 022020 90 022022 122703 001007 016246 92 022032 93 022034 9 022036 000034 022364 000531 91 022026 96 022040 97 022044 98 022046 99 022052 100 022054 101 522056 102 022062 103 022066 104 022070 105 022072 107 022074 108 109 110 111 112 113 022100 022102 022106 022110 022114 022116 114 022122 000006 004437 122703 001013 004437 000032 022364 116216 004437 000032 022364 000000 100000 156137 84 022006 MOV JSR 6 cI? BIT BEQ (LR BIS 1$: 020200 Cl4: 000010 024346 13 000012 28: 000115 38: 024254 000001 024346 000513 122703 000107 001510 122703 001505 122703 001014 004437 000032 48: 000117 000147 026254 5% #BIT1I5,0(R2) 1% =(SP) #BIT1S,(SP) R&,WRT.RP ;TME SECTOR AND TRACK ADDRESS *LOAD DESIRED TRACK & SECTOR ;RETURN HERE ON ERROR :MAINTENANCE MODE ? :BRANCH IF NOT ;SET DMD BIT ONLY,IHE REST BITS MUST BE 0 ;RETURN HERE ON ERROR MOV JSR 0 17 WSEARCH,=(SP) R&,WRT,.RP BR C1s ;START A SEARCH ;RETURN HERE ON_ERROR B81S8 AYAB”(RH,SR(HUT MOV MOV MOVB (MPB BNE MOV JSR RPCS1,Ré R1,aRP(S2 2(R2),R3 WSEARCH,R3 1% 10(R2),=(SP) R&,WRT.RP 17 BR 28 ;RETURN HERE ON ERROR G0 LOAD CYLINDER (MPB BNE MOV WSEEK,R3 3% 12(R2),=(SP) ;1S 1T A SEEK COMMAND :BRANCH IF NO :LOAD DESIRED CYLINDER 3 Y BR ce 6 000195 024346 JSR 24 c17 10(R2),=(SP) R4, WRT.RP JSR (MPB BNE JSR 32 c17 MOVB JSR 32 c17 R&,WRT.RP WOFFSET,R3 48 R4,RD.RP 1(R2),(SP) R&,WRT.RP BR c16 (MPB WRECAL,R3 BEQ (MPB BEQ (MPB BNE JSR 32 Cl6 #RTC,R3 (16 #SETFOPM,R3 68 R4,RD.RP ;sSET "'SEARCH WAIT'' KEY ;RPFS1_ADDRESS “SELECT DRIVE SPICKUP THE REQUESTED COMMAND 1S 1T A SEARCH LOMMAND? “BRANCH IF NO :LOAD DESIRED TRACK & SECTOR ;RETURN HERE ON ERROR ;1S IT AN "'OFFSET'* REGISTER CHANGE (OMMAND ? :BR_IF NO :MERGE THE OFFSET VALLZ INTO RPOF :BUT DON'T CHANGE THE JPPER RETURN HERE ON ERROR “BYTE WHEN LOADING THE :REGISTER (RPOF) ;RETURN HERE ON ERROR 60 START THE COMMAND ;1S 1T A “RECALIBRATE'' COMMAND? :BRANCH IF YES 1S 1T A RETURN TO CENTER? BRANCH IF YES 3 :IS IT A "'SET FORMAT'* COMMAND? :BRANCH IF NO READ THE OFFSET REGISTER 001023 016203 PORNLNVRUNIROAUPOUAUND M D DO OO PNV POROND 152 154 60 €& 116237 116205 PONONUNDNLNINUND . FUNUAUNONVRLNY 000032 022364 000445 22 26 30 36 RN O0000O0O000O0 72 76 00 02 04 10 12 20 116266 004437 122703 004437 000000 022364 012623 023705 001423 062737 000764 122703 001007 012746 004437 000024 40 42 44 022364 000405 46 010346 50 54 56 60 64 004437 000000 022364 004737 052762 NN NN 006737 000207 006301 012761 006201 112761 000207 PONNLNLNLNLMNLNLNLNLMNINY 72 76 300 302 310 312 320 032762 001407 005046 052716 004437 000024 022364 010346 004437 000000 022364 000746 olalelelelolelololelele) NONLNLNLNLNVNLNLNLNLND N DO <« O0O0000 146 OO0 140 142 144 O0O0O0O0O00 — - OOVONRIAN 022364 126 136 OO0C0O0000O0 NOWVMAWN = OV~ NO WS WN 2OV NN 2OV NN —=2OV WA =200V NOWNE W N NNV NNOOOCOOOOOO O 126 OOO000 O D s s = = B e D ad el s D ) D e d D d i e N ARIN NI RN NNV RNV S S5 85 BN 85 05 85 85 55 BN Ui WA N NN _.-‘-.—.-—.—l—‘-—.—.—l—.—‘d—l-—‘_.-‘—l—h-.—b-‘-‘—l—‘_l—.-._.—l_._‘—l—a—‘-—l—h—.—l—.-—b 7 FCTINL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 322 330 332 33, 340 344 366 350 352 356 360 362 000001 026346 17 000001 MOVB ign (17 000141 6$: 000006 000010 000011 7%: 022176 024254 8% : 9%: 000002 022176 000145 10%: 100000 11$: 024346 025376 000200 024472 000016 001750 020204 000001 020126 100000 000000 12%: 13%: €15: #GETREG,R3 108 6(R2),R3 MOVB MOVB 10(R2),9% 11(R2).RS JSR 17 Clé6: (SP)+, (R3) + ON ERROR sRETURN HERE ON ERROR ;COMBINE "'FMT16',"'ECI'', AND '‘HCI'' IS S IT A "'GET REGISTER'' COMMAND? 3 BR A NCH PO I NTS [F NO TO 1ST ADDRESS OF wr'ERE 10 PUT THE REGISTER(S) IN éT. THE INDEX FOR THE FIRST REG. IN EX OF LAST REG. TO MOVE RE A D RHXX/RP0O7 REGISTER IN DEX OF REG. sRETURN HERE ;GET THE CONTENTS OF RHXX//RPO7 REG. ;LAST REG. BEEN RFAD? CMPB BNE SMAINT ,R3 11¢ :BRANCH [F NOT 52R R4 ,WRT.RP sWRITE #OMD, - (SP) €17 BR 12% MOV R3,=(SP) 5SR R4 .WRT.RP 17 JSR BIS JSR PC,POPQUE #81107,16(R2) PC,SVRHXX ASL R1 RTS 22: PC :}000..TIHER(R1) TO READ ON ERROR 9% ,RS 12¢ #2,9% 8% <GET OUT IF YES : INCREASE THE INDEX BY 2 :LOOP=-=MORE TO READ ;IS IT A “'SELECT MAINTENANCE'' COMMAND? sSET DIAGNOSTIC MODE COMMAND THE MAINTENANCE REGISTER ¢RETURN HERE JEXIT ON ERROR :LOAD THE COMMAND ;INDEX OF REG. TO WRITE :RETURN HERE ON ERROR :REMOVE REQ. FROM GUEUE -SET THE ''DONE’’ BIT :YES==GO SAVE THE REGISTERS ‘RETURN TO USER sSET A ONE SECOND TIMER RTS PC #1,DRVACT(R1) sSET THE DRIVE ACTIVE ¢sRETURN TO THE USER g8IT BEQ (LR #BIT15,0(R?) 1$ -(SP) sMAINTENANCE MODE BIS ggn 1$: R4 ,RD.RP sRETURN HMERE CMP BEQ ADD BR MOVB 100000 024346 024346 (MPB BNE MOV MOV 024346 R, WRT.RP 12% MOV 022176 1(R2),1(SP) B8R 0 Sea 0088 35-2 c17 MOV #BIT15,(SP) R4 ,WRT.RP R3,=(SP) 6SR R4 . WRT.RP 17 BR €15 :BRANCH [F NOT ? *SET DMD BIT ONLY PTHE REST BITS MUST BE 0 sRETURN HERE ON ERROR :LOAD THE COMMAND ;INDEX OF REG. TO WRITE sRETURN HERE ON ERROR O W NNVON OO0 NRON—N o000 —000 OOoOow -— e D \) NN OO0O 20166 NO ) b NN 20126 20176 -0 20176 e Mov #BITI5!BITIT,16( R2) PC MOV #111,-(SP) RP R4 ,WRT CLRB CLRB (MP BNE (LR MOV RTS 025354 BEQ JSR 010000 8EQ BIT TST BEQ MOY BR NN ON O NO OV S NNN OoOONONN O= =0 OO0O0—= NHNO 100002 020224 2% RTS 1578 BNE 1578 BEQ MoV cmp (0166 NN NO SO0 NO R2 JSR CLR CLR 020126 NNV S NN NN NN -y 020224 PC,EMPTYQ DPRAS(R1) DRVACT(R1) R2, TRNSWT 1% TRNSWT #-1,DTUW PC PC,SAVREG R1 R3 DRVACT(R1) 22% DPRQAS(R1) 5% TRNSWT ,R2 R1,DTUW 2% PC,GETREQ R2 4% §§1112.anpc52 I3 160024 ? SBRANCH IF QUEUE IS THMERE *OTHERWISE EX]T <SET "PARITY'* ERROR INDICATOR ;DO A 'DRIVE CLEAR' sRETURN HERE ON ERROR JEMPTY THE QUEUE sCLEAR THE PORT REQUEST FLAG ;DRIVE IS IDLE s1F THIS DRIVE HAD AN 1/0 REQUEST :IN PROGRESS CLEAR ALL OF THE FLAGS ;:SAVE RO - RS :DRIVE ACTIVE? :BRANCH IF IN ACTIVE ;PORT REQUEST ;BRANCH IF NOT :GET THE °'‘TRANSFER WAIT'' QUEUE :DID THIS DRIVE HAVE AN [/0 IN PROGRESS? YES ;BRANCH IF :GET THE DPB POINTER :QUEUE ENTRY fOR DRIVE ? iBR IF NOT ; NED® SET ? BR IF NOT ¥BIT15'B1TO1,16(R 2) ;SET 'DRIVE NON-EXISTENT' s: CONTINUE INDICATOR :SET *'NON-CLEARABLE PARITY'' ERROR INDICATOR MOV MOV CLRB CLRB (Mp BNE MoV P THE TIMER “DRIVE ACTIVE'' TO IDLE AR PORT REQUEST FLAG THIS DRIVE SETUP FOR A TRANSFER IF NOT ET THE INDICATOR AR THE CLR INC TRANSFER QUEUE E TO THE NEXT DRIVE ADD 020224 ;ANYTHING IN QUEUE 157 BNE JSR 0 C18 JSR 25260 ONNNNN = N = NN N - 2 NN = W = W= N NN NWIN = YN O N0 NNOONIQOQONSONN ~ OWNWNOWORORWWNOWES ONWN—=OWMWNENO SN ON =N =WVE 2 OW=WN=SWNWNWNE BENESNSENNES=a2NSENON S &H &H oo ~ OCON—=OWOWONRCOOCOOW & W N (=) N o 000016 024346 020176 020224 SNNEWNMN—=RNNWNNN =2OWVWVION B NNONWNSNNNONO—OONN OVNHWWHWNIOOOWWOWOROOO O0O0O0O0O0O0O0OO0O=0O 2SO0 O—2OWOOOON-=000 [=l=] OO OO00O0O0==200000 O=0ONOOONOO— 010646 == O—=O0O0=0 SOOO—=ONOO OCOOCOOOOOOCOOOO—=200 - LSTeT e N NTe N To 4 8] 606 6 000111 oD B UWWWNIN = = =00 OO SOSNOMNOSO DD DE WWNIN =t OQONNNO OOV OO0 OOSTOONOIOONOONN WWVWAWVVAVVIVIAWRIWA BB VWAV ONNOOWVES oNOSOSNOO 6 6 104000 QOO = NN OO NANNAWN OP — b i D b b ad o b ond D D e ad e e D D d D ed D d OO OOV OO0 OO0 NNNNNNNN b AUNIRLALALALNLNL NLNIALNLRLNIALNVNIALALNININD PONINIAOAININININD b b b b bk b b et 2 O NN —=OO 00 NP NI NN = OV NRPANAD SEQ 0089 MACRO v04.00 1-JAN-83 11:06:45 PAGE 35-3 8IC BNE ;BRANCH IF MORE DRIVES CLR JSR sCLEAR THE °TRANSFER WAIT' QUEUE ;CLEAR ALL OF THE REQUEST QUEUES ;D0 A MASSBUS INIT, :NO DATA TRANSFERS UNDERWAY MOV MOV BR JSR CLRB PC,CLRQUE ’gLR.aRP(SZ s CONTINUE sCLEAG THE DRIVE'S QUEUE sSET DRIVE TO OFFLINE (ZRJLAQ RPO7 FCINL RPO7 DRIVER TEST MACRO V04.00 1-JAN-83 11:06:45 PAGE 7%: 35-4 M7 SEQ 0090 HE DRIVE W RO - RS Typ £ IND ICATOR REOO SEQ 0091 CIRJLAQ RPO7 FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 36 [ololalelololelolelolale] NNNNNNNNNNVO £ LANNMNIMNIN) = =2 OO N AV 1o NT0 NN To ¥ ol e Yo X N To T NP o [ASIASI ST ST NI N NT N[ N ST, U1 8} [pSTSTANT T NI NI N1 N1 01,01 61, ] s INTERRUPT SERVICE ROUTINE N PORNCPUNIPNUND) = et b b D b b e e b WNINAN = OO 00 N0 WHAN — RPO7 DRIVER 000001 002242 020202 ISRV: 010646 MOVB INC #1,ACTDRV ISRCNT MoV DTUW,R1 B8R 28 JSR CLRB PC.RESREG ACTDRY JSR 020224 BLT JSR 022744 023132 1%: 010700 020202 2%: L10012: 000002 JSR (Slaloleleloleleld SO =20 =00 OMPNIWVWNO NI ONNOW NONNINWND OQOOONNNNN~NN VIS NN = OV 177777 020224 177777 020204 000016 020176 020176 000200 157656 024254 1D: 000002 002734 025354 157626 023066 "ACTIVE DRIVER'® . FLAG ROUTINE TRNSWT ,RZ TRNSWT #B1T07,16(R2) R1,aRP(S2 R4,RD RP :GET ''DPB’* ADDRESS FROM THE BMI JSR :;1.oruu R1 (SP)+ 3% PC, SVRHXX gnga :135.2(n2) MOVB JSR PC,GETREQ 1ST BEQ JSR BR 2%: ggv 10C100 000016 38%: BIS 040111 157536 RZ 2% PC,OPT $C s TRANSFER WAIT QUEUE--CLEAR QUEULE s SET DONE JSELECT THE DRIVE ; TRANSFER ERROR(TRE=1)? sRETURN HERE :BR IF YES JYES=~SAVF ON ERROR THE REGISTERS :1E FROM DIAGNOSTIC COMMAND ? THE ATA BIT ;GET OPB POINTER SENTRY FOR DRIVE sBR IF NOT sCALL OPTIM]ZER ? sCHECK OTHER DRIVES #113,3RPCS1 sRELEASE THE DRIVE H: CHECK FOR OTHER DRIVE S #BIT15:B81T06,16(R2) :SET DATA ERROR F AG SC PC,EMPTYQ PC SVRHXX MOV #113,3RPCST BR :NO DATA TRANSFERS UNDERWAY sBRANCH [F NOT SRESET ATABIT(R1) ,aRPAS JSR JSR MOV 157530 *RESTORE RO = RS sCLEAR MOV CLR BIS MOV éSR 157564 000113 ;CALL SPECIAL CONDITIONS TRANSFER DONE ;CANCEL TIMEOUT 000113 025260 024472 PC,SC ;EQ%% #-1,TIMER(RY) ASR 021212 02306« :BRANCH [F NO DATA TRANSFER UNDERWAY MOV L 1$: 1% PC,TD sSET DRIVE ACTIVE INDICATOR TO IDLE €17 000135 :SAVE RO - RS :GET *'DATA TRANSFER UNDERWAY'' INDICATOR DRVACT(RY) (LRB ng ROL 026472 :COUNT [NTERRUPTS RT] ;TRANSFER DONE 020126 PC,SAVREG sSET "ACTIVE DRIVER' FLAG 260111, arPCSY SC ;EMPTY THE '"‘DRIVE'S WAIT'' QUEUE sSAVE THE RHXX/RPO7 REGISTERS :ISSUE A ''DRIVE CLEAR" s ISSUE A RELEASE TO THE DRIVE ;CHECK FOR OTHER DRIVES soonN b el el & & e\ ——d [e]elele LSL V1, N1,V NN LNAN ;SPECIAL CONDITION ROUTINE 157540 000000 024254 $C: MOVB BNE JSR 0 aRPAS,P3 2% R4 ,RD.RP ;READ ''RPAS'’ ;BRANCH [F ANY ‘ATA® BIIS SET sREAD CONTROL AND STATUS REGISTER 7 FCINL TEST MACRO v04.00 1=JAN=83 11:06:45 PAGE 36-1 1646 022452 15¢ 152 160 162 166 000240 000240 000240 004737 000207 150 152 170 172 174 200 202 204 206 210 212 214 558 005201 106303 SCh: 001373 005726 000207 cs 105761 003405 020136 004737 023530 105761 020136 L NN LN AN AN O0O00O0O0000 o0 NONLRLNLNLNININOND N NN N NN N AN N ANAN 300 302 306 306 310 314 316 320 322 326 330 33, 3,0 34,2 364 346 350 003011 004737 004737 004737 105761 001035 100421 006301 006301 006301 016105 006201 006201 6201 032705 001012 012746 004437 000000 023410 011605 000240 000240 020166 1s: 023614 020136 2%: 025354 024472 023530 020126 NN 00 354 356 000240 000240 NOP NOP NOP JSR RTS 5%: 6$: 020032 020000 000111 024346 7%: :RETURN HERE ON ERROR SIS TlET=1? *YES, NO DRIVES TO CHE(K :SET INTERRUPT ENABLE *RETURN *PROCESS ALL DRIVES THAT HAVE BIT R1 R3, (SP) SATA=1? INC ASLB RY R3 $C3 (SP)+ PC :BRANCH IF MORE TO CHE(CK? ‘CLEAN OFF THE §°,.(K ‘RETURN TO USER 1STB BEO BGT JSR DPRGS\R1) 2% $C13 DRVSTA(RY) 13 PC,GETREQ :PORT RFOUEST OUTSTANDING ? ‘BR IF NOT 'START THE OUTSTANDING COMMAND *CHECK THE DRIVE STATUS ‘BRANCH IF ONLINE SGET DPB POINTER ISTB BLE DRVSTA(R1) 6% :0ID DRIVE COME ONLINE? *NO---BRANCH CLR MOVB MOV CLR BNE BNE ST RTS JMP TSTB 1STB BNE R3,(SP) #1.R3 s¢§ PC . SVRHXX PC.SC12 JSR DRVACT(R1) SC6 PC,SC12 TSTB DRVSTA(R1) BM] ASL ASL ASL MOV ASR ASR ASR BIT BNE MOV JSR 0 S(8 MOV NOP NOP B8R 8$: (SP)e 1% PC,SET.IE PC -($P) JSR JSR 352 000715 [aS1 8] D o D s d b i d e e ol e sc3: 001005 000137 105761 1$: 28 000001 254 260 276 b e 005001 030316 024632 105761 001402 262 266 270 -t = OO0 O0O0000 BN —=O VBNV BWN=O 005046 110316 012703 ROLB BM] 220 2264 226 232 236 240 246 250 b c18 106126 100605 SEQ 0092 NOP NOP TAN TATA"=1 L YES==BRANCH ‘MOVE TO THE NEXT DRIVE *SAVE THE RHXX/RPO7 REGISTERS :SAVE RPDS, RPER1, RPER3, AND RPER2 SALSO DO A DRIVE INIT (DRVIND) ‘DRIVE ACTIVE WITH COMMAND OR ERROR RECOVERY ? ‘BR IF EITHER 1SAVE RPDS, RPER1, RPER3, AND RPER?2 *ALSO DO A DRVINT *CHECK ON DRIVE'S STATUS 7% ‘BR IF UNSAFE R1 R1 R1 RPSTUO+4(R1) ,RS R1 R1 R1 #B1T13,RS 8% #111,-(SP) R4 ,WRT.RP (SP),RS :ADDRESS PLUG CHANGED *BRANCH If SO ‘DRIVE CLEAR *WRITE THE COMMAND INTO RP(S1 TREGISTER INDEX ‘PARITY EXIT ADDRESS ‘PICKUP (RPAS) BEFORE THE ERROR CALL $C4 ;GO CHECK FOR MORE ATA'S CIRJLAO RPO7 FCTNL TEST MACRO V04.00 1-JAN=-83 11:06:45 PAGE 36-2 c 8 SEQ 0093 RPO7 DRIVER 1}2 023360 000712 117 023362 118 023364 119 023372 006301 012761 006201 122 023406 000137 120 023374 121 023400 123 023410 124 023414 125 023616 126 023622 }gg 023426 177777 ) 004737 010177 0253564 157264 105761 001405 020126 0253564 022364 004737 022400 133 023440 134 023444 105061 136137 020126 002736 136 023452 137 023456 001007 004737 139 023466 004737 }g? 023434 132 023440 135 138 023460 000137 052762 177777 020204 010177 006301 006301 006301 157134 153 023550 017761 157120 154 023556 155 023564 156 02757¢ 157 023574 158 023576 159 023500 160 02604 }g; 075606 020200 157176 020200 023530 023534 023536 023540 152 023542 $C11: 002734 002734 148 149 150 151 000137 1%: 28: 000016 023472 023500 023506 023510 023516 023520 :CHECK FOR MORE DRIVES ASL MOV ASR R1 #-1,TIMER(RT) R1 ;SETUP TO ADDRESS WORDS :STOP THE TIMER *RESTORE THE DRIVE ADDRESS scii ‘PROCESS JMP 1s: 021212 023206 017761 57124 020026 PC,CI78 CLRB B8ITB DRVACT(R1) :SZT DRIVE IDLE ATABIT(R1),SRCHWT ;DOING A SEARCH OPERATION FOR BNE JSR 2% PC,POPQUE :BRANCH IF YES ‘REMOVE REQUEST FROM QUEUE JSR PC, SVRAXX ‘YES--SAVE ALL OF THE RHXX/RP0? REG'S JMP MOVB BICB ASL MOV ASR JSR 017761 017761 006201 006201 006201 004437 000401 000207 157136 157132 020032 020034 $C4 #81707,16(R2) “GET DPB POINTER ‘PROCESS THE PARITY ERROR * CONTINUE ;PROCESS THE UNCORRECTABLE PARITY ERROR *CHECK MORE DRIVES ;AN [/0 COMMAND? :SET “'DONE'* BIT ATABIT(R1),aRPAS’ ;CLEAR ATTENTION BIT ATABIT(R1).SRCHWT ;CLEAR IMPLIED SEEK SET R1 ;WORD INDEX #-1,TIMER(RY) STOP CLOCK R1 *RESTORE R1 PC,OPT ;START A REQUEST *CHECK FOR MORE DRIVES MOV ASL ASL ASL R1,3RPCS2 R1 R1 R1 ;SELECT DRIVE MOV aRPERT,RPSTUO+2(R1) MOV MOV ASR ASR ASR JSR 8R RTS 020414 PC,GETREQ PC.CI7 28 ‘1S DRIVE IDLE? TYES=-BRANCH SCh MOV 020030 THE SEARCH JSR JFe $C12: ‘GET THE DPB POINTER FROM THE QUEUE ‘SELECT DRIVE DRVACT(R1) 1% BIS 28%: PC,GETREQ R1BRPCS2 TSTB BEQ JSR JSR BR 025376 000200 140 141 142 143 144 145 }29 023524 116177 146137 006301 012761 006201 004737 $C8: 023206 024472 SC6: $C& JSR MOV 023440 004737 004737 000402 129 023430 020204 BR aRPDS,RPSTUO(R1) aRPER2 .RPSTUO+4 (R1) aRPER3.RPSTUO+6(R1) R1 R1 R1 R4 ,DRVINT JINIT. THE STATE OF 1% *TAKE ERROR EXIT PC *RETURN THE DRIVE 163 023610 005726 1%: 153 B8R (SP)+ SC8 :CLEAR THE STACK :PROCESS THE PARITY ERROR 166 023614 }2; §C13:; ; ASL ggx R1 ;;1,xxnen(a1> ;SETUP TO ADDRESS WORDS ‘STOP THE TIMER MOV R1,3RPCS? “SELECT THE DRIVE }gg 023612 000676 169 023614 170 023620 171 023626 010177 116177 105761 157050 002734 020156 157050 1$: MOVB 1STB ATABIT(R1),aRPAS’ ;CLEAR THE ATTENTIOM BT DPINT(R1) SINITIALIZING THE DRIVE ? SEQ 0094 172 023632 173 023634 174 023640 175 023644 176 023646 177 023652 178 023654 179 023656 180 023660 181 023%64 182 023672 183 023676 001424 105061 004437 000240 105761 003014 005702 001423 004737 052762 004737 004737 186 023704 032777 }gg 023702 }gg 023712 000411 001003 020156 020414 020136 025354 140000 024472 025376 000400 000016 156760 189 024632 194 023722 004737 021212 }gg 023726 000402 000137 : ($: 023206 3%: 197 s CALL 199 : : 589 2G3 023736 204 023740 205 023746 206 023752 207 023754 208 023756 209 023762 210 023764 211 023772 212 023774 213 024000 214 024002 215 024004 216 024010 217 024012 218 024016 219 024022 BIT #8178,3RPDS Ege L :BR IF NOT ;CLEAR THE INIT INDICATOR ‘G0 INIT THE DRIVE ‘DUMMY PARITY ERROR RETURN DRVSTA(RY) ‘DRIVE ONLINE ? 2$ :BR IF YES == START ORDER R2 TQUEUE ENTRY FOR THE DRiVE 38 :BR_IF_NOT PC,GETREQ GET DPB ADDRESS #BIT15'BITI4, 16(R2) :INFORP USER THAT OR!Ivi OFFLINE PC,SVRHXX :SAVE THE REGISTERS PC,POPQUE SREMOVE THE QUEUE :? ;DVA SET ? :SET THEN CALL OPT MOV #60000.,TIMER(RY);SET A 60. BR 38 ASR JSR JSR JMP R1 PC,SET.IE PC,OPT $C4 SECOND TIMER ;START THE PENDING REQUEST *PROCESS OTHER DRIVES :/RPO7 TIMER ROUTINE 198 202 023732 2%: : 004737 }gg 023720 23 DFINT(RY) R4 ,DRVINT BR : 190 191 023714 BEQ (LRB JSR NOP 1518 BGT ST BEQ JSR BIS JSR JSR 005737 001031 112737 004737 005001 005003 005763 002406 166663 003002 004737 005201 005723 022701 003362 004737 105037 012616 559 02460264 000207 0202902 000001 010646 RPTMR: 020203 020204 000002 024026 1%: 020204 2%: 000010 010700 020203 3%: (%: MOV JSR TST BNE MOVB JSR CLR CLR TST BLT SUB BGT JSR INC ST CMP BGT JSR CLRB MOV RTS #TIME,-(SP) ;ELASPED TIME IN MILLISECONDS ON THi STA(CK P(,RPTMR ;CALL RPO7 TIME ROUTINE ACTDRV ;CHECK "'ACTDRV & ACTSIR" 43 #1,ACTSTR PC,SAVREG R1 R3 TIMER(RY) 2% 2(SP),TIMER(R3) 2% PC,STO R1 (R3)+ #8. .R1 1% ;1F _NON ZERQ EXIT SSET "'ACTSTR :SAVE RO - RS SSTART WITH DRIVE 0 ;1S THE TIMER RUNNING? :BRANCH IF NO ;COUNT THE INTERVAL :BR IF NO SOF TWARE TIMEOUT ;CALL SOF TWARE TIMEOUT ROUTINE *MOVE TO NEXT DRIVE :0UT OF DRIVES? ;BRANCH [F NO PC,RESREG ACTSTR *RESTORE RO = RS S2ERO ACTIVE SOF TWARE TIMEOUT ROUTINE FLAG PC *RETURN (SP)+, (SP) SADJUST THE STACK SS% :SOF TWARE TIMEOUT ROUTINE ceb sNOTE: THIS ROUTINE MUST BE ENTERED AT PRIORITY 6 228 : 225 226 227 : : ;CALL: OR GRFATER STO MOV #DRVNUM,R1 :DRIVE NUMBER e Yan ] CIRJLAQ RPO7 FCINL TEST MACRO Vv04.00 1-JAN-B3 11:06:45 PAGE 36-3 RPO7 DRIVER CIRJLAC RPO7 FCTYNL TEST MACRO v04.00 1-JAN=-83 11:06:45 PAGE 36-4 SEQ 009" NONINWN N = =2 OO O0O0O0OO—O—=OOO0O0O0O WVWOOO—-20O000O0OON—Ia N=WNESBN =N NOWOOO0O0 NENSNNONONES AN WA — OCOOWOR S WONNIWO S S —==000—=2000 NN NNNINNON=LNON P NI NN = = NN =NV Ot d b = OO~ OO0 —=20OVOOO~O0O0 =S OO0OOWVO OMNINININD IS SN =2 A S NNDOND =2 W S AU W orn VIO OO NNNENNONDS NS NNNNOO NOONNE OOOOOWNWIROOWOONONOWOO ONNWWONWNOWVN OHfONONORNSOITNSOSOND 024252 OOO0O0O0O0O0O0O00O 20000000 = 2 OO OO OOOOOOOOOO OO NN OIS I NN NONSNOSOONOSNOO o o [eleleloldlololalels) jelelelelelelcBielolololololeloloalalalalolale ol NINLNININAINININIAININININININD ol ol o F o ¥ o 22 22 2Rkl 2 AR D D 2l oo ~o NN [pS 1,8 [ NI NI, N1, ST STNT,81,81.¥1,8) Oo O VWA VNN = OV NONS W20 249 ; ~N ~n NONININNININININOND NININVAINDNLINY &H O X OB SR O P O S Y 3 (X S X X X o P L N NV A bbb b b s b b b b b ed N Prgirg 9 ONNOOCOWVWNE S NNNIN = 2 £ L5 55 25 N NN N N NININ AN WA =2 OO 00 NP NN = OO NININVNINUNIAI RN RO NN PO RPO7 DRIVER ; RETURN JSR PC.STO s CALL $T0: MOV MOV MOV R1,=(SP) R2.=(SP, R3.=(SP) :SAVE R1-R4 : : 020176 0202264 020166 177777 101000 020204 177777 020224 17777 025354 140000 024412 1%: 2% : TSTB BNE 1518 BNE DPINT(R1) 2$ DPRAS(R1) 3¢ .=(SP) : TRNSWT,R2 ‘PICKUP THE TRANSFER QUEUE 1$ ‘BRANCH IF SC :STOP THE TIMER #-1,TIMER(R3) :TRANSFER UNDER WAY ON THIS DRJVE :DRIVE INITIALIZE ? *BRANCH IF SO ;PROT REQUEST ? *8RANCH IF SO JSR PC,GETREQ BIS ¥BIT1S'BIT9,16(R2) ;TIME OUT OR LOST INTERRUPT B8R 5 CEXIT :ON HOUSE KEEPING COMMANDS PC, SVRHXX DRVACT(R1) TRNSWY ;READ ALL REGISTERS :DRRIVE SET TO IDLE ;CLEAR DATA TRANSFER QUEUE DPINT(R1) DRVSTA(R1) :CLEAR THE INITIALIZE SSET UNIT TO OFFLINE 2% SGET THE QUEUE :EXIT IF NONE BIS 081115!8179.16(R2) SSV g;1.oruu JSR CLRB (LR CLRB CLRB ;TIME OUT ON DATA TRANSFER ‘fik??" THE TRANSFER DRIVE # INDICATOR 020204 MOV #=1,TIMER(RY) STOP THE TIMER 18T R JANYTHING [N QUEUE 000016 BEQ gés 5¢ ‘BRANCH .F NOT g%lTlS!BlT14,16(R$iNi§uF£RM THE USER DRIVE NOT AVAJLABLE MOV CLRB #-1,TIMER(R3) DPRGS(RT) :STOP THE TIMER SCLEAR THE PORT REQUEST :GET DPB ADDRESS 177777, 020204 020166 025354 100004 R1,DTUW MOV 000016 000016 020156 020139 CMP égé 101000 024472 020126 020176 R BEQ 020156 025354 MOV MOV 000016 025260 JSR 3$: 4$: 5¢: } :GET THE DPB ADDRESS JSR 1ST BEQ PC,GETREQ R?2 5$ JANYTHING IN QUEUE ? JSR PC, SVRHXX ;READ ALL REGISTERS MOV MOV MOV (SP)+,R3 (SP)+.R2 (SP)+ R1 MOV JSR MOV RTS sROUTINE PC,GETREQ INDICATOR "BRANCH IF NONE #BIT15'BIT2,16(R2) ;INFORM USER OF PROT REQUEST TIMEQUT PC.EMPTYQ (SP)+,Rb PC :CANCTL ALL QUEUE REO ‘RESTORE R&4=-R1 SEXIT TO READ A RHXX/RPO7 REGISTER ] TCALL : : : JSR INDE X ERRADR : RE TURN : R4 ,RD.RP :GO READ A REGISTER ‘REG. INDEX FROM BASE :ERROR ADDRESS--PROCESS ERROR STARTING :AT THIS ADDRESS SCONTENTS OF REG. IS ON THE STACK < CIRJLAQ RPO7 FCTNL TEST MACRQC V04.00 1-JAN-83 11:06:45 PAGE 36-5 F 8 SEQ 0096 RPO7 DRIVER 286 287 024254 288 024254 011646 290 291 292 293 294 295 296 297 062416 017666 013716 062716 032776 001004 032777 001406 289 026256 024262 024264 024272 0246276 024302 024310 024312 024320 298 024322 299 024330 300 024332 301 0264334 302 0264336 303 024342 ggg 024344 013746 016566 022626 011404 (00403 062704 005726 : RD.RP: 002660 (SP) ,=(SP) ;SAVE Ré ADD MOV MOV ADD BIT BNE BIT BEQ (RG)e+,(SP) a(SP),4(SP) RPCS1. (SP) #10, ($P) #B1712.3(SP) 1% #B1T13,aRP(S1 28 ;REG JREAD THE CONTENTS OF THE REG SCHECK IF NON=EXIST DRIVE : CNED BIT SET ? ‘ERROR EXIT ncpe SET 2 TEXIT (Mp MOV BR ADD TST (SP)+,(S5P)« ;CLEAR OFF THE STA(K (R&4) ,RG ;ERROR EXIT ADDRESS 3¢ SEXIT #2,R4 NORMAL EXIT (SP)+ CLEAR OFF STACK MOV 000000 002660 000010 010000 000004 020000 156340 000002 000004 002000 000002 1$: 2%: 000204 38: 306 307 308 309 210 N 312 MOV RTS rRPCST,=(sP) 2(SP),4(SP) R&4 ;ROUTINE TO WRITE A REGISTZR : tCALL : Moy DATA,=(SP) : JSR R4 ,WRT RP : INDE X : ERRADR M g}z 315 024346 316 024346 317 024350 318 024352 319 024360 320 024362 321 024766 322 024370 323 024374 324 024400 012446 001014 122766 002410 017746 000316 062716 111666 005726 326 327 328 39 330 016676 013216 062716 032776 001013 325 024402 024406 024414 024420 0244264 024432 331 024434 332 024440 333 024444 334 024452 335 024456 336 024460 337 024462 338 024464 339 024466 gzg 02447C 342 MOV 063716 013716 062716 032776 001003 062704 000401 011404 005726 012616 000204 WRT.RP: 000150 000004 156272 177770 000007 002660 000006 002660 000010 010000 000000 1%: 000000 002660 000014 000010 RE TURN 000002 2%: 1¢: ;ROUTINE ‘MOVE THE R4 TO TOP OF STA(K CEXIT ;DATA TO BE LOADED ON THE STA(CK :CALL THE ROUTINE TO LOAD(WRITE) THE REG. S INDEX OF THL REGISTER TO BE LOADED ;ADDRESS TO RETURN T0O ON AN ERROR :ERROR FREELt RETURN MOV BNE (MPB BLT MOV SWAB BIC MOVB ST (R4)+,=(SP) 1% #150,4(5P) 1% aRPCS1, ~(SP) (SP) #A7,(SP) (SP),7(sP) (SP)+ ;FORMING THE REG ADDRESS ‘BRANCH IF NOT RPCS? ;DATA XTRNS COMMAND ? :BRANCH IF NOT *READ RP(S1 ‘MERG THE A17,A18,PSEL B'TS SCHOP OFF THE REST BITS +.OM RPCS? ATTACH A17,A18,PSEL TO COMMAND ‘RESTORE STACK LEVEL MOV MOV ADD BIT BNE 4(SP) .a(SP) RPCST. (SP) #10, (SP) #81112,3(5P) 2$ :WRITE THE REGISTER :CHECK NED,PAR BITS ; *NONE EXIST DRIVE ? *BRANCH IF IT IS ADD MOV 000000 :ADDRESS OF THE ADD BIT BNE ADD BR MOV 1S7 MOV RTS TO SAVE RPCS1, (SP) RPCS1, (SP) 84, (SP) #B113,3(SP) 2% #2,RG 3$ (R4) ,RG (SP)+ (SP)+, (SP) R4 STHE DEST REG ADDRESS :ADDRESS RPER1 : ‘PAR SET ? ‘BRANCH If SO :NORMAL RETURN SEXIT ERROR EXIT JCLEAR OFF THE STA(K *MOVE R4 TO TOP OF STACK TEXIT THE RHXX/RPO7 REGISTERS AS PER DPB+14 CIRJLAQ RPO7 FCTINL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 36-6 G 8 SEQ 0097 RPO7 DRIVEP 343 : 245 : 344 s CALL %2? : 348 024472 026472 349 024476 350 024500 351 024502 3652 024506 353 024512 354 024514 355 026520 356 024526 0064737 005702 001451 111277 016203 001444 005937 023727 001006 358 024536 001002 357 024530 032777 156162 000014 024550 0264550 000022 000200 156132 359 024540 %2? 024542 005023 000405 362 363 364 365 366 367 368 ggg 024544 024550 024552 024554 026556 024564 024566 024574 004437 000000 024576 012623 023727 001406 062737 000751 024254 371 024576 004737 022364 372 024602 373 024606 3764 0264610 375 024614 376 024620 377 024622 378 024624 024624 ggg 024630 005737 001406 013704 063704« 012423 011413 004737 000207 1%: 2$: 3%: 024550 000046 000002 024550 &$: 5¢: 6% : 002652 002642 002650 7%: 010700 : : s ggg 392 024652 303 024654 304 024660 395 024666 396 024670 397 02+57¢ 000316 112714 032777 001002 005726 000402 ::SAVE RO-RS :QUEUE ENTRY FOR THE DRIVE ? :BR [F NONE :SELECT DRIVE <GET THE ERROR TABLE POINTER SEXIT IF NO ADDRESS :COUNTER & POINTER ;REACHED THE BUFFER REGISTER ? :BR [F NOT BNE 2$ ;BR IF 002660 156024 (R3)+ X3 s"OR® SET ? SET :STORE RPDB AS ZEROES sCONT INUE R4 ,RD.RP O (SP)+,(R3)+ 38,446 6% #2,3% 1% ;READ THE SELECTED REGISTER ;REGISTER INDEX ;ERROR RETURN ADDRESS ;STORE THE REGISTER CONTENTS :REACHED THE END ? :BR IF YES : INCREMENT THE REGISTER INDEX :CONTINUE READING THE REGISTERS JSR PC.CI7 PROCESS THE UNCORRECTABLE PARITY ERROR JSR RTS PC,RESREG PC : ;RESTORE RO-RS :RETURN RHTYPE 7% RPADR,R& RHEXT,R4 (RG)+, (R3)* (R&), (R3) TO SET THE JIS IT RH70 2 S1F EQ, NO *GET RPCS1 BASE ADDRESS :POINT TO RPBAE :STORE THE CONTENTS :GET RP(CS3 INTERRUPT WITHOUT GETTING A '‘TRE' #DRVNUM,R1 PC,SET.IE :DRIVE NUMBER 10 R1 SSET 'IE SET.IE: MOV MOV MOV R4 ,-(SP) RPCS1,RG R1,3RP(CS2 :SAVE R4 :PICKUP ADR OF RP(S1 sSELECT DRIVE (SP) ADJUSI FOR DATO RE TURN SWAB 156002 #B1707,aRP(S?2 1SAVE THE DRIVES REG'S (RMXX= RM11 OR RH70) JSR .WORD 5¢ MoV CMP BEQ ADD BR MOV 8IS 040000 000100 010000 CALL PC,SVRHXX MOV JSR : 011446 052716 PC,SAVREG R? 7% (R? 6amsz 164(R2) ,R3 7% 38 38,422 2% ST BEQ MOV ADD MOV MOV 383 384 390 024644 391 024646 JSR TST BEQ MOVB MOV BEQ (LR CMP BNE (LR BR ;?gurxNE 010446 013706 010177 ;DPB POINTER T0 R2 BIT gg} 387 024632 388 024634 389 024640 #DPBNUM,R? JSR SVRHXX: 010646 MOV MOVB BIT BNE TS1 B8R (RG) ,=-(SP) #8111, (s1) *READ RPCS1 SSET THE “'TRE'* BIT OF THE WORD READ #BI106, (R4) :SET "1 #B1112,3RPCS?2 ;IS NED''=1? 1% YES=-=CLEAR "'TRE (SP)+ SCLEAN OFF THE STACK 2% SEQ 0098 (2RJLAQ RPO7 v (TN TEST MACRO v04.00 1= AN=83 11:06:45 PAGE 36-7 RPO7 DRIVER 398 024676 399 024700 400 024702 112664 012¢N4 000207 000001 1%: i ¥ mova MOv RTS ( S )e,1(R&) ( SP )o.RG ) ( ..TRE” sCLE JRES TORE AR :RET URN R4 T0 (ALLER SEQ 0099 CIRJLAD RPO7 FCINL TEST MACRO v04.00 1=JAN=B3 11:06:45 PAGE 37 RPO7 DRIVER ][olelelelelelele sQUEUE INPUT PO QINPT: .WORD WORD .WORD .WORD +WORD .WORD WORD +WORD TERS AW0LbS JRVO QDRV1 QDRV? QDRV3 QDRV& QDRVS QDRV6 QDRV?7 LRBXKo] >3> AiLb [a~oaxxoxuxa Y~Y~oYoYoYaYa¥~) [e]lelolelelelele]oV AN [e]elelelelelele)oanNoONONIONONIONONAalXvalvalVaVlolaXva) o o} o [a— Q. [ cacecececacecece NNOO0e~ RNOMUWNVA OO= N :OQUEUE OUTPUT POINTERS 0 S TART ADDRESS 0 S TOP ADDRESS ) DRIVE R I v E 1-=START D R | VE ¢ R I v E 2-=START D R | VE 3 R I vE R I Vv E R l vE R I Vv E R I VE ;DRIVE REQUEST QUEUES 02517¢ 3-=START D R l VE 4 4==START DR I VE 5 5--START DR I VE 6 6--START DR I VE 7 4 1 START ADDRESS ~ (=) - bI o~ J Lsglsggr FCTYNL TESYT MACRO v04.00 1-JAN-83 11:06:45 PAGE 38 1 8 SEQ 0100 % sROUTINE TO CLEAR ALL OF THE REQUEST QUEUES 6 s CALL 2 : 7 025176 004737 010646 14 025222 012701 000010 024754 8 9 10 11 12 13 025202 025206 025210 025212 025214 025216 15 025226 16 025230 012702 005022 005022 005022 005022 012703 012122 1%: 005303 17 025232 001375 20 025244 21 025246 22 025250 23 025252 gg 025256 012122 005303 001375 004737 000207 18 025234 19 025240 CLROUE: 024704 012703 012701 JSR JSR MOV CLR (LR (LR (LR MOV MOV MOV 2%: 010700 PC,SAVREG ;SAVE RO - RS #QSTART,RY sADDRESS OF #Q(NT,R2 (R2)+ (R2)+ (R2)+ (R2)+ #8. ,R3 R3 MOV MOV #8. ,R3 #QSTART,R1 MOV DEC BNE JSR RTS :JERO THE :DRIVES 0 :DRIVES 2 ;DRIVES 4 :DRIVES 6 :MOVE THE (R1)¢,(R2) DEC BNE 000010 024754 PC,CLROUE :THE QUEUE 1% (R1)¢,(R2)+ R3 zs PC,RESREG PC 59 ;EMPTY THE QUEUE SPECIFIED BY R1 28 :CALL %9 : 29 32 025260 33 025264 34 025266 35 025274 gg 025276 : 105061 024704 016161 024714 006301 006201 000207 ;CLEAR NUMBER OF MOV ASR RTS :CALL 43 44 . : 51 025316 52 025322 062761 000010 024704 024714 000002 53 025330 026161 024714 54 025336 001003 65 025340 016161 024754 56 025346 57 025350 006201 005724 024704 MOV MOV : RE TURN?2 MOV ADD C(MP MOV BNE ASR 1ST1 ITEMS IN QUEUE oxupr(a1) QOUTPT(R1) ;SET OUTPUT QUEUE POINTER-INPUT POINTER R1 PC IN QUEUE #DRVNUM,R1 #DPB,R2 JSR R4 ,DRVQUE RE TURN DRVQUE: CMPB 8EQ INCB ASL 1%: PC,EMPTYQ TO PUT A REQUEST : : 024714 024756 024714 :RESTORE RO = RS oc~1<n1) ASL 40 122761 001421 105261 006301 010271 ;QUEUE OUTPUT POINTER EMPTYQ: CLRB sROUTINE 47 025300 48 025306 49 025310 50 025314 :MOVE THE STARTING ADDRESS ;OF THE QUEUE INTO THE :DRIVE NUMBER T0 R1 +SR INTO INPUT POINTER DRVNUM,R1 gg 22 THE QUEUE MoV 024734 61 42 QUEUE COUNTS & 3 ¢ 3 £ S § 7 STARTING #10,0CNT(RT) 2% QCNT(RY) R1 :DRIVE NUMBER :ADDRESS OF PARAMETER BLOCK ;GO PUT REQUEST IN QUEUE *RETURN HERE IF QUEUE IS FULL *RETURN HERE IF REQUEST IS IN QUEUE ;1S QUEUE FuULL? :BR IF YES-TAKE RETURN1 : INCREMENT QUEUE COUNT R2,30INPT(R1) #2,QINPT(RY) :PUT THIS REQUEST IN QUEUE SUPDATE THE QUEUE POINTER (R«)o :TAKE RETURN 2 QINPT(R1),0STOP(R1) :TIME TO RESET THE POINTER 1% :BRANCH IF NO OSIARI(R1) QINPT(R1) ;YES=~-RESET POINTER CIRJLAD RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 38-1 K 8 S€Eq 0101 RPO?7 DRIVER gg 025352 000204 ¥ RTS R4 ;RETURN T0 USER g? sROUTINE TO GET THE ''OPB'' ADDRESS OF NEXT REQUEST IN QUEUE 6?2 63 64 : CALL : : g? : ¢S 68 025354 69 025356 70 025362 71 025364 72 025366 73 025372 ;g 025374 : 005002 105761 0014064 006301 017102 006201 1%: 024734 000207 2%: :ROUTINE 78 s CALL 79 80 g; 84 025402 85 025404 86 025410 87 025414 B8 025422 89 025430 90 025432 91 025440 g% 025442 102 RE TURN GETREQ- (LR 1518 024704 ;9 B3 025376 MOV JSR : : : BEQ ASL MOV ASR RTS MOV JSR RETURN 024704 POPQUE: DE(B 017102 005071 062761 024734 024734 000002 024734 MOV (LR ADD 024754 024734 026161 001003 016161 (06201 000207 024734 ASL Q24756 1%: ;:DRIVE NUMBER TO R1 :60 GET THE REQUEST ;R2="'DPB'' ADDRESS OF THE REQUEST :R2=0 ]F NO REQUEST [N QUEUE R2 QCNT(RY) ;1S THERE ANY REQUEST IN QUEUE? ?Q0UTPT(R1),R2 :PICXUP 'DPB'' POINTER FOR THIS DRIVE PC :RETURN TO USER 2% R1 R1 :NO===BRAN(CH TO ''POP'" THE REQUEST FROM QUEUE 105361 006301 #DRVNUM ,R1 PC,GETREQ (MP BNE MOV ASR RTS #DRVNUM,R1 PC,POPQUE :DRIVE NUMBER T0 R! ;CALL TO REMOVE REQUEST ;R2=ADDRESS OF DPB REMOVED QCNT(RT) ;DECREMENT QUEUE COUNT @00UTPT(R1),R2 aQOUTPT(RT) #2.,Q0UTPT(RY) ;GET THE °''DPB'' POINTER :REMOVE DPB ADDRESS FROM THE QUEUE :UPDATE THE QUEUE POINTER R1 . QOUTPT(R1) ,QSTOP(R1) ;TIME TO RESET THE POINTER? 1% :NO=-=BRANCH TO EXIT QSTART(R1) ,QOUTPT(R1) ;YES==RESET THE POINTER R1 PC :RETURN TQ USER CZRJLAO RPO7 FCTNL TEST MACRO V04.00 1-JAN-83 11:06:45 PAGE 40 REPORT SEQ@ 0102 CODING SICTION .SBTTL b 2 4 ¢ THE : REPORT CODING SECT]ON REPORT CODING S £ "PRINTS' CALLS THAT | SRPT:: 000167 000000 .WORD .WORD .EVEN 025450 025450 1046425 L10013: TRAP C$RPT - AL REPORTS, RP O;IAEEENL 10N TEST MACRO V04.00 1-JAN-B3 11:06:45 PAGE &1 .SBTTL SEQ 0103 PROTECTION TABLE :00 : THIS TABLE ]S USED BY THE RUNTIME SERVICES : 10 PROT ECT THt LOAD MEDIA. 10 } 025452 025452 0000C0 025456 000006 025454 177777 L$PROT:: 0 :P=TABLE OFFSET OF (S 6 ;P=TABLE OFFSET DRIVE -1 sNOT A MASSBUS DEVICE CZRJLAQ RPO7 FCINL TEST MACRO V04,00 1-JAN-B3 11:06:45 PAGE 42 INITIALIZE SECTION 5 LSBTTL 3 XY 7 [J 8 025460 LSINIT:: 4 2 N SEQ 0104 INITIALIZE SECTION : THE INITIALIZE SECTION CONTAINS THE CODING THAT IS PERFORMED ; AT THE BEGINNING OF EACH PASS. 9 10 025460 11 025462 12 13 025470 14 025476 15 16 025502 025506 17 18 025510 19 104433 015272 002252 MOV #ABOPAS ,BYPASS 012737 005037 000001 002242 002240 MOV CLR #1,1TCNT 1SRCNT 012700 000034 MOV #EF .PWR,RO B(S «3 MOV TRAP #EF .CON,RO CSREFG BCC 1% MOV TRAP #EF .NEW,RO CSREFG BCC 3 MoV MOV MOV TRAP ADD #CRLF ,=(SP) #1,-(SP) SP,RO CSPNTF 8, SP MOV LWORD INC CMP BGE MOV MOV #-1,(PC)+ O UNIT UNIT,LSUNIT ABORT #20. .R2 #RPCST,R3 104447 22 025520 103002 000036 23 025522 24 025526 25 025526 025532 000137 026124 012700 104447 000035 gg 025534 103016 29 025536 025542 025546 025550 025552 012746 012746 010600 104417 062706 31 025564 32 025570 33 025572 34 025576 35 025604 36 025606 37 025612 g 39 025616 025622 0256264 40 025626 41 025630 «2 025632 012727 000000 005237 023737 002165 012702 012703 30 025556 012737 43 025634 46 025640 45 025642 46 025644 47 025646 48 025652 TRAP 103432 012700 104447 26 CSRESET 012737 20 025512 025516 b3 TRAP 013700 1044472 010005 103361 011346 011546 166616 061623 005302 001375 004737 005737 1%: 003054 000001 000004 177777 002640 177777 002640 002640 002012 MOV 2%: 3¢: 4$: 000024 002660 MOV TRAP MOV BCC MOV MOV 002640 000002 010732 002652 JMP 5¢: SUB ADD DEC 8NE JSR 181 CSREFG CONTIN :RESET THE WORLD :ABORT PASS OM DEV FATAL ERROR DETECTED IN "ERRABO’, :CALLED BY SFTW DRVRS :RESET ITERATION COUNT sCLEAR INTERRUPT COUNTER :POWER UP SEQUENCE ? ;GO 10 4% IF YES ;CONTINUE COMMAND ? :G0 TO 18 [F NO ;GO TO "CONTIN® [IF YES :*STA', *RES' OR °NEW PASS' ? ;60 TO 3% IF NO., MUST BE NEW °*SUB=-PASS® CRoL sCR=L #-1 uUNIT ;RESET UNIT COUNT UNIT,RO C$GPHRD RO,RS 3¢ (R3),=(SP) (R5) ,=(SP) :SAVE R3 ;AND THE BASE ADDRESS 2(SP), (SP) (SP), (R3)+ R2 5% PC,SI2E70 RHTYPE <RESET CLOCK MESSAGE fLAG ;LLOCK MESSAGE FLAG GOES HERE :GET NEXT UNIT NUMBER FOR TESTING :0UT OF UNJTS TO TEST ? :BR IF YES :RHXX/RP0O7 REGISTER COUNT sDATA SINK SGET UNIT FROM HARDWARE P-TABLE :DERIVE NEW ADDRESS :L0G IT IN NEW TABLE ;COUNT LOGGING :R2 NOT ZERO, CONTINUE LOGGING :SEE [F RH70 1S PRESENT :1S IT AN RH70 ? AO RPO7 FCTINL TEST MACRO V04.00 1-JAN-B3 11:06:45 PAGE 42-1 ALIZE SEQ 0105 SECTION 49 025656 001406 §3 025670 005722 50 025660 51 0256664 52 025666 gg 025672 017702 067502 010223 022626 012537 62 025716 63 025722 64 025726 65 025732 66 025734 67 025736 68 025742 93 025744 004737 013705 105765 100443 001054 105765 001425 100012 71 025746 010546 025750 025754 025760 025762 025764 72 025770 73 025772 025772 025776 026000 026004 026006 026010 76 026014 75 026016 026016 026020 026024 026030 026032 026034 012537 (12537 011537 012746 012746 010600 104417 06706 00700 01(546 01746 01c746 016600 104417 062706 000666 010546 012746 012746 010600 104417 062706 7¢ 026040 000654 77 026042 026042 026066 026050 026054 026056 026060 010546 012746 012746 010600 104417 062706 80 026066 005737 ;g 026064 81 026072 MOV ADD MOV ST 010213 56 025674 57 025676 58 025702 59 025706 g? 025712 PcQ 002650 (00642 100061 002642 002644 002646 002654 6$: 020226 002654 020136 020146 000006 7%: 005240 000002 000006 8$: 005201 000002 000006 9%: 005150 000002 000006 102250 82 0260764 005237 (025570 (RS)+ SADD 2 ‘GET RPBAE OFFSET *ADD BASE ADDRESS TO OFFSET :SAVE NEW RPBAE R2, (R3) CMP MOV MOV MOV MOV (SP)+,(SP)+ (R5)+,RPADR :RESTORE STACK *SAVE RPCST BASE ADDRESS JSR MOV 1STB 8M] BNE TSTB BEQ BPL PC,RPINIT DRVNO,RS DRVSTA(RY) 9 108 DRVTYP(RS) 8$ 7% SINITIALIZE THE SUB=SYSTEM ‘PICKUP DRIVE # AS AN INDEX TCHMECK DRIVE STATUS: IF NOT AVAILABLE, TRY ANOTHER DRIVE *UNSAFE BRANCH SDRIVE OK *NED + OFL ? "NED BRANCH: NON-EXISTENT DRV ‘0rL BRANCH: OFF=LINE (R5)+ .RPVE' (RS)+,RPVF(+2 (RS) ,DRVNO #NOTMSG,=(SP) #2.-(SP) SP,RO C$PNTF ¥6,5P 3¢ MOV MOV MOV MOV TRAP ADD RS,=(SP) #0FLMSG,=(SP) #2,-(SP) SP.RO CSPNTF #6,SP MOV MOV MOV MOV TRAP ADD RS, =(SP) #NEDMSG,=(SP) #2.-(5P) SP,R0 CSPNTF #6,SP MOV MOV MOV MOV TRAP ACD RS,=(SP) FUNSMSG, = (SP) #2,-(SP) SP,RO CSPNTF #6,SP B8R B8R M3 8PL INC *SAVE NEW RP(S3 *SAVE INTERUPT VECTOR ADDREZS :SAVE TNTERUPT PRIOR]TY ‘SETUF “RIVE NUMBER FOR UNIT N RS,=(SP) MOV MOV MOV TRAP ADD BR BR 108" :BR IF NO RHEXT,R2 (RS),R2 R2, (R3)+ MOV MOV 005273 000002 6% 3¢ 3s SEXIT 8LOCK SEXIT BLOCK SEXIT BLOCK 3% ;DRV NOT AVAILABLE: TRY ANOTHER CLKSTA :DRV IS OK' WHAT CLOCK TYPE? EXINIT b33 ‘P TYPE, OK! "UPDATE. CAN CLOCK MESSAGE Bt TYPED ? -l il ol sl +WORD 002654 002654 002654 002654 026260 EXINIT: MOV MoV MOV MoV B/ -~ - (P VO~ wwn LW XY -~ »x -~ » * N,V VOV o B B oy sSTART (LOCK ;STOP THL CLOCK (] |} 00 ey Y Patel 48] NM=de >0 OMs Qe <N OXWN- < | MODMm -t sSETUP RHXX/RP0O7 VECTOR PCS2 sMASSBUS INIT TO CLEAR o o DRVNC,DPB.A DRVNO,DPB.B DRVNO,DPB.C DRVNO,DTADPB ;STUFF DRIVE NUMBER [N DPB TABLES sPRINT DRIVE SERIAL NUMBER 4000000 OO O b b b o md b O O A ~IR & ORI -t et NN NNNNN OCoOLrC—OH & rNO RO OO NOO OO~ — 025266 000004 000006 154360 154370 00000¢ 1% MoV MOV MOV MOV MOV MOV TRAP ADD MoV CLR ROL ROL IMPENDING sRELEASE APPROPRIATE CLOCK VECTCR :EOCEtOCK' SKIP ] 026234 -t -~ TRAP TRAP OO0 [« BNTp JV ) —d e o i wd wndd MOV TRAP M=t & (e 2%: MOV TRAP OF PR o< <o 002644 NO :SKIP OO D APV OMO M OXMHCM ANINNINI NN = b o OO WL 013700 1064636 1%: d b d b eed wod D et b b 2 OOOOOO S NN =2 OO NOWE 012136 B8R NDWV 1ST BEQ B8MI MOV TRAP 013700 104436 JSR MOV IF :PRINT *NO P-CLOCK, TIMING TESTS WwILL NOT BE EXECUTED' MDD ABORT: MY b b OO oY 1546474 000403 el ool sBR sSKIP NEXT [NTERMEDIATE BRANCHING - el ) o cmld and and el il o «WORD TRAP 104436 o ONUCLK.;(SP) JSR 10040¢ —ld MOV MOV MoV TRAP ADD — OWVWNEDSWWNIN OO LSOO CONTIN: 013,00 — EXINIT BR 026174 101 BNE FOVTRORRDORD —S2 A =2 N TV O OrOFOCONO N0 OSSN 001056 Mov Mov Mov MOV TRAP ADD oo ON) oooooooorocrOr RORLNININUNONINONDND [eleBNololololololololole BN eolololol] NIAURAIROND) 84 85 026102 NNOTDV=LORTD PR PRWPRT OO 83 026100 SEQ 0106 #4,R1 DRVNO,aRP(S2 DRVNO, = (SP) #DSNMSG, = (SP) aRPSN, = (SP) R (SP) R2 SN oJIryYl Ex! vIGIT INTO R? INTERRUPTS Moy ¢ /4 RJ LAO RPO7 FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 42-2 1 N I IALIZE SECTION D 9 SEQ 0107 IALIZE SECTION 119 026336 120 026340 006116 006102 124 026350 125 026352 126 026356 006102 062702 010237 012746 121 026342 122 026344 123 026346 127 026362 026366 026372 026376 026400 026402 128 026406 129 026410 }g? 026412 132 026414 026420 026424 026426 133 026430 134 026434 135 026440 136 026446 137 026456 138 (26462 }28 026466 164 165 026474 166 026476 ROL ROL (SP) R2 000060 002656 ROL ADD MOV R2 #'0,R2 R2,DRVSN 004342 Mov #SNDIGT,=(SP) 006116 006102 006116 012746 012746 010600 104417 062706 005301 003347 ROL ROL ROL 002656 MOV 000002 MOV MOV TRAP ADD 000006 DEC 86T 005726 012746 012746 010600 104417 062706 004737 012737 112737 112737 004437 012737 ST 003054 000001 012622 026162 000020 000147 014260 015272 002252 J02541 002542 . 002252 178 179 #2,-(SP) SP,RO CSPNTF #6,SP R1 3% (SP)+ 0265C0 104411 JSR MOV MOVB movB JSR PC,LDCMD LOAD COMMND IN DPB.B, DPB.(C FOR SEEK TESTS #ABORT ,BYPASS ;BYPASS RALUTL ON RP DRIVER FATAL ERROR #20,DPB.A+1 ¢SET 16 SIT FORMAT #SETFORM,DPB.A¢2 ;SET FORMAT MODE (16 BIT) R4, CALL.A sG0 EXECUTE THE COMMAND TRAP CSEXIT L10015~, LWCRD L10015: :?ESTQRE STACK SP,RO CSPNTF #4,5P #ABOPAS ,BYPASS EVEN 180 026500 s COUNT DOWN DIGIT SNEXT DIGIT #CRLF ,=(SP) #1,-(SP) Mov 1046432 000002 #DRVSN,=(SP) sMAKE RESULT ASCI| :SAVE R2 FOR PRINT MOV MOV MOV TRAP ADD 000004 (SP) R2 (SP) TRAP (SINIT ;RESTORE ABORT ADDRESS FOR 'ERRABO' DEV FATAL ERROR mery — Zr 0 — LAO RPO7 FCTNL TEST MACRO v04.00 1~JAN-B3 11:06:45 PAGE 42-3 CZRJLAQ RPO7? FCTNL TEST MAIRO v04.00 1-JAN=-83 11:06:45 PAGE 43 3 SEQ 0108 AUTOPNROP SECTION 5 LSBTTL 3 XY 6 : SEE IF THEY WILL RESPOND. ) 5 AUTODROP SECTION : THIS CODE IS EXECUTED IMMEDIATELY AFTER TME INJTIALIZE CODE IF : THE "'ADRTM" FLAG WAS SET, THE UNIT(S) UNDER TEST ARE (ME(KED T0 g ;. 9 DROPPED FROM TESTING, [ 10 026502 17 026502 026502 LSAUTO:: 104461 1L10016: TRAP (SAUTO THOSE THAT DON°'T ARE [MMEDIATELY SEQ 0109 CIRJLAOQ RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 44 =2 OO e e d o NN —~ — ot SBTTL CLEANUP CODING SECTION MR R 4 CTION CONTAINS THE CODING THAT * THE CLEANUP CODING SECT Y AFTER THE MARDWARE TE STS HAVE BEEN PERFORMED, LSCLEAN:: MOV #CLR,aRP(S2 JSR PC.SYOP(K TRAP O — — 000040 002656 012262 002250 s #PRIO7,RO ~n 000340 MOV — ONOWVMB WA= D OV ~NRWN W - CLEANUP CODING SECTION MOV 3 012126 026552 026552 026556 026560 026560 026564 026566 026570 026572 026572 012136 002644 104412 1%: 2 L10017: CLKSTA 2% 1% MOV PKV,RO BR 2% MOV LKV,RO MOV RPVEC,RO TRAP CSEXIT TRAP ) DRVNO, 3RP(S2 BEQ BM] TRAP 026550 ($SPRI TRAP ;SeT PRIORITY 10 7 ;MASSBUS INIT TO CLEAR [MPENDING INTERRUPTS sGET DRIVE NUMBER ;STOP THE (LOCK JRELEASE APPROPRIATE (LOCK VECTOR :NO CLOCK, SKIP sL=CLK ;P=CLK VECTOR RELEASE (SCVEC (SCVEC CS$(VEC LWORD L10017-, TRAP (SCLEAN S PERFORMED :L=CLK VECTOR RELEASE ;RPO7 VECTOR RELEASE CIRJLAD RPO7 FCTINL TEST MACRO V04,00 1-JAN=-83 11:06:45 PAGE &5 G DROP UNIT SECTION .SBTTL % DROP UNIT SECTION X 4 * THE DROP=UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVIZE 7 [l : TO NO LONGER BE TESTED. 2 LS$DU:: 19 026574 18 026574 ' 026576 .WORD 000167 000000 "WORD 39 L10020-2-. .EVEN 32 33 020670 02660 J$ MP 104453 L1020 TRAP ($Ou SEQ 0110 } SBTTL 3 S 3 ; : s 4 : 8 THE ADD=UNIT SECTION CONTAINS ANY (ODE L8AY:: 000167 JWORD 000000 [WORD 3 34 026606 026606 J$MP L10021-2-. .EVEN 104452 THE PROGRAMMER WISHES 70 BE EXECUTED IN CONJUNCTION WITH THE ADDING OF A UNIT BACK T0 THE TEST (YCLE. [ 3 026602 19 026602 g 026604 ADD UNIT SECTION 110021 TRAP ($AU N SEQ 0111 SECTION -t CIRJLAQ RPO? FCINL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 46 ADD UNIT SEQ 0112 CIRJLAOQ RPO7 FCTINL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 47 NOWVNEB WA 2OV NOWN PONINVINIAINININ) —d b = b e b D LN HARDWARE 28 TESTS .SBTTL HARDWARE TESTS ;*IN THE DESCRIPTIONS OF THE BELOW TESTS THE VARIABLES USED 'AND THEIR DEFAULT VALUES (UNLESS SPECIFIED OTHERWISE) ARE: ; MNEMONI € VALUE "---Q---- VARIABLE ........... b s*JTONT 1 I TERAT]IONS FIRST CYLINDER ADDRESS 0 sef( svL( :'l( 'N( OfF NOI 629 1 FCeIC LAST CYLINDER ADDRESS INCREMENT VALUE NEW OR MODIFIED CYLINDER .'N(Z ‘e LC=1¢C NEW OR MODIFIED CYiI INDER sefF 1 0 FIRST TRACK ADDRESS svll s *NT 1 FTeT INCREMENT VALUE NEW OR MODIFIED TRACK ADDRESS 0 49. FIRST SECTOR ADDRESS LAST SECTOR ADDRESS b ADDRRESS ADDRESS ] oLt 3. LAST TRACK ADDRESS . ® cefFS s*LS .SBTTL s*THE SEEK TESTS SEEK TESTS WwiLL BE EXCUTED USING IMPLIED SEEKS. c*IMPLIED SEEKS WILL BE PERFORMED BY ‘'READ HEADER AND THESE ;*DATA’" COMMANDS TO TRACK *'FT'* SECTOR '‘FSTM* OF THE DESIRED CYLINDER, :*THE WORD COUNT WILL BE SET SUCH THAT ONLY THE CYLINDER AND ;*TRACK/SECTOR WORDS OF {*HOWEVER, THESE THE HEADER ARE IMPLIED SEEKS CAN BE READ. SUPERSEDED BY EXPLICIT SEEKS ;evIA OPERATOR DIALOGUE, IN WHiCH CASE HEADER INFORMATION IS NOT VERIFIED. NV TV ] 8522}2 026676 026624 026630 026634 026634 026636 026642 026646 026652 026654 026654 026654 026656 026656 012737 000012 002240 112737 000107 002542 005037 002572 005037 104402 004437 004437 005337 001361 104403 104401 002570 9° X2 2R B TEST 2ZZXX22222222022222 R RN Rl R ARl ]l THIS TEST WILL CAUSE THE DRIVE TO EXECUTE A RECALIBRATE COMMAND CYCLE AND THEN DO A READ HEADER AND DATA (OMMAND 9 Ssvc0cass ISR X TO VERIFY POSITION. » ND OO N =2 £~ NP = OO NNy — TEST 1: RECALIBRATE LSBYTL 026610 SEQ 0113 TEST S — - P ) RECAL IBRATE W VIV IV IV VW — N — laal V] 9 RPO7 FCTINL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 48 22X XXX T1:: TESTT AR AR AR X AR RARR ;SET ITERATION COUNT Move #RECAL ,DPB.A*2 ;RECAL=COMMAND (LR DPB.B+12 :CyL O pPB.B+10 ($8SUB R4 ,CALL.A R4,CALL.B ITCNT TEST TRAP C$ESUB " TRAP CSETST EXIT1: L10023: L10022: AR RRRRRRRRARRRRRRRRRRRRRRRARR AN #10.,1T(NT TRAP JSR JSR DEC BNE 014260 014376 002240 AR MOV (LR 1.1 X2 ;SEC/TRK 0 :GO EXECUTE THE COMMAND ;GO EXECUTE THE COMMAND :DONE ITERATIONS ? JBR IF NO (2 RJLAO RPO7 FCTNL TEST MACRO V04.00 1-JAN-83 11:06:45 PAGE 49 |13 ST 2: SEQ 0114 INCREMENT SEEK TEST ! .SBTTL 3 ::"'.""'..""""""'"""""'.'l"Q.""."""'."""""""'Q"i"' 4 e S 6 7 9 10 1 WILL COMMAND FORWARD SEEK CYCLES TO ADVANCE THE Pe AT THE LAST LEGAL "NCTM LC'' REVERSE SEEK (YCLES ARE INITIATED; STARTING AND DECREMENTING BY *'IC UNTIL *NCTM IS LESS THAN "'F('', AT THE COMPLETION OF EACH SEEK COMMAND THE PROPER INDICATORS ARE EXAMINED TG e ENSURE PROPER OPERATION. :;"'"'"'."t"""""""""t'.t""".'."".t"t'.""'Qt'.tt.""""" 13 14 15 16 17 026660 026660 026666 026674 18 026702 026702 026702 113737 113737 013737 104402 19 026704 004437 026710 026712 104403 063737 023737 002365 013737 20 026710 28 29 30 31 TEST CYLINDER ADDRESS FROM "'FC'' TO "'LC"" BY THE INCREMENT "'IC*'. WHEN THE RESULTANT CYLINDER ADDRESS (NC) EXCEEDS Pe e 12 26 27 THIS INCREMENT SEEK TEST e i ;e 8 21 22 23 24 25 TEST 2: 026720 026726 026730 026736 026736 026736 026740 020744 026744 026746 026754 026762 026764 026764 026764 104402 004437 104403 163737 023737 003765 104401 002220 002212 002204 002570 002571 002572 12: 18: MOvB MOVB MOV 12.11 12.1: 014376 002210 002206 ) 002572 002572 002206 002572 014376 002210 002204 TRAP L10025: 12.21: 12.2: L10026: 002572 002572 EXIT2: L10024: FS,DPB.B+10 FT.DPB.B+11 FC,DPB.Be12 ($BSUB JSR R&,CALL.B TRAP ADD (MP BGE MOV (SESUB IC.DPB.B+12 LC.DPB.B*12 1211 LC,DPB.B#+12 TRAP JSR ($BSUB R4,CALL.B TRAP SuB8 (MP BLE CSESUB [C,DPB.B+12 F(,DPB.B+12 12:21 " IRAP CSETST ;FS$ FT (F( ;60 EXECUTE THE COMMAND ;MOVE TO NEXT CYLINDER :OUT OF CYLINDERS? :NO=-BRANCH ;60 EXECUTE THE COMMAND WA — LSBTTL TEST 3: RANDOM SEEK TEST X222 R :' 2O 000NN B 2 a2 2 X222 222 XXX 2222222 AR AR RRR R RRR ARl 2] ] THlS TEST PERFORMS RANDOM SEEK OPERATIONS BETWEEN CYLINDERS °*f(C* LC*'. AFTER EACH SEEK, THE POSITION OF THE DRIVE IS VERIFIED BY ot READING A SECTOR FROM fHE CURRENTLY ADDRESSED CYLINDER AND TRACK. :* OF POSITIONING OCCURS USING EACH HEAD. X THE RANDOM CYLINDER IS GENERATED BY USING THE 'MOC' FUNCTJION: . . . . . NN NO WA = OO0 NN SEQ 0115 RANDOM SEEK TEST THE TRACK ADDRESS IS INCREMENTED FOR EACH SEEK SO THAT VERIFICATION BETWEEN PARAMTERS ‘FT*' AND °‘LT°, X MOD ¥ = X = (XDIV Y) M BY DOING: o WHERE R IS OBTAINED BY: o o O v ¥ THE ACTUAL OPERATION PERFORMED IS: M TRACK ADDRESSES ARE INCREMEM Y <> 0 THEN: IfF X,Y ARE INTEGERS WiTH MODY = REMAINDER OF X DIV V¥ o ot FC + SRP1 MOD (LC+1)-F(C (YL = FC + R $SRP1 D1V (LCH)-FC = Q +R WHERE Q = QUOTIENT, REMAINDER, S$RP1 = A RANDOM NUMBER FROM RAND CALL. '.'i".ittt.fi""t"""'i"'.Qi'i't..'.'t.'!t'titt.t'..'it'i't't.""""'."' 026766 026766 026774 027002 027010 027016 027024 027026 027032 027036 027040 027044 012737 113737 112737 013737 023737 001423 000012 002212 000105 002204 002204 R 002240 002571 002542 002572 002206 13:: TEST3: 004737 013746 027046 005046 013746 005216 163716 027056 027062 062637 005726 011610 011672 MOV MOVB 0VB MOV (MP BEQ #10.,1TCNT FT,0PB.B+11 #SEEK,DPB.A+2 FC,OPB.B+12 FC,LC 13.11 JSR MOV PC,RAND $RP1,=-(SP) JSR PC,8D1V (LR MOV INC SUB 002206 002204 027052 004737 011074 sSET ITERATION COUNT :LOAD STARTING TRACK ADDRESS :SEEK=COMMAND JINITIAL CYLINDER ADDRESS SCYLINDER LIMITS THE SAME ? BR IF THEY ARF ADD 1ST 002572 -(SP) LC,=(SP) (SP) :CYCLE THE RANDOM NUMBER GENERATNP sUSE THE HIGH RANDOM NUMBER FC.(SP) sUPPER DIVIDEND sFORM THE DIVISOR s INCREMENT *SUBTRACT THE LOWER LIMIT (SP)+,DPB.B+12 (SP)+ ADD THE REMAINDER YO THE INITIAL CYLINDER :DISCARD THE QUOTENT :DIVIDE sEND OF RANDOM (YL GEN. 83;893 013737 027072 027074 104402 027074 WL = O - w> O POUNINUINIPONININD = = b e ccd ad s D d b L :GENERATE A RANDOM CYLINDER WNWAVAWLA -t wno mry RPO7 FCTINL TEST MACRO v04.00 1-JAN=-B3 11:06:45 PAGE 50 027100 027100 027102 027102 027104 027112 027116 027120 004437 002572 002552 13.11: 014260 L10030: 104403 104402 113777 017746 006316 006316 3.1 13.2: 002540 153562 153556 MOV DPB.B+12,D0PB.A+12 TRAP ($8SUB JSR R4 ,CALL.A TRAP C$ESUB TRAP Movs MOV ASL ASL ($8SUB DPB.A,QRP(S? aRPLA,=-(5P) (SP) (SP) ;COPY NEW CYLINDER ADDRESS ;GO0 EXECUTE THE (OMMAND JSELECT THE DRIVE :GET THE LOOK AHEAD REGISTER ;ALIGN THE SECTOR ADDRESS JALIGN THE SECTOR ADDRESS oo (e JVAIYL IV, IV IV IV RV ) ] O . RNTo SV P 0 WY — lo2Velo RPO7 FCINL RANDOM SEEK TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE TEST 027122 027124 027130 000316 112637 013746 027140 103007 027134 122637 002570 002266 002570 027142 027144 027150 103403 105037 000403 002570 112737 000001 027160 027164 027164 004437 014376 8%;}28 027166 027172 027200 027202 027210 027214 027216 027216 1044C3 105237 123737 101703 113737 005337 001275 104401 002571 002571 002212 002240 ;:: L10031: 002214 002571 ExIT3: L10027: mno9 SEQ 0116 SWAB mMove MOV (SP) (SP)+,DPB.B+10 NS1,-(SP) :PUT ADDRESS IN LOWER BYTE ;LOAD THE DPB sPUT LAST SECTOR ADDRESS ON THEL STACK BHIS 2% :BR [F NOT #1,0PB.B+10 ;RESET ADDRESS TO SECTOR 1 (MPB 002570 50-1 (SPi+,DPB.B+10 BLO CLRB B8R 19 DPB.B+10 2% JSR R4,CALL.B Movs TRAP C$ESUB :NEW SECTOR ADDRESS TOO LARGE ? :BR IF ADDRESS IS 2 GREATER sRESET TO SECTOR ADDRESS 0 s CONTINUE ;GO EXECUTE THE COMMAND INCB (mMP8 8LOS DPB.B¢+11 DPB.B+11,LT TEST3 s INCREMENT THE TRACK ADDRESS SMAXIMUM ? ¢BR [F NOT BNE TEST3 :BR IF NO Movs DEC TRAP FT,DPB.B+11 ITCNY CSETST :RELOAD STARTING TRACK ADDRESS sDONE ITERATIONS ? WA AT AR NI NS NO NI AV NI NIAD A —b =8 = —d b b b b b b = OO0 NV NN =2 OO0 NN & BN NN N AN NN N P ¥ o [V 18 SEQ 0117 RECAL, RANDOM SEEK TEST JSBTTL OO 00NN S AN =2 OO 00 NN S NN — : N RPO7 FCINL TEST MACRO V04,00 1-JAN-83 11:06:45 PAGE 51 X X222 TEST &: RECAL, RANDOM SEEK TEST 22XX2 222222 :' X22222222222222 dR 22 RRdillRRRRRRRRRR) THIS TEST EXECUTES A RECAL COMMAND, THEN A SEEK IMPLIED IN A READ HEADER .t AND DATA COMMAND, o THE ot THE RANDOH CYLINDER o* o o o .t . ot ot .t TO A RANDOMLY SELECTED CYLINDER. THIS SEQUENCE IS REPEATED 10 TIMES TRACK AD OF THE RANDOMLY SELECTED CYLINDER iS STARING FROM FC, AT EACH TEST ITERATION. *MOD® FUNCTION: IF x,v ARE INTEGERS WITHY <> 0 THEN: Y = REMAINDER OF X DIV Y MOD THE ACTUAL OPERATION PERFORMED FC + SRPY1 MOD (LC+1)=F(C B8Y DOING: CYL = FC ¢+ R it WHERE R . WHERE Q@ = QUOTIENT, ot IS GENERATED BY USING THE MOD ¥ = X = (X DIV Y) v ¥ INCREMENTED BY ONE, 1IS: IS OBTAINED BY: SRP1 DIV (LC01) FC = Q ¢+ R = REMAINDER, S$RP1 = A RANDOM NUMBER FROM RAND CALL. .'."'.'...""."""""""'i.'..'.'.'""'l'..'...".""'.""'.""."". 027220 027220 027226 027234 0272642 012737 113737 112737 013737 000012 002212 000107 002204 002240 002571 002542 00257¢ T4:: TEST4: MOV MOVB MovB MOV #10.,1TCNTY F1,0PB.B+11 #RECAL ,DPB.A+2 FC,DPB.B+12 sSET ITERATION COUNT ;LOAD STARTING TRACK ADDRESS ;RECAL=COMMAND sINITIAL CYLINDER ADDRESS ;GENERATE A RANDOM CYLINDER 027250 027254 027260 02726¢ 027266 027270 0272764 027300 027304 027306 027306 027310 027314 027314 027316 027316 027320 027326 027332 027314 027336 027340 027344 027350 02735 02735 004737 013746 005046 013746 005216 163716 004737 062637 005726 104402 004437 011610 011672 JSR MOV CLR MOV INC SUB JSR A" TST 002206 002204 011074 002572 T4.1: 01462¢0 L10033: 104403 104402 113777 017746 006316 006316 000316 112637 013746 122637 103007 103403 14.2: 002540 153346 002570 002264 0025/0 153342 1%: PC,RAND $RP1,-(SP) =(SP) LC,=(SP) (SP) FC,(SP) PC,$D1V (SP)+,DPB.B+12 (SP)+ sCYCLE THE RANDOM NUMBER GENERATOR ;USE THE HIGH RANDOM NUMBER ¢UPPER DIVIDEND <FORM THE DIVISOR ¢ INCREMENT sSUBTRACT THE LOWER LIMIT :DIVIDE ;ADD THE REMAINDER TO THE INITIAL CYLINDER sDISCARD THE QUOTENT sEND OF RANDOM (YL GEN. TRAP JSR ($85uUB R4, CALL.A TRAP (SESUB TRAP Mov8e MOV ASL ASL SWAB MOovB MOV (MPB BHIS 8LO ($8suB OPB.A,aRP(S2 aRPLA,=(SP) (SP) (SP) (SP) (SP)+,DPB.B+10 NS1,=-(SP) (SP)+,DPB.B+10 3% 2% ;GO EXECUTE THE COMMAND JSELECT THE DRIVE *GET THE LOOK AHEAD REGISTER sALIGN THE SECTOR ADDRESS ;ALIGN THE SECTOR ADDRESS :PUT ADDRESS IN LOWER BYTE ;LOAD THE DPB :PUT LAST SECTOR ADDRESS ON THE STA(K ;NEW SECTOR ADDRESS 10O LARGE ? :BR IF NOT :BR [f ADDRESS IS 2 GREATER RPO7 FCINL TEST MACRO v04.00 1-JAN=83 11:0¢-45 PAGE 511 RECAL, RANDOM SEEKX 105037 000403 002570 8%;%92 112737 000001 027374 027400 027400 027402 027476 027414 027416 0274264 027430 02743¢ 027432 004437 014376 104403 105237 123737 101712 00257 002571 104401 SEQ 0118 TEST 027360 027364 113737 005337 001304 8 10 002212 002240 002570 g:: L10034: 002214 . 002571 ExITé: L10032: BR CLRB 0PB.B+10 3% ;RESET TO SECTCR ADDRESS 0 s CONTINUE movB #1,0PB.B+10 ;RESET ADDRESS TO SECTOR 1 JSR R4,CALL.B :CO EXECUTE THE COMMAND TRAP INCB (MPB BLOS MovB DEC BNE (SESUB DPB.B+11 OPB.B+11,LT TESTS F1,0PB.B+11 [TONT TESTS ; INCREMENT THE TRA(K ADDRESS ¢MAXiMUM ? :BR IF NOT sRELOAD STARTING TRACK ADDRESS ;DONE ITERATIONS ? :BR IF NO TRAP CSETST O N S = OO 00 A X R 2 XA o R R ZARRRRR 2R R RRRRRRdRddRRRRRdRRRdRlllRdllldd) SYSTEM RESPONSE TO 3 UNIQUE DIFFERENTIAL SEEK PROFJLES: 1.76 CYL DIF SEEK: FORCES A SLEW RATE CHANGE BY SEEKING FROM CYL 0 10 S, 2°10 7, ... 626 T0 629, TO TEST THE POSITIONAL LOGIC. i 2. 33 CYL DIF SEEK: ‘e FROM CYL O 10 32, 1 . WORST CASE SEEK OVERSHOOT TEST, FORCED BY SEEKING 10 33, 0 10 34, ... 597 10 629. 3. 400 CYL DIF SEEK: FORCES MAX ACCELERATION AND DECELERATION OF CARRIAGE Sgaenngéqfoncso BY SEEKING FROt CYL O TO 399, 1 10 400, 2 10 4«01, . e e ANN XX e e e 1 X Jv guw §o P R THIS TEST CONSISTS OF 3 SUBTESTS TO TEST THE HEAD POSITIONER AND SERVO E'."'..t.".""'"""""'""'.""'.'Qt"""'."".'.."'t""."'.""" b b o NN NN~ AN LNWN NN~NN bb b — P PO g WL NN =20 VO NO WV [ 1 1§ MOVB FS.DPB.B*10 sFIRST SEEK OF THE PAIR OF SEEKS READS FS, FT LS.DPB.C+10 ;SECOND SEEK OF THE PAIR OF SEEKS READS LS, LT MOVB FT.DPB.B+11 MOVB LT.DPB.C¢11 MOVB 005037 012737 TESTS: s 1 CLR MOV DPB.B+12 104402 15'1; TRAP ($BSUB 004437 104403 104402 004437 TSR L10036: 15.2: L10037: W NN WVIVHA VWAV == s =2 00000 o o oSSO0 soN MAINIALNINLAINLNLNINDNLNININD NNNNNNNNNNNNN COOO00O0O00000000 ~O ;6 CYL DIFF SEEK TRAP TRA? JSR TRAP RG,CALL.B SFIRST SEEK STARTS AT 0 *SECOND SEEK IS TO FIRST CYL + § ;GO EXECUTE THE COMMAND (SESUB C$BSUB R4, CALL.C (SESUB ;60 EXECUTE THE COMMAND INC INC DPB.B+12 DPB.C+12 SNEXT CYL OF FIRST SEEK TNEXT CYL OF SECOND SEEK BGE 15.11 'NOT YET, REPEAT ABOVE SEQ UNTIL OUT OF (YL CMP VI #5,0PB.C+12 NC1.DPB.C+12 -REACHED LAST USER CYL ON SECOND(LAST?) SEEK? S W o NN o OOONNINOONON 'N*d\fl:*d\rfl‘d\Pfl‘d\rfl VWAV AWV MNONUAININLNURNLNINLNLALNIND olelelolalelelelolelelels/ 233 CyL DIFF SEEK 104402 004437 104403 104402 004437 106403 53 CLR MOV DPB.B+12 #32.,0PB.C+12 15'3; TRAP ($BSUB T SR R4 ,CALL.B TRAP C$ESUB L10040: 15.4: L1001 TRAP ($BSUB JSR R4, CALL.C TRAP (SESUB ;FIRST SEEK STARTS AT 0 -SECOND SEEK IS TO FIRST CvL + 32. 160 EXECUTE THE COMMAND :60 EXECUTE THE COMMAND -t £ P o Ral R 33 TEST 5: DIFFERENTIAL SEEK TEST mery -~ oD o O -O NN — (%ab Sea@ 0119 NTIAL SEEK TEST JSBTITL [LNT, ~n ST N1, V] NT NY, € oo ~N 29 c TNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 52 5 002256 sNEXT CvL OF SNEXT (YL OF FIRST SEE SECOND SE K ;REACHED LAST USER C;% ON SECOND(LAST?) sNOT YET, REPEAT ABOVE S EQ UNTIL OuT OF INC INC (MP 002612 SEQ 0120 BGE SEEK? (vL [oleolelelololelelolololelele] 00257 00061 ~NND 6400 CYL DIFF SEEK 005037 012737 104402 004437 15.51: 0146376 L10042: 104403 15.6: 104402 006437 104401 #399.,0PB.(+12 TRAP (sBsuB JSR R4, CALL.B TRAP {SESUB JSR TRAP INC INC cMp BGE " IRAP 0 RST (vL + 399, DPB.B+12 Mov TRAP L10043: 002612 027662 CLR 002612 ($BSuB R4, CALL.C (SESUB DPB.B+12 DPB.C¢12 ?C1 DPB.C+12 5.61 CSET1ST Y D 10 - 52-1 ;G0 EXECUTE THE COMMAND ;60 EXECUTE THE COMMAND sNEXT CYL OF sNEXT (YL OF FIRST SEEK SECOND SEEK sREACHED LAST USER (YL ON SECOND(LAST?) SEEK? ¢NOT YET, REPEAT ABOVE SEQ UNTIL OuT OF (vL meg — MDD OV 7 002572 1 002612 NORIALNLNINLNIALNININIAININD NNNNNNSNNNNNYNN o oooooororOF OO » £ WNNINNNINONOR) — —~» o OHNNOO SISO (WNN IV IV IV IVWA IV IV=IVOO0 Po \I‘B oo (o 59 0 v04.00 1=-JAN=-83 11:06:45 PAGE K T S MAC SEQ 01 RPO7 FCTINL TEST MACRO V04,00 1-JAN=-83 11:06:45 PAGE 53 OSCILLATING SEEK TESTY 104402 16.11: L10045: 104403 005237 005337 023737 002361 1064601 16.2: 014560 00257 00261 00¢61 L10046: 002204 X R X R R X AR XA AR ZRAREARZCRRZARRZAZAR 2R AR R RR ARl ldld) SEEK OPERATIONS TO CAUSE AN OSCILLATING THE HEAD POSITIONER. TRAP JSR TRAP INC DEC cmp BGE TRAP e e ld el D v te —b o OCOOOOO VOVOVOO 0 Ob 0 CD O L] L] ® . L) . - ($BSuB R4, CALL.C —u CSESULB i, TRAP O~ R&,CALL.B (el JSR ADMADD ($8suB - TRAP - MovB mMove mMova MovB MOV MoV V=0 —O SRRRXERSRZZEXEZEANARZEASEAREAR AR AR R Rl dl) Ll me s Tng) 16.1: norONY NIMNLNINL ALV AL RNLAIRNLNIRNLNI NV ANV NN ) ovad ol WN = O 000~ ol il — VN O — - ~ ©oo s - © TESTG: 004437 A MOVEMENT OF 2222 XXX 16:: 106403 X TEST THIS TEST PERFORMS A SERIES OF * 014376 2 OSCILLATING SEEK POV~ — N IS NN XXX . B 20 TEST 6: LS8TTL ;G0 EXECUTE THE (OMMAND ;G0 EXECUTE THE COMMAND ($ESUB DPB.B+12 DPB.C*12 DPB.(+12,FC T6.11 (SETST JUNTIL % SEq 0122 WNRY — <9 .S8TTL X R R X X X X R R R AR R X X X R AR X R R R R TIMING TESTS WILL ENSURE XXX XXX XXX AR XX2AXEEEZZRZRXRZXZZZEZRZIZXAZNANRZNRZEZZA.2ZX2Z] TWAT THOSE FUNCTIONS BE ING O 000 NN ;TIMED ARE WITHIN THE TOLERANCES SPECIFIED IN THE ''RPO7 ;*ENGINEERING SPECIFICATIONS', ;«THE SEEK TIMING WILL BE PERFORMED USING EXPLICIT SEEK ;*OPERATIONS. AT THE COMPLETION OF EACH CF THE TIMING ;eTESTS THE MINIMUM MAXIMUM AND AVERAGE TIMES wiLL BE :«TYPED, IF TIMTyp={, .SBTTL TEST 7: ROTATIONAL SPEED TIMING TEST ..'.t.t'.t"'.""'Qt"""'""'Q'""'.".'.'Q".."".""'Q""".0"""" e OO0 NP COWVEWAN R SETME WBRWN PORNINDRLADINIAD b b b cd o b o b ech b NOWVNEB W =000 ~N WANLWANIWWNANAAANINRNINOND R TIMING TESTS i te ‘e i i THIS TEST WILL START A SEARCH TO CYLINDER FC, FS. TRACK FT, SECTOR AS SOON AS THE INTERRUPT OCCURS, THE GO BIT IS SEf AGAIN AND THE OPERATION IS TIMED. THIS PROCEDURE IS REPEATED 10 TIMES THEN THE AVERAGE TIME IS CALCULATED AND CHECKED T0 ENSURE IT 15 W1THIN TOLERANCE: 16.515 MS/REV + OR = 3% ..'t""..Qt.t"0"".""'tt'."""..'l'.'..'.".."..'""..."Q""".'...' 027772 027772 027776 030000 030002 030004 005737 003002 104432 001044 004437 035476 030012 000137 031020 030016 030020 030024 030030 030034 005005 012703 012701 004737 004737 002432 000012 015626 012262 030040 030044 C30050 030054 030060 030062 012746 012746 013746 012746 104437 062706 000300 030660 012126 000003 030066 030010 030072 030076 030102 030106 030110 030114 030122 030126 030134 030140 030140 030142 17:: ST BGT TRAP JWORD JSR CLKSTA 1% CSEXIT L10047-, R4, SRCHOO ;KW11=P (LOCK? :YES==START TEST JMP EX1T7 ;RETURN HERE IF ERROR CLR MOV MOV JSR JSR RS #17A,R3 #10. ,R1 PC,STRTMR PC,STOPCK 000010 MOV MOV MOV MOV TRAP ADD #PR106,=(SP) #17.7%,-(SP) PKV,=(SP) #3,-(SP) ($SVEC #10,5P ; COUNT UP ;TIMING LIMITS :TIME 10 SEARCHES SINITIALIZE THE TIMERS srop THE (LOCK ;SETUP VECTOR IN CASE OF (LOCK OVERFLOW 012746 012746 000000 015624 MOV MOV #PR100,=(SP) #DORTI,=(SP) 012746 104437 062706 013777 000003 MOV TRAP ADD MOV #3,-(5P) (SSVEC #10,5P FC,aRPDC 000402 013746 013746 113766 012677 104402 005077 002250 18: 2%: TEST7: 002644 000010 002204 002220 002212 152526 161754 B8R MOV 152572 000001 17.1: 17.18: MOV MOVB MOV TRAP (LR 23 ;D0 A MASSBUS INIT § RECAL :RETURN HERE [f NO ERROR ;SETUP RHMXX/RP0O7 VECTOR RPVEC,=(SP) £S.=(SP) FT1,1(SP) (SP)+,3RPDA ($BSUB aPkB sFC iFS FT SLOAD FT/FS ;START COUNTING AT ZERO =fl gg?g FCINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE S¢& =N ONE NDWO NINW ORSOCONMNINSOMNIND =NEOOCNNNSOCNN WO OB SL OO N ONOOOCONOOO® P P ) aPx(,=(SP) #101,9PKCS (SP)+ aPKB #BIT14,aRPDS 152462 17.2% PC,SAVREG WWWN —— COMNILNNIE S O0O0O0ONOE ONOW CO—H #SEARCH,ARPCST 161722 #DTADPR,R2 PC,SYRHXX #CLR,QRP(S? DTADPB,aRP(S2 P(,RESREG RS, ERRANY L10050: 000210 004422 000001 17.44% 17.10%: OO ==t O\NQO = = P oy SNNNNWN=NN 004461 0000C1 =MW =NONN) WWNNENONN VHASNNWNONW N O NN S,ONNN ~ & -B o ~ OO O TRAP MOV WAIT BIT BEQ 040000 000040 002620 00¢340 MOV MOV 17.20%: Y, Y THE COUNTED VALUE :NO==-BRANCH ::SAVE RO-RS :f 3 POINTER SSWVE ALL THE RHXX/RFO7 REGISTERS ;MASSBUS CLEAR ;SELECT DRIVE ::RESTORE RO=RS ;FIND OUT WHAT ERROR :RETRY ALLOWED ? :BRANCH IS SO 000004 17.2: 17.2%: SP,RO CSPNTF 84 ,SP 17.8% #16. ,WCEFLG #SEARCH,3RPCS? #BIT114,3RPDS 17.2% #CLR,3RP(S2 DTADPB,8RP(S2 BNE WCEFLG 1 MOV MOV #SEABAD,=(SP) #1,-(SP) TRAP ADD Mov MOV MOV TRAP ADD 000004 004525 000001 161450 *ERROR? CSPNTF Lo4LS: MOV 104402 CLOCK :AND RESTORE #4,SP #ABOTST,=(SP) #1,=-(SP) 000020 005077 :STOP THE SP.RO JMP B 77 030446 :SAVE THE (LO(K #SEAERR,=(SP) #1,-(SP) B 75 76 (OUnT UP AT 100Kk+! :START A SEAR(CH :WAJT ON INTERRUPT (SESUB 0000904 030764 R 74 JINT.EN., #BI113'BIT7,SVSTAT 002256 000004 004525 000001 000131 SEQ 0123 5&-1 #131,aPx(S 161746 152476 — olol lolelalel lolole N elo L (@Yo Yoo PR PIFEE Y, ¥ P TIMING TEST [oleleleololel) [olelelelelolololololelelelsle o OO==O=-QOW=H =0 — NS WNNISN S =2PONFINON) ~nJ ONISNINNSNYYNY SISO NNO N ~ NWNWWSNINWOWS NYINNSO NN ONNSNNNNVINONNNNO = NN SPEED OWOD 0 [eYelelel Yelele Blolalelelalelolele — 2 — — AU NI A A NI AD RO AU NI NINININD = N RN RO NV RO AN N AN N N W WNANUNNWNIWNIAAN [>]olelele]e] =B NN NN NN N OOV SN oo ON [elelelololele BN el NN = OO O NN RWVVINWNE B NNIN) = 2 = O N N O W H» CNOCNIONONCO SN ONIONONO O SN o NUAAN WA N N AN U N N AN N AN NN NN N AN W WA YN NN N elelolelelalolalaelolelolololololalololololololololelolele] o N ] ~NO N OOV ROTATIONAL o]o ol Nelelololelalelolalololololaleloldlololelelolalelels] — - w Y mr -— N D ) [C IV IV IV TV, VoW L o PV LS Y tVelo - ENTe o (e JV,IV, IRV IV IV,] 61 RPO7 FCTINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE TRAP (LR ;RETRY 16 TIMES sWAIT FOR INTERRUPT :ANY ERROR ? SEXIT IF NONE :MASSBUS CLEAR ;DRIVE ADDRESS :OVER RETRY LIMIT :BRANCH IF NOT ? SP,RO CSPNTF #4,SP #ABOIST ,=(SP) #1,-(SP) SP,RO CSPNTF »,SP 17.8% ($BSUB aPkB JEXIT :START HE COUNT AT ZERO Bl 1 000040 002620 002340 15204 15203 012324 1%: oD N 054 MOV MOV WALT 8IT ceaQ 17.7%: :SAVE ALL THE RHXX/RPQ7 REGISTERS :MASSBUS (LEAR JSELECT DRIVE ,,RESYORE RO=RS FIND QUT WHAT ERROR e (SESU 8 ;RETRY ALLOWED ? #BIT3!BIT7,SVSTAT ;BRANCH IF NOT, ABCRT TEST 17.10% #16. WCEFLG SRETRY 16 TIMES #SEARCH,aRPCS" :START TO SEARCH #817114,3RPDS 17.3% JSR DEC BLE JMP PC,COUNT gPDeTE 17.1% 17.58% sYES-=-GO TO THE :NO, LOOP JSR PC,HORSEC SRESET MOV TRAP #P°100,R0 MOV #DTADPB,R?2 R1 (L~ SERVICE idAYL HU=KS SAVE ALL THE RHMXX/RPO7 REGISTERS 17 [an1a %) T =~ D MoV MOV CHANGE DPB POINTER -.Rf“ORE RO=-RS [30] 000040 002620 17.8%: TO 4 SEC, GEY CURRENT CYLIMDI. sGET CURRENT SECTOR GEY CURRENT TRA(K o 1Y 012777 013777 EX]T MASSBUS CLEAR JSELECTY DRIVE ADDRESS OF SAVED REGISTER « 112 .WORD .WORD +WORD CSSPRI PC,SAVREG |- W 3] TRAP TIMER COUNT :DROP THE PRIORITY DVDDODNNIDD [ P R P MOV move MOvB JSR THE SO F X e Yo Yo Yo JV 1 VP o3 (=] JSR MoV MOV MOV 112 ¢MASS BUS C(LEAR sLOAD THE DRIVE ADDRESS sDECREMENT THE RETRY COUNT :2;??(“ IF NOT OVER THE LIMIT JSR 010646 ERROR #CLR ,3RP(S? DTADPB,3RP(S? WCEFLG 1% 17.20% O 000000 O==00000 030664 030670 030672 030676 :ANY :BRANCH |F NONE MOv MoV DEC BNE BR 17.3%: :DPB _POINTER s JSR JSR LTADPB BIT 8tQ 000657 004737 =de MOV MOV TRAP ;s SAVE RO-RS Ple O b - JSR O b b 040000 wn 002340 1 52052 030660 :NO--BRANCH MoV 000020 000131 030142 ;15 "ERR=1'"7 BIT BEQ JS* 00010 003444 000137 : AND RESTORE THE COUNTED VALUE MOV 152156 002254 016076 :S$/.E THE CLOCK SYOP THE CLOCK MOV L10051: 030644 030650 030652 030654 :START THE CLOCK :WAIT ON_INTERRUPT WALT 161416 SEQ 0124 A SEAR(H sSTART MOV MOV N OO S O00NOC —-— —>» OO OO O—=0—= OO OO0O0O0O0O0O0 -2 OONNO = = ANVAN = POOMNIN =N NS SRS NS =PI NOMNON WWSNNSSNONNONE OWMSNINNSNNNSNONNNO NN VVMANN N = NO NWWWNING NUWWNWN SNISNWO W SNINSN S O NN NNNNNVNSLNNONW ONNNNNNVINWNNNO = NN [elelelolelololelololeNololololololelolololelelelelol o] OO = =OWO—=—=OWDO OO0O—==0O—0O0W—H0O = [elelelolelolololololalolelelelolal el o) AN N N NN WA N AU U N AN N N AN N N NN N (=] =lolelolelololololololelalelelolel e VWY NI B » o VUL WU UV o NNO R NNE DN = = OO N~ SO »0 o NONNOOOMNICRONONNION — NNV NN = O 000 - -— — Vol -] NP O (oo do QOO0 ~NN 20000000000 OV®WNOWVNWN—=O nd d -l e e il 030642 SPEED H 10 e D and e TEST M ROTATIGNAL 99 — —d TM — [aalaV] RPO7 FCINL S2 EAR THE MASSBUS ;. ;6 SELECT DRIVE TABLE AD AO RPO7 FCINL TEST MACRO v04,00 1-JAN-B3 11:06:45 PAGE 54-3 7: ROTAY]ONAL SPEED 110 SEQ 0125 TIMING TEST 114 031000 175 031004 004737 004437 011676 016370 JSn JSR PC,ST.CLK R4,TYPTIM SINITIALIZE THE (LOCK ;GO TYPE THE TIMES 116 031012 117 (31016 118 031020 004437 002502 016240 JSR SP7 R&,SPTYP ;TYPE 013746 012746 013746 002646 0226764 002644 mMov MOV Mov RPVE(C+2,=(SP) #ISRV,=(SP) RPVEC,=(SP) TRAP ($ETST 031010 119 031020 031024 031030 031034 031040 031042 120 031046 031046 002432 012746 104437 062706 104401 17A ExiT7: 000003 000010 L10047: MOV TRAP ADD #3,-(SP) CSSVEC #10,SP ;POINTER THE SPECIFICATION VALUE ;SETUP RHXX/RP0O7 VECTOR J 10 RPO7 FCINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 55 CYLINDER SEEX B X :* EXCEED THE MAXIMUM TIME PERMITTED FOR A ONE CYLINDER SEEK. TIME TO PERFORM EACH SEEK THE TIME MUST BE LESS THAN 4MS, 2 XXX 15T BGT TRAP 1%: 18.1 18.5%: R MOV (LR MOV TS1 8EQ MOV JSR TRAP (LR R4 ,SRUHOO CSEXIT L10052-. #TIMT10,R3 DOTWO FC,DTADPB+12 FC 18.5% 'SEEK.DTADPB’Z (sBpsuBs R4 ,DRVCAL ($ESUB RS PL,STRTMR MOV MOV MOV MOV #PR106,-(SP) #18.7%,-(SP) PKV,=(SP) #3,-(SP) ADD #10,5P MOV MOov MOV MOV TRAP ADD #PR100,=-(SP) #O0RTY] ,=(SP) RPVE(,-(SP) #3,-(SP) CSSVEC #10,SP NOSOND OO0 TRAP 000010 nNOOOO S 18.2 160654 INC (MP 86T TRAP (LR AR AR PC,STOPCK AR ARERRARNSRRRRRRARRRRRARRRRR 2] :D0 A MASSBUS INIT. :NO ERROR RETURN AND RECAL :PARAMETER POINTER ;SET=UP FOR TWO ITERATIONS :START WITH BEGINNING CYLINDER JIF FC < 0 TELSE SkIP :THEN SEEK TG FC BEFORE TIMING PORTION OF ;SEEK T0 fF(C :SET THE UP/DOMN SWIT(H TO UP JINITIALIZE THE TIMERS ;STOP THE CLOCK :SETUP VECTOR IN CASE OF CLOCK OVERFLOW COSVEC ($85uUB ;SETUP RHXX/RPQ? VECTOR f(C =-=-> L(C DTADPB+12 DTADPB+12,L( 18.3% aPkB IT DOES NOT :kWl11=P CLOCK? JSR JSR IS CHECKED TO ENSURE :YES=~START TEST CSEXIT 2% LWORD KX ZZ KR 19 B8R JSR R CLKSTA ;SEEK FORWARD: e s el e b XX R L10052~-. TRAP L10053: 2R X .WORD TRAP 2%: TEST8: A X NNOOWVWN 2O IO0CO0OMNEsONNOONOTOO 18:: THE NN=2=200N AN — e o b ) b OO0 D NN b cnd i b b b OOOO0OOOOLOLOOOOOOOODOOOOOO WU NN N N N U N AN U A N AN N AN N AN N N N AN — emd wd ad el ) D o D D D D ) el il et D D D d wnd il b b e b o e e e e d e B ODOOOOOOOOO & BWWNLANIAIN) = 2 OO NN NOOOM NN XXX C15476 THE CYLINDER BY ONE FROM FC UNTIL THE INCREMENT IS GREATER THAN THE CYLINDER °*LC', THEN REVERSE SEEK TO CYLINDER ‘FC'. DO IT TWICE. .* OOOOOCD THIS TEST WILL COMMAND FORWARD SEEK CYCLES TO ADVANCE ;0 .* e 002250 TEST 8: ONE CYLINDER SEEK TIMING TEST XXX2222XX222222X22222222XX222R2 22022222 R2RRR 2R Rl dl]) .? NN AN LN ANN SEQ 0126 TIMING TEST .SBTTL (olelelelele] WIWWNIWNNUNY =0V POND ~NO PORNVMNUNOPNUN) = N WNLI=0O0 b ed b OV b D s b VB W LOY0ONONNE WA -2 : ONE :MOVE TO NFXT CYLINDER UP :0UT OF CYLINDERS? sYES, GO SEEK REVERSE sSTART THE COUNTER AT ZERO TEST . o) - 013777 012777 012777 000001 017746 042777 012677 31316 31320 31354 31330 3133, 31342 001426 004737 012702 004737 012777 013777 [olelelelelelololololololeleleolelololelolalelolsloleRN 312646 31254 31262 31270 31272 31276 31304 OV~ N (o XV, IV, 1V, 1V, BV, IV, IV, ] W 31310 31350 032777 004737 31354 31360 31362 31362 313664 31372 313724 31400 31404 104403 032737 001075 004737 004737 000707 31412 012705 31406 004537 002620 005337 002632 000105 000131 151440 151376 160630 160626 000101 160612 160614 060000 1513564 010646 002620 024472 000040 002620 151326 151320 010700 002254 016076 012450 18.2%: 002632 18.3%: 177777 BEQ JSR MOV JSR MOV MOV 18.2 PC. savnec #0TADPB,R2 PC, SVRHXX #CLR,aRPCS2 DTADPB,aRPCS2 JSR L10054: 0000640 DTADPB+12,aRPDC ;LOAD DESIRED CYLINDER #SEEK,aRP(S1 *START A SEFK #131,3PKCS ‘START THE CLOCK ‘WAIT ON INTERRUPT aPKC,=(SP) :GET THE CURRENT COUNT #101.3PKCS SSTOP THE CLOCK (SP)+,aPKB SAND RESTORE THE VALUE BIT 012664 031416 031422 031430 031432 031432 031434 031440 005337 023737 002476 031454 031462 031464 031470 031476 012777 000001 017746 042777 012677 031510 031512 031516 031522 031526 031536 001437 004737 012702 0064737 012777 013777 031446 -To Yo ] VT 031502 031542 031546 031552 031554 031554 031556 8%%222 104402 005077 013777 012777 032777 004737 004537 002620 104403 032737 001411 002632 002632 002204 18.4%: 18.3: 160462 002632 151246 000131 160436 000105 160434 000101 160420 151204 JSR DTADPB wexr1L aRPDS :ANY DISK ERRORS? PC,RESREG *RESTORE RO=RS RS ,ERRANY 040000 151162 010646 002620 024472 000040 002620 151134 151126 010700 ;POSITION ERROR? SYES, ABORT TEST SCOUNT THIS SEEKS TIME SSTALL TWO MILLISECONDS 1LOOP, SEEK FORWARD MOV #-1,RS SSET UP/DOWN SWITCH TO DOWN DEC DTADPB+12 000040 002254 FC <== LC DTADPB+12 DTADPB#12,F( 18.6% TRAP CLR MOV ($BSUB aPKB ;START THE COUNTER AT ZERO DTADPB¢12,3RPDC :LOAD DESIRED CYLINDER MOV WAIT MOV BIC MOV #131,aPKCS JSR 18,08 *MOVE ‘TO NEXT CYLINDER DOWN DEC CMP BLT BEQ JSR MOV JSR MOV MOV L10055: :FIND OUT WHAT ERROR CSESUB #BITS,SVSTAT 18.9% PC.COUNT PC.TWOMS 18.1% BIT 012664 *NO=--BRANCH ::SAVE RO=RS :DPB POINTER ‘SAVE ALL THE RHXX/RPQ? REGISTERS *MASSBUS CLEAR :SELECT DRIVE TRAP BIT BNE JSR JSR BR MOV 160422 SEQ 0127 MOV MOV MOV WALT MOV BIC MOV ;SEEK REVERSE: [e o 1o T le XV N L K 10 PO7 FCTNL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 55-1 NE CYLINDER SEEN TIMING TEST JSR DTADPB TRAP BIT BEQ #SEEK,aRP(CS1 :MOVE TO NEXT CYLINDER DOWN S0UT OF CYLINDERS? SYES, EXIT LOOP *START A SEEK aPKC,=(SP) #101.3PKCS (SP)+,aPKB *START THE CLOCK SWAIT ON INTERRUPT SGET THE CURRENT COUNT $STOP THE CLOCK *AND RESTORE THE VALUE 18.10% PC.SAVREG #DTADPB,R2 PC, SVRHXX #CR,aRPCS2 DTADPB,aRPCS2 NO--BRANCH “"SAVE RO<-RS :DPB POINTER ‘SAVE ALL THE RHXX/RPO7 REGISTERS *MASSBUS CLEAR :SELECT DRJVE RS .ERRANY SFIND OUT WHAT ERROR #81114,3RPDS PC,RESREG (SESUB #BITS,SVSTAT 18.10$ SANY DISK ERRORS? *RESTORE RO-RS ;POSITION ERROR? :NO, CONTINUE AO RPO7 FCTNL TEST MACRO v04.00 1-JAN=-83 11:06:45 PAGE 55-2 L 10 SEQ 0128 8: ONE CYLINDER SEEK TIMING TEST 031566 031572 031576 031600 031602 87 031606 88 031610 89 031614 90 031620 012746 012746 010600 104417 062706 000462 004737 004737 000676 004544 000001 92 93 94 95 005737 100450 012737 005005 002246 91 031622 031626 031632 031634 031642 39 031644 005237 000004 016076 012450 002632 177777 000137 031224 98 031650 004737 012324 031660 101 031662 031666 031672 031676 012700 104441 004737 012702 004737 012777 000000 99 100 031654 031704 031712 031716 031 & 031752 031740 102 031744 013777 016102 016237 116237 116237 004737 104456 010646 002620 024472 000040 002620 000014 000036 000006 000007 010700 031746 031750 031752 000024 006112 007604 031754 012777 000040 105 031774 004437 016370 103 031754 031762 104 031770 032000 106 032002 107 032006 108 109 932010 032014 032020 032024 032030 032032 110 032036 032036 013777 004737 002442 004437 002510 013746 012746 013746 012746 104437 062706 104401 MOV MoV MOV TRAP ADD BR 78.108: JSR JSR BR 002620 011676 78.6%: 002246 INC 1ST BM] MoV CLR JMP TR.7%: 150764 150756 18.8%: 150700 DOTWO 18.8% #-1,00TW0 RS :DONE TWICE? «1F MINUS, YES... :MARK THE FIRST ITERATION :SEEK FORWARD AGAIN DTADPB+12 78.1% MOV TRAP JSR Mov JSR MoV #PRI00,RO CSSPRI PC,SAVREG #DTADPB,R2 PC, SVRHXX #CLR,aRPCS2 ;s SAVE RO=RS :DPB POINTER :SAVE ALL THE RHXX/RP0O7 REGISTERS :MASSBUS CLEAR DTADPB,aRP(S2 14(R1) ,R2 36(R2),CYL.RD 6(R2),SEC.RD 7(R2),TRK.RD PC,RESREG CSERHRD :SELECT DRIVE :ADDRESS OF SAVED REGISTER TABLE ;GET CURRENT CYLINDER sGET CURRENT SECTOR :GET CURRENT TRACK : ;RESTORE RO=-RS 20 EM20 DH&44 MOV #CLR,aRPCS?2 sCLEAR THE MASSBUS JSR RG,TYPTIM ;G0 TYPE DTADPB,aRPCS2 PC,ST.CLK 016240 002646 022674 002644 MOV MOV Mov RPVEC+2,=(SP) #1SRV,=(5P) RPVEC,=(SP) TRAP CSETST SP10 L10052: :DROP THt PRIORITY .WORD .WORD .WORD TIMT10 JSR 000010 INOW! ! ;RESET TIMER TO & SEC, CHANGE (LK SERVICE AD MOV JSR 000003 ¢MOVE TO NEXT CYLINDER PC,FORSEC TRAP 150706 sCOUNT THIS SEEKS TIME sSTALL TWO MILLISETONDS :LOOP, SEEK REVERS_ JSR Mov Mov MOov MovB MovB JSR 002266 002272 002270 #POSERR,=(SP) #1,-(SP) SP,RO CSPNTF #6,5P 18.8% PC,COUNT PC, TWOMS 78.4% MOV TRAP ADD R4,SPTYP #3,-(SP) CSSVEC #10,SP .8 SELECT DRIVE SINITIALIZE THE CLCCK ;POINTER THE TIMES sSETUP RHXX/RPO? VECTOR M0 CIRJLAO RPO7 FCTNL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 56 TEST 9: AVERAGE SEEK TIME MEASUREMENT TEST : LSBTTL 2 3 TEST 9: AVERAGE SEEK TIME MEASUREMENT TEST ; S 2222222202222 4 p) SEQ 0129 RRRR22R2RRRRARXZRRR2RRR22 2222202222022 :! : THIS TEST WILL MEASURE THE AVERAGE SFEK TIME AS FOLLOWS: : 1 WHERE: 2 X [ (T1 R0 22 X2 ] X 629) + (T2 X 628) ¢ (T3 X 627) *+....* (1629 x 1] 6 : g ; 10 1 : . 13 ;:ttt"t"".'t""""""t"t'l'ttt'ltttt't't"t't't't"t't"'t".tt"'t"t.. 7 12 (AV(Q)ceemeccccccccccccccnccncccncncscscccaconasssscccacscccssascccns : 14 15 16 17 18 032040 032040 032044 032046 032050 19 032052 20 032056 21 032060 032062 22 032064 23 032070 24 032074 25 032100 26 27 032104 022110 032114 032120 032124 032126 28 29 032132 032136 0321642 032146 032152 032154 30 032160 31 032164 32 032170 33 032176 34 032202 032202 35 032204 36 032212 37 032220 38 032222 39 032226 L0 032234 41 032240 42 032246 43 032250 032254 005737 003002 104432 000702 004437 000402 104432 000670 012703 013701 004737 004737 012746 015476 1$: 002452 002256 015626 012262 2%: TEST9: 000300 012746 013746 012746 106437 062706 032536 012126 000003 012746 012746 013746 012746 104437 062706 005037 005237 013777 005077 000000 015626 002644 000003 104402 012777 012777 000001 017746 042777 012677 000105 000131 157676 150516 150446 157700 157664 032777 040000 150624 012702 010646 002620 001426 004737 19.1%: 19.1: 000101 157662 ST BGT TRAP .WORD JSR BR TRAP LWORD MOV MOV JSR JSR MOV 000010 000010 032754 032754 032754 157720 THE TN IS THE MEASURED TIME INTERVAL FOR SéEKING FROM CYLINDER O TO CYLINDER N OR FROM CYUL NTO CYL O 2X629 19:: 002250 629 X 629 Y 1S THE CLKSTA 1% CSEXQT (10056~ R4, SRCHOO 2% (SEX]T L10056~. #TIMT11.R3 NC1,R1 PC,STRTMR PC.STOPCK #PR106,=(SP) MOV MOV MOV TRAP ADD #19.7%.-(SP) PKV,=(5P) #3,-(SP) CS$SVEC #10,5P MOV MOV MOV MOV TRAP ADD CLR INC MOV CLR #PR100,=(SP) #DORT],=(SP) RPVEC ,=(SP) #3,-(SP) C$SVEC #10,5P INCCYL INCCYL INCCYL ,aRPDC aPKB TRAP MOV MOV WAIT MOV BIC MOV ($BSUB FSEEK,ARPLST #131,3PK(CS BEO JSR 19.2 PC. savnzc aPK(,=(SP) #101.3PKCS (SP)+,aPKB BIT aaxt1l arRPDS MOV #0TADPB,R2 TOTAL NUMBER OF SEEKS. SKW11-P CLOCK? SYES==START TEST ;D0 A MASSBUS :RETURN HERE INIT & RECAL If NO ERROR ;PARAMETER POINTER SCOUNT AND COEFF JCIENT SINIT. THE COUNTERS SSTOP THE CLOCK SSETUP VECTOR IN CASE OF C'.0CK OVERFLOW ;SETUP RHXX/RPO7 VECTOR SINITIALIZE THE SEEK CYLINDER ADDRESS : INCREMENT THE SEEK CYLINDER ADDRESS <SEEK ADDRESS :START COUNT AT ZERO ;START A SEEK SSTART THE CLOCK :WAIT ON INTERRUPY :STORE THE COUNTED VALUE SSTOP CLOCK SAND RESTORE THE COUNT ;ERR=12 NO=-<-BRANCH ..SAVE RO=RS :DPB POINTER — LAO RPO7 FCINL TESY MACRO v04.00 1- IAN-83 11:06:45 PAGE 56-1 AVERAGE SEEK TIME MEASUREMENT 032260 032264 004737 012777 024472 000040 46 032304 45 032310 46 032312 004537 002620 012664 032272 032300 013777 004737 032312 032314 032322 032324 032326 032332 032336 032336 032340 104403 032737 001063 005005 004737 004737 55 032352 56 032360 57 032366 012777 012777 000001 50 51 52 53 5S¢ 032344 58 032370 59 032374 60 032402 61 032406 62 032414 63 032416 032422 032426 104402 005077 002620 010700 000040 157556 78 032536 79 TRAP CLR ($B8SUB aPKB JSTART THE COUNT AT ZERO MOV MoV WAIT #SEEK,BRPCST ny, aPKCS PC,.SAVREG #DTADPB,R2 PC, SVRHXX 012777 004737 004537 104403 032737 001411 000466 ;9 032534 :POSITION ERROR? JYES, ABORT TEST :SET UP/DOWN SWITCH TO uP UPDATE THE COUNT sSTALL 2 MSEC JSR MOV JSR 012677 032777 001437 70 032512 73 032524 74 032530 75 032532 19.2: ($ESUB #BITS,SVSTAT 19.4% RS PC,COUNT? PC,TWOMS aPKk(,=(SP) #101,a3PK(S 012746 012746 20 19.2%: 157514 040000 010600 104417 062706 012705 004737 004737 005301 003214 000040 010790 012664 150300 157532 MOV BIT BEQ 150256 150230 MOV 150222 MOV JSR JSR L10060: 000040 004544 000001 002254 19.4%: DTADPB TRAP #0,3RPDC (SP)+ ,aPKB #BIT14,aRPDS 19.3$% #CLR,aRP(S2 DTADPB,aRP(S?2 PC,RESREG RS,ERRANY C($ESUB BIT #B1T15,SVSTAY MOV MOV #POSERR,=(SP) #1,-(SP) 8EQ 19.3% SALWAYS SEEK BACK TO THE FIRST CYLINDER :START A SEEK :SIART THE CLOCK ;WAIT ON INTERRUPT :SAVE THE (1.LOCK VALUE :STOP THE (CLOCK :NOW RESTORE ERR 1? NO=-=BRANCH THE VALUE :SAVE RO=RS DPB POINTER :SAVE ALL THE RHXX/RPQ7 REGISTERS ‘MASSBUS CLEAR JSELECT DRIVE {RESTORE RO-RS ;FIND OUT WHAT ERROR ;POSITION ERROR? :NO, CONTINUE 000004 MOV TRAP ADD 1177777 MOV 0-1 RS :SET UP/DOWN SUII(H 10 DOWN JSR DEC 86T PC,TWOMS R1 19.15 JSTALL 2 MSEC :DONE? *NO==BRANCH 015676 012450 000455 8k JSR B8R SP,RO CSPNTF #4,5P 19.8% PC, (OUN‘Z 19.8% 004737 012324 JSR PC,FORSEC 80 012700 000000 [ 101" #PR100,RO 81 004737 012702 010646 0026¢0 JSR MOV PL,SAVREG #DTADPB,R2 106461 -SELECT DRIVE ,,RESTORE RO=RS TRAP BIT BNE (LR JSR JSR MOV BiC 032472 032472 032476 72 0 002254 157516 002620 16 ;FINDOUT WHAT ERROR 157530 000101 032456 032460 032460 710 RS ,ERRANY DTADPB,aRP(S2 ~C,RESRE 0177246 042777 000105 000131 002620 (32502 032504 032506 JSR DTADPB MoV JSR mMov 013777 032470 ;SAVE ALL THE RHXX/RPO7 REGISTERS JMASSBUS CLEAR 150342 032440 032462 PC,SVRHXX UCLR aRP(S2 000000 010646 002620 024472 032446 032452 150370 JSR MOV 012777 004737 012702 004737 032432 150376 015676 012450 Sea 0130 Tg53Y TRAP ($SPRI UPDAIE THE COUNT SYES==EXIT SRESET TIMER 1O & SEC, C(HANGE (ix StERvICt AD :DROP THE PRIOR]TY ::SAVE RO=RS :DPB POINTER OOoO0CO (= — o o cand » NN »n SNNSNSN W SN ~ OO NN N AN N NN MNONOMNINVMNONLND 062706 &» ~N ~ A\ 104401 000000 sSAVE ALL THE RHXX/RPQO? REGISTERS & P M wrN) =20 JSR Mov MOV MOV MOV TRAP ADD TRAP T WDNM A AAMa TEY D OVIYWNs & & <o VI IN) O oO o BN W S H00 OONO 000010 +MASSBUS CLEAR DN m [~ —=OO0O0O00ON JSR MOV MOV Mov MoV MovB mMovs SELECT DRIVE ;ADDRESS OF SAVED REGISTER TABLE ET CURRENT CYLINDER ET CURRENT SECTOR C\C\O OOO0OONO &~ NOOOoOOOO S QOCN—NIESN ONOONSOON [elaleoleBNololelalelelele NNNNNONNN OOON N OO - PNOWN & NSO TEST ET CURKENT TRA(CK : :RE :§ eT ;0 RE RO=RS RHXX/RPQ7 VECTOR .WORD .WORD .WORD :CLEAR THE MASSBUS MOV ;8 SELECT DRIVE ;INITIALIZE THE CLOCK MoV JSR JSR :GO TYPE :POINTER TIMTYI JSR SP11 [) © 670 676 TIME MEASUREMENT 880000 OO == OO0 OOOCOPO =O—=0000 DS dded O—=-00000 O d b b D s O oo RS E ol NIV T NIV R Yo Yo o Jo JV (CP o) NN NN N AN N NN N AN NN AN NN NN FONLALNLNUNINLNLAININVNINININVNININY 660 662 SEEK OB NOSSWNY WSS NN ~ 2 NVNVNWNN ~N O NMNONNN ~N MO >» 0 < 0 93 94 [elelelolelelolo Blelololelelololololololalololololele BNololalelolelala) AN NN N NN NN ORI RAGE W 92 [=] oo Qo [ [N] 84 SEQ 0131 7 FCINL TEST MACRO v04.00 1-JAN=BT 17:06:45 PAGE 56-2 Muv 000003 000010 L10056: INCCYL: RPVEC+2,-(SP) THE TIMES :SETUP RHXX/RP0O7 VECTOR #ISRV,=(SP) RPVEC,=(SP) #3,-(SP) MOV MoV MoV TRAP ADD #10,5P TRAP CSETST .WORD 0 ($SVEC sCYL ADR COUNTER SEQ 0132 - TIMING TEST LSBTTL TEST 10: MAXIMUM SEEK TIMING TEST ::QtttttQt""ttt'""t""'t"""'t""'.'QQ""...'t't"'.'t't'QQ't"'t't"' e e v THIS TEST WILL COMMAND A FORWARD SEEX FROM CYLINDER O TO CYLINDER "LC*, THEN A REVERSE SEEK FROM CYLINDER *LC' T0 CYLINDER 0. BOTH SEEKS ARE TIMED AND CHECKED TO ENSURE e e e TIME. THIS SEQUINCE IS REPEATED 512 TIMES (FOR A TOTAL OF 1024 SEEKS). THE MAXIMUM SEEK TIME MUST BE LESS THAN 46 MS. °'LC* DEFAULTS TO 629 (10) ;e B THEY ARE WITHIN THE TOLERANCE ALLOWED FOR THE MAXIMUM SEEK fFOR RPO7'S. ::t't"'t"t""t't""""'"""'t"tt'"l't!t't't"."'t"""""".tt""' 032756 ) T10:: 032756 005737 002250 032762 032764 032766 003092 1044%2 000642 032774 00040? 032770 00443f 032776 033000 104437 00060 033006 012°01 033002 033012 033016 015476 012?J3 002462 004737 004737 015626 012262 032022 012746 000300 033032 013746 012126 023026 012746 033146 032777 040000 012677 033154 033156 033162 001426 004737 012702 033172 033200 012777 013777 033166 04737 TRAP .WORD MOV JSR JSR MOV MOV TRAP ADD 012746 012746 013746 012746 106437 062706 MOV 000000 015624 002644 070003 000010 157016 002206 000105 000131 156770 000101 156754 010646 002620 024472 000040 002620 110.1: 147602 147540 156772 R4 ,SR(KOO ;D0 A MASSBUS INIT & RECAL 28 JSR 000093 033050 033054 033060 033064 033070 033072 033076 037076 033100 033104 033112 033120 033126 033130 033134 (KW11=-P CLOCK B8R TEST10: MOV 000010 CLKSTA 1$ CSEXIT L10061-, MOV 012746 106437 062706 033142 2%: 1£31 BGT TRAP .MORD 033442 )33036 033042 033044 104402 005077 1 7 012777 012777 000001 017746 042777 1%: 001000 Y cn MOV MOV MOV MOV TRAP ADD TRAP 110.1%: CLR MOV MOV MOV WAIT MOV BIC MOV CSEXIT L10061-. LYES==START TEST ‘RETURN HERE IF NO ERROR #1IMT12,R3 ;PARAMETER POINTER PC,STRTMR PC.STOPCK YINIT. THE TIMERS tSTOP THE CLOCK SSETUP VECTOR IN CASE OF CLOCK OVERFLOW #512. ,Ri #PR106,=(SP) SREPEAT "0-'LC'=0'" 512 TIMES #110.7§,~(SP) PKV,=(SP) #3,-(SP) ($SVEC #10,5P #PR100,=(SP) :SETUP RMXX/RPQ? VECTOR #DORTI,=(SP) RPVEC,=(SP) #3,-(SP) (SSVEC #10,SP ($BSUB aPKB LC,aRPDC #SEEK,aRPCST #131,3PKCS (SP)+,aPKB :START COUNTING FROM ZERD sMAXIMUM CYLINDER *START A SEEK ‘START THE CLOCK ‘WAIT ON INTERRUPT ‘SAVE THE CLOCK *STOP THE CLOCK SAND RESTORE THE CCu.iED VALUE BEQ JSR MOV 110.2% PC.SAVREG #DTADPB,R2 *NO--BRANCH 2. SAVE RO-RS ‘DPB POINTER MOV MOV #CLR,3RP(S2 DTADPB,aRP(S2 *MASSBUS CLEAR :SELECT DRIVE BIT JSR aPK(,=(SP) ¥101.3PK(S #B81114,aRPDS PC,SVRHXX {ERR=1? :SAVE ALL THE RHXX/RPQ7 REGISTERS TMMry OO0 Dt OWYO0 bbb =2 B ~NOWVE WO 000NN - : MAXIMUM SEEK OB NN = NNV RPO7 FCINL TESY MACRO v04.00 1=JAN=-83 11:06:45 PAGE 57 033206 023212 033216 033220 033220 033222 004737 006537 002620 033232 0332364 033240 033244 033244 033246 005005 004737 004737 016076 012450 10440; 005977 156650 033256 033264 033272 033274 033300 012777 012777 000001 017746 042777 000105 000131 147374 156626 032777 156624 000101 156610 040000 O OO 00 NPV NN — NN NN 033330 033252 033306 033312 104403 (32737 001062 00507/ 012677 033320 033322 033326 033332 001437 004737 012702 004737 033344 033352 033356 033562 033364 033364 033366 013777 004737 004537 002620 033336 033374 012777 104403 032737 001411 010700 012664 147436 010646 002620 024472 000040 002620 010700 012664 ::RESTORE KO=-RS ‘FIND OUT WHAT ERROR TRAP YR CSESUB #BITS, SVSTAT ;POSITION ERROR? CLR JSR JSR RS PC, COUNT PC . TWOMS *SET THE UP/DOWN SWITCH TO UP ‘UP THE COUNT PSTALL FOR TWwO MILLISEC TRAP (LR ($BSUB aPKB #SEEK,aRPCST #131,3PKCS 156612 MOV MOV WAIT MOV BIC 147352 BIT 002254 110.2%. 110.2: BNE CLR 147324 002254 ~o--enn~cu ::SAVE RO=-RS :DPB POINTER ;SAVE ALL THE RHXX/RP0O7 REGISTERS MOV JSR JSR DTADPB DTADPB .aRP(S2 P(.RESREG RS . ERRANY JSELECT DRIVE *RESTORE RO=RS *FIND OUT WHAT ERROR TRAP BIT CSESUB #BITS, SVSTAT MOV MOV MOV TRAP ADD #POSERR,-(SP) #1,-(SP) SP.RO CSPNTF #4,SP BEQ #CLR,aRP(S?2 110.3§ 012705 004737 004737 005301 003220 000442 177777 016076 012450 110.3%: MOV JSR JSR DFC BGT B2 ¥-1,RS PC,COUNT PC. TWOMS RY 110.1% 110.8% 033442 0064737 012324 110.7%: JSR PC,FORSEC 033446 033452 033454 033460 033464 033,70 033476 012700 104441 004737 012702 004737 012777 013777 000000 MOV TRAP JSR MOV JSR MOV MOV #PR100,RO C$SPRI PC.SAVREG #DTADPB,R2 PC,SVRHXX #CLR.ARPCS2 DTADPB.aRPCS2 010646 002620 (024472 000040 002620 BR 147172 147164 ‘START A SEEK SSTART THE CLOCK ‘WAIT ON INTERRUPT SSAVE THE CLOCK 1STOP THE CLOCK 110.3$ PC,SAVREG ODTADPB R2 PC.SVRflXX 033420 033424 033430 033434 033436 033440 _ ‘BEGINNING CYLINDER IS 0 BEQ JSR MOV JSR 081714 arRPDS 004544 000001 000004 :START COUNT AT ZERD MOV 012746 012746 010600 104417 062706 000453 110.4$: arRPDC :YES, ABORT TEST aPKC,=(SP) #101.aPKCS (SP)+,aPKB MOV 147316 110.4$ 033376 033376 033402 033406 033410 033412 033416 110.88 TM SEQ 0133 PC,RESREG RS ERRANY L10063: 000040 D 1 JSR JSR DTADPB £19062: 00000 57-1 - RPO7 FCTNL TEST MACRO V04.00 1-JAN=83 11:06:45 PAGE : MAXIMUM SEEK TIMING TEST Nou nesroae cLOCK L ERR" 'z ‘MASSBUS CLEAR :POSITION ERROR? *NO, CONTINUE :SET THE UP/DOWN SWIT(H TO DOWN *UPDATE THE COUNT SSTALL FOR TWO MILLISEC *DONE? *NO-=BRANCH SYES-=EXIT ;RESET TIMER TO & SEC, CHANGE CLK SERVICE AD ;DROP THE PRIORITY : :SAVE RO-RS :DPB POINTER :SAVE ALL THE RHXX/RPQO7 REGISTERS *MASSBUS CLEAR :SELECT DRIVE CIRJLAQ l RPO7 FCTYNL TEST MACRO v04.00 1-3AN-83 11:06:45 PAGE 57-2 SEQ 0134 10: MAXIMUM SEEK TIMING TEST — (o] JOA=MRNANINIWNONIOMANMMWMNNCN | [¥9)[+ 4 [ L4[ o]d (V9] [aY-a—YaY . o -d — - NWVol o[«MMoo—0]anoo-2awnrzY—sTr[—VWY<V,a0~wWyb=Q@b TEST t E 1 o ZE D> > —4 —4“ . ” E 3 —_ ON =0 LSBYTL sEQ 0135 TEST 11: MIN-TRANSFER SEEK TEST PN Y '"t"'.""l't""'""'""""""'Q..".'.""'.....'.'..'...'."0'."'." ;THIS TEST EXECUTES READ-DATA COMMMANDS TO EVERY TRACK [N THE CYLINDER. N W FIRST(STARTING) YHE FULL TRACK TRANSFER IS MADE IN 2 PASSES: 1ST PASS, SECTORS: Q0. THRU 24. TETETE FE TR - 1 F SFER SEEK TEST D N=2OWVONOWVNEWN POV NO WV WA 2OV NOWVESWN— 2ND PASS, SECTORS: THE - S (N NN ONNAES £ B NN NININI N =2 O O N W rnOSOMNLO S OO0 ONSOCONSOONONNN o » (elelolaleleldlalelelole) (e BN elelelelelelolelelelolelalelololelelelalels] AN U AN U AN L AN N AN AN N N AN AN IR TR IR IR IR b AN AN AT NORINO NI ND NI NINIAD b =d d cod e ol cod e —. L TEST MACRO v04.00 1-JAN=-83 11:06:45 PAGE 58 004737 004737 020226 012262 112737 000171 113737 013737 012737 112737 113737 013737 012757 005037 PC,RPINIT PC,STOPCK Mova ORDDAT DTADPB+?2 READ-DAYA COMMAND MOV MOV 002744 002246 00c62°2 002630 002631 MOVB MOVB 002632 002634 11 112737 000031 002246 062737 000762 177400 005037 105037 62737 002246 002630 177400 04403 13702 002631 002216 002214 0N2631 020226 002624 002624 #REG,DTADPB+14 :RHXX/RP0O7 REGISTER TRAP ($BSUB JSR 1St BM] R& ,DRVCAL DOTWO 28 ;START A DATA TRANSFER :DONE HALF TRACK TW]C(E? SYES, EXIT 2 ITERATIONS LOOP MOVB #25.,DTADPB+10 :TFR 2ND HALF OF ADD BR 2$: L 10065 : TRKW(, DTADPBO‘ ASSUHE HALF FULL TRAC(K JDBUFF.DTADP806 :BUFFER ADDRLSS MOV DEC 1%: :DRIVE ADDRESS :SECTOR ADDR *TRACK ADDR (LR 002630 DRVNO,DTADPB SINITIALIZE THE SUB-SYSTEM :STOP THE CLOCK #0,DTADPB+10 FT.DTADPB+11 MOV 128 005337 04401 JSR JSR 002624 002626 014742 002246 04737 11:: 002344 042610 002204 = FC = FT = LT =1 =0 't't"t.t't't"'t""""ttt'"'.tt.'.QQt".t"t"."..."."0".."'.'.'.0" MOVB 004437 005737 100411 00740 STARTING CYLINDER STARTING TRACK ENDING TRACK INCREMENT TRACK STARTING SECTOR 002620 106402 63702 23702 01403 10237 PARAMETERS : 002654 000000 002212 25. THRU (49, +1) CLR (LRB SuUB TRAP 711.58: MOVB ADD CMP BLOS MOVB BR EXITI1: JSR L10064: TRAP FC.DTADPB+12 DOTWO DOTWO :CYLINDER ADDRESS RESET 2 1TERATIONS CONTROL *NO, MARK 2ND ITERATION TRACK #=256.,DTADPB+4 ;VES SET WC FOR 2ND HALF TRA(CK + 1 SECTOR 111.2% *LOOP TO TFR 2ND HALF TTRACK 0D0OTWO :RESET PARAMETERS FOR 1ST LOOP DTADPB+10 RESTART AT SECTOR O #-256.,DTADPB+4 U( FOR 1ST HALF TRACK ($ESUB DTADPB+11,R2 11,R2 LT.R ExiTh R2,DTADPB+1 111.2% PC,RPINIT CSETST ;UPDATE THE TRACK ADDRESS SADD THE DESIRED TRACK NUMBER TOVER THE TRACK LIMIT? ‘BRANCH [F SO ST0 NEXT TRACK *LOOP BACK - I O ERROR REGISTER BIT = b b —d o e o o b OO NOWVNBWNWNI="DIOC N A BN = PUPRONIND ~N W AN 2OV~ WUNLNN VIS NN 6 11 SEQ 0136 TEST .SBTTL W~ : RPO7 FCINL TEST MACRO v04.00 1-JAN=83 11:06:45 PAGE 59 TEST 12: ERROR REGISTER BIT TEST ::"".""""""'""""Q""""'.""""'.""""""""""'Q"""'. ‘e THIS TEST FORCES LBT & AOE ERROR BITS THAT ARE NOT FULLY CHECKED BY THE Pe LBT,AOE: ‘e MICRO DIAGNOSTICS READ THE LAST USER SECTOR WITH A WORD COUNT >256. ::"'i."t'!".""""""'"""""Q"'t""""."""".'Qt.".""""". V34036 034036 036042 034046 004737 004737 113737 020226 012262 002756 034062 012737 036054 034070 0364076 034106 036112 034144 C34146 034150 034152 034154 034154 034156 034164 034166 104456 000062 007246 000000 001005 104403 032762 001403 0064537 002620 062737 104402 034206 036210 004737 032762 034220 034222 034224 034226 034230 0346230 N34232 104456 000063 007340 000000 034216 001005 034240 0346242 034250 034252 034256 034260 034262 034262 036262 034262 MOV #SCTRWC ,DTADPB+4 002262 002631 002256 104402 004737 032762 0346202 002624 013737 034126 036130 034134 8%2}53 177400 042610 002264 012737 034172 PC,RPINIT PC.STOPCK DRVNO,DTAOPB 012737 113737 8%2}%2 034142 002620 JSR JSR MOVB 112737 000171 113737 104403 042762 001005 032762 001001 000403 006537 002620 10449" T12:: 002744 015C44 002000 002622 MOVB 002626 002630 002632 002634 MOV MOVB MOVB a1 000012 040000 000012 T1ST12: 002624 }?é , 012664 1776400 015044 00100C 001000 000014 000200 000062 012664 #REG.DTADPB+14 :POINT TO RHXX/RPO7 REG TABLE SAVED ON CMD DONE TRAP JSR BIT ($BSUB PC,EXECMD #LST,12(R2) ;EXEC CMD 1LBT=1? TRAP .MWORD .WORD WORD CSERHRD S0 EMSO O TRAP BIT BEQ JSR CSESUB #ERR,12(R2) 1$ RS, ERRANY ADD #SCTRWC ,DTADPB+4 MOV DTADPB ($BSUB TRAP .MORD LWORD WORD (SERHRD S1 EMS1 O TST12A CSESUB #AOE , 14 (R2) 10K, SKIP :OTHER ERRORS? :NO, SKIP SYES, FLAG THEM sSET DPB TO READ BEYOND LAST SECTOR SATTEMPT TO READ PAST LAST SECTOR TAOE=1? ;0K, SKIP :CLEAR ERROR IN ERROR TABLE 1% #DVC,42(R2) 1% ‘FLAG OTHER ERROR, IF ANY *(ER2) (ER3) = 0 ? 'NO, FLAG OTHER ERRORS JSR RS, E RRANY ‘FLAG ERRORS TRAP (S$ETST BNE BIT BNE 28: EXIT12 L10066: 1712 PC.EXECMD #AQE , + « (R2) TRAP TST12A: BIC 1%: NC1.DTADPB+12 JSR BIT BNE £10070: sSET WORD COUNT TO READ ONE SECTOR #DBUFF ,DTADPB+6 ;DATA BUFFER NS1,DTADPB¢10 :SET LAST USER SECTOR IN DPB :1.E., CYL 629, TRK 31, SEC 49 TRAP 000014 #RDDAT,DTADPB+2 :SET READ CMD IN DPB NT1.DTADPB¢11 MOV BNE L10067: ;INITIALIZE THE SUB=SYSTEM SSTOP THE CLOCK :DRIVE AD BR DTADPB 2% TSKiP ON (ER1) (ER2) (ER3) = 0 -4-...-.. B . NN~ OO0O0 == NN (NINNNININNWA NNNNNNNYN JSR TEST13: TRAP JSR BIT BNE TS113: 113.2: 10660 b - N-—‘ W : sOPERATE ON FS,FT,F( sLOAD OFFSET CMD DTADPB+14,R2 #OM,12(R2) 15713 ($ESUB MOV #RTC,DTADPB*? ($8SUB JSR R& ,DRVCAL BIT #0M, 12(R2) 113.1% .WORD .WORD +WORD SINITIALIZE THE SUB=SYSTEM sSET ITERATION COUNT ;GET DRIVE NUMBER sPOINTER TO RHXX/RPQ7 REG TABLE TRAP 8EQ O 002240 DRVNG,DTADPB -WORD .WORD .WORD Mov £10073: #10.,1TCNT CSERHRD 54 EMS4 0 TRAP 104403 104432 PC,RPINIT TRAP TRAP 000012 000067 007521 000000 001312 MOV MoV Move Mov8 MOV MOV MOV MoV — SO o 1 3:: - w NN NN ~ NNOOO &» OO 104456 104402 004437 013702 032762 001407 Rdldd]) AND CHECK FOR ERRORS, VERIFY THE RESETTING OF OM, L10072: 002622 R0 ttt'fl""".""'."""""""'t".'"."."""".Q"'."".'Q"""'."" 113.1: O WO NN O0O0=—-000 ad e e ad e e e O NIRNIWNINWNNRN & OO = Yol WSS N AN N N N N N NN NN N N P O W Rl aF o F ok o NN NN N AN N NN PO NN w AN SO NN ONSOO S or NS W\‘.:WWWWWW O P oP o F PR o OO0O0OOOOO (@lelolelololaleleloelole]le vV WNNNN A AN 0H .y S N — - [=]lele] 034426 OOOOOOO0 012737 2 RARdRdRRd . 000012 4376 AR ISSUE THE RETURN TO CENTER LINE COMMAND, PROCESS THE ATTENTION INTERRUPT bR 104403 RR ]SSUE AN OFFSET COMMAND, PROCESS THE ATTENTION INTERRUPT AND (HE(K FOR bl4 000000 2222222 XXX R 2 2R ERRORS,VERIFY THE ASSERTION OF OM OF RPDS. ¥ L374 SEQ 0137 13: OFFSET/RETURN=-TO-CENTER-LINE TEST X X2 X2 ‘% -— I oo~ [« SRV TEST .SBTTL 4354 H 11 TEST —m (NO O~NO W =200 WLNNWAN WA W — Bl 4 OO ~N (5, rororOoNON) SN = O —d e b D oD i waed i D VNP WNSWNND OO0 NRWNES W)= : OFFSET/RETURN=TO-CENTER=-LINE NN W —. RPO7 tCTNL TEST MACRO V04,00 1-JAN-83 11:06:45 PAGE 60 DTADPB*14,R2 CSERHRD sSTART A DATA TRANSFER SgINYgg TO RHXX/RPO7 REG TBL SAVED ON (MD DONE :OK ;LOAD RETURN TO CENTER LINE (MD -START A DATA TRANSFER zglN'Sg TO RHXX/RPO7 REG TBL SAVED ON (MD DONE : 0K ’ TRAP TRAP .WORD DEC BNE TRAP SAVED UN (MD DONE ;DONE ITERATIONS ? :BR [F NO LSBTTL TEST 14: RANDOM READ TEST ?HIS TEST RANDOMLY SELECTS A SECTOR ADDRESS: (YL BETWEEN °C AND LC, ; TRK BETWEEN FT AND LT, SEC BETWEEN FS AND LS. :1F THERE ]S NO P-CLOCK, IT THEN EXECUTES A READ DATA (OMMAND :AFTER EACH READ=DATA COMMAND, :BUS, DATA P O 2OV THE PROGRAM VERIFIES THE TO 1 SECTOR AND VERIOUS RMX)/RPO7 REGISTERS. *1F THERE IS A P=CLOCK,THE PROGRAM PERFORMS AN ADDRESS MARe DETECTION TEST: 1T VER!F]ES THAT DATA (AN BE READ CORRECTLY WITHIN THE S&ME DISC REVOLUTION ASA SECTOR DETECTION, SEARCH FOR THE LOGICAL SECTOR PRECEDING THE SELECTED :SECYOR TO READ, THEN READ THE SELECTED SECTOR, TIME THE SEARCH DONE-READ DONE ;70 BE WiTHIN A DISC REVOLUTION. FLAG LOST REVOLUTIONS. NNNNNNNOCNN OO —=—=00000 b d ad ek = OO PORONINUAN & S~ NN NNNNNNNONN W 004437 562 001206 46 034636 034642 0564046 034652 004437 000402 000137 N 042 N 004737 H & 034610 034614 034620 034624 034630 034632 002240 T14:: MOV TST XTIMES, ITCNT CLKSTA ;SET ITERATION COUNT ‘P=CLK PRESENT? JSR PC,RPINIT VINITIALIZE THE SUB=SYSTEM MOVB DRVNO,DTADPB ;LOAD THE DRIVF ADDRESS BGT JSR }gzr}a: 1L10075: R4, RANADR TST14A: 035742 015626 000101 000300 035542 012126 000003 000010 000000 015624 002644 000003 155310 #DBUFF .DTADPB+6 :BUFFER ADDRLSS #REG,DTADPB+14 :RHXX/RPO7 REGISTER TABLE ($BSUB JSR R4, DRVCAL TRAP (SESUB TRAP 015476 1STOP THE CLOCK JSR EXIT14: DEC BNE 002240 PC.STOPCK ‘YES, EXEC RAND READ TEST ¢ AD MARK DET #RDDAT,DTADPB+2 :EXECUTE READ (OMMAND #-256..DTADPB+4 -WORD COUNT = ° SECTOR TRAP 014742 TST14A MOVB MOV rov MOV 106632 NNNN 034576 034602 104403 005337 001367 O—=0000 034572 104402 004437 OO0 OO NN DN OO 034454 AN AN WNAAN AN AN AN NN ::'t""'.t."..""""""""".'l.'..'.""'Q'.Q"'t"'.!"".Q""'."Q"' OCOO0O0OO0O0O0O0O0O NO NS NN =OOONO NS W OV ~n el — SEQ 0138 S X222222XX22222ZZZX2X2RRX2Z22Z22ARAXZIARARARRARRRRXXRRARARRRARRRRR R RRdRdRAR)l) 34570 45 I N &~ NDOM READ TEST NRWVESWBWI—= - WANNURUNRURONLNUNININD ) = = e e b b d b b N (v — (V2 - -t mey : RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 61 [TCNT TESTI4 CSEXIT :GENERATE A STARTING ADDRESS ;START A DATA TRANSFER :DONE ITERA 'ONS ? :BR IF NO .WORD L10074~. JSR R4, SRCH00 :MASS BUS INIT & RECAL JMP XITi4 TEXIT ON RECAL ERROR B8R JSR 1% PC,STRTMR BIC #101,3PKCS MOV #PR106,=(SP) MOV PKV,=(SP) MOV MOV TRAP ADD ;INIT THE TIMERS *STOP THE P=CLOCK TSETUP VECTOR IN CASE OF CLOCK OVERFLOW #116.76,-(SP) #3,<(SP) CSSVEC #10,5p MOV #PR100,=-(SP) Mov #3,-(SP) MOV MOV *NO RECAL ERROR, CONTINUE #DORT],=(SP) RPVEC,=(SP) ;SETUP RHXX/RPO7? VECTOR TEST MACRO V04.00 1-JAN=-83 11:06:45 PAGE 61-1 J 1 SEQ 0139 RANDOM READ TEST 034656 034660 034664 104437 062706 005005 TRAP ADD 000010 CLR CSSVEC #10,5°P RS sSET COUNT=UP FLAG FOR (OUNT SUBR EEE s THE TARGET SECTOR BY 2, 017544 002630 000004 034666 034672 034676 116.1%: 145766 000002 000062 034720 1%: 2%: 034722 834724 SN [ X"] 145740 002631 000001 145676 177400 042610 002472 000006 THE VALUE OF THE Z2ND LOGICAL R4 ,RANADR DTADPB+10,R1 #ILV,aRPDS 2% #2,R1 1% #50. R 48 :GEN A RAND ADR: (vL, TRK, SEC( ;6T TARGET SECTOR ADDRESS 10 READ :1S INTERLEAVED SECTOR ENABLED ? :BR [F YES .BACKUP THE SECTOR ADDRESS FOR THE SEAR(CH :BR If < SECTOR 0 :ADJUST FOR ADDRESS BEFORE SECTOR 0 JEXIT 1S1 R1 :1S JT SECTOR ADDR O ? ADD #24. R :REDUCE ;PREPARE 1% #25. ,R1 3% #25..R1 ;BR IF YES JIS 1T SECTOR ADPDR 25 ? ;BR [F NO :ADJUST FOR THE ADDRESS 8tFfQRE SECTOR O THE TARGET SECTC(R BY / 7O SEARCH L) ——t b b [ o OOOOO==O — —d D i it e e e b O PONINVNIANINO N S NNNNON N =y NONNNO SN0 NAWNNNNOON NN 002632 TO (OMPUTE JSR Movse BIT BNE SuUB BGE ADD B8R BEQ SuB BNE ADD 000031 000031 000030 TRAP MoV MCVB MOvB MoV 145664 145660 ;CYL HERGE SECTOR AND TRK :LOAD TRK/SEC #DBUFF ,aRPBA JSET DATA BUFFER ADR MOV #-256. ,aRPUW( MOV MOV #11420,R3 #6,3PKB MOV 155104 ($8SUB DTADPB+12,aRPDC R1,-(SP) DTADPB‘11 1(SP) (SP)’.SRPDA JREAD 1 SECIOR ;TIMING LIMITS FOR COUNT SUBR ;ALLOW > 6 REVOLUTIONS PER SEARCH: ;3 FOR IMPLIED MAX SEEK (46 MSEC OR ABOUT 3 REVOLUTIONS) OO == WO —w (=] =] [o]=] 1046403 O—O-— HWNOW OWVOwm OO~O OO OCO=&H WSNNWO WWN N NN NNNNNINWNNN 46 MOV MOV WAIT #105,aPKCS #SEARCH,aRP(S1 BIC #101.aPKCS MOV 155052 MOV (SP)+,aPKB ‘SAVE THE CLOCK 1STOP THE CLOCK PAND RESTORE #B1T14,3RPDS :ERROR? JSR PC,SAVREG *:SAVE RO-RS JSR PC, SVRHXX MOV MOV MOV JSR JSR L10076: aPKC,-(SP) sSTART P-CLOCK:]E,COUNT DOWN,LINE FREQ ;STARYT A SEARCH *WAIT ON INTERRUPT BIT BEQ OOO0O0O00O0 === OONO = HONIOSNIO O NOCHOO QOIS NNES S O00ONOO SNNNNNNNNNOL N~ [elelelelolalelalelelelelela) Qead et Ot O ON=EN b O b = scnonONO OSSNSO = SO .t BB s 2 OOOOO0OCOO0O0O0O 004537 002620 NP WVOAAVLAA VAU VIV NN A L A AN A U AN LN N U AN AN AN AN N AN NN = O N NON O ON NV ES SN WNNND = ;3 FOR WORST CASE SEARCH(SECT CMP ERR OR HPR CRC ERR) (elalelelelelolelelolelale lole ool o] — - 2 O AW N B S OO0 ~NARWNS NN = OO0~ — — mry : RPO7 FCTNL DTADPB TRAP 114118 #DTADPB,R2 #CLR,aRPCS2 DTADPB,aRPCS2 PC,RESREG RS . ERRANY (SESUB THE COUNTFD VALUE *NO--BRANCH ‘0P8 POINTER TSAVE ALL THE RHXX/RPO? REGISTERS *MASSBUS CLEAR -SELECT DRIVE {RESTORE RO-RS :FIND OUT WHAT ERROR > O — M OWN POt OOt =S NSONSNSNSONNON 004422 000001 BIT BNE MOV 021T3'8117SVSTAT #SEAERR,=(SP) MoV 0 ,-(SP} ADD MoV #4,SP #ABOTST,=(SP) MOV TRAP MOV MOV TRAP ADD JMP NN et — 4 lelolelel lelelelelo B [elelNoleP x 22~ OTM L4 =2 OO NNNOPO OIS BN NN ONNONOO N NOONNVONSO VAV IV IV IV IV IV NIV IV IV TV IV IV TV IV POPIN) =D acd md cd ed o D ol o il e o e E.d [elalhlelolelelololololaolelolels) N AN N NN N NN NN NN NNN. 0 O SYo) MOV MOV NOOOONOOONNNNWNNNO =N~ 2 ONININI £ O NIND =2 WNIAN = PONIN) N O NN SO NNNEO NNWANNSNESE NONNO NN = OHPPOON DB NWNNWNNNSONN (el leleleolelldelalelolololelolelelolelele]wo) OOttt PO 2 d OO b O NI =3O o = ‘RETRY ALLOWED ? ANCH §S SO SP.RO CSPNTF #1,-(SP} SP.RO CSPNTF 8, 5P 114.8% #6.,WCEFLG #6,3PKB JRETRY 16 TIMES ALLOW > 6 REVOLUTIONS PER SEAR(CM: 154652 1645412 1645400 145372 004461 000001 MNINSW b« OO OO—O0O OOWVO OONrN == [o ] &H (=] o QOON or =0 O=O=— S OwWn OHroON~ OWN—= N - o NN NOONNONNON ~ OQOWIWWN NN O NNNYN =} PONNNNNO = NN ~N #105,aPK(CS #SEARCH,aRPCSY MOV 8EQ aPKC,=(SP) #101,3aPKCS (SP)+,aPkB #BI1114,3RPDS 114118 #CLR,aRP(S2 ;MASSBUS CLEAR DEC BNE gCEFLG $ ;OVER RETRY L'M]T ? ;BRANCH [F NOT 002620 81C MOV 8l7 MOV MOV MOV MOV MOV TRAP ADD MOV MOV 000004 006525 000001 JSTART P=(CLOCK:IE,COUNT DOWN,LINE ;START A SEAR(HM sWAIT ON INTERRUPT MOV MOV WAIT DTADPB,aRP(S? #SEABAD,~(SP) #1,-(SP) :SAVE THE (LOCK :STOP THE CLO(K :AND RESTORE THE :ERROR? FREQ COUNTED VALUE cEXIT IF NONE :DRIVE ADDRESS SP,RO CSPNTF l& SP #ABOTST,=(SP) MOV TRAP ADD R 000004 DO~ =t O —d = O=O AU S =2 PONLNL O NNV NN (alelelelelelelelelelelelg ONIONC OSSNSO NI OSOOO OO OoONO OO SO OSSO WOON) = =t O O N NONWNWNES & - 0022564 :3 FOR WORST CASE SEARCH(SECT CMP ERR OR HDR (RC ERR) A N N LN L N AN N AN AN AN AN AN N AN AN U U U U N AN WA G AN W AN N AN AN AN AN N AN AN N AN AN DWW VIOV U (O IV TV IV AV TV T TV TV TV LV IV 15 V) AU — i b o e e i d d e D RN N RO AU NV LN N N = OO0 NIV LN b [aS 158 ] 119 000210 ;3 FOR IMPLIED MAX SEEK (46 MSEC OR ABOUT 3 REVOLUTIONS) (elelolelelaleleleleleloale] [aelalelelelelelelelolalelolelelelololalalolols)] e o e el ) D e o e e e e e d e b i e b b e e ek b 2 ODOOOOOOOO OO0 OO N VSN = O V00 N N NN = OO0 97 S€a 0140 S?ACRO vN&L.00 1-JAN-83 11:06:45 PAGE 61-2 145310 TRAP MOV 145270 154522 MOV MCvV ($8SV B DTADPB+10,3RPDA aPkB #RDDAT,aRP(ST #121,3aPK(S MOV aPKC,=(SP) 154506 165246 CLR WAlT MOV #101.3PK(S (SP)+,aPKB JSR PC, SAVREG 8IC 8IT 8EQ MOV uaxr1£ arRPDS 11412 #0TADPB,R2 T ; D 10 READ BUFFER COUNT LOCK:[E=1,UP,SINGLE,10US ERRUPT 228 RESTORE CKE COUNTED VALUE - ARANCH “VSAVE RO-RS 0P8 POINTER (2R JLAQ RPO7 FCTNLAYESESHACRO v06.00 1=-JAN=-83 11:06:45 PAGE 61-3 035560 035564 035570 035576 035604 035610 035616 035624 035632 150 035636 035640 035642 151 152 152 154 155 156 157 012702 004737 012777 13777 035646 035654 012777 013777 035662 035666 035672 035674 035702 035704 035706 035710 035712 158 035714 159 035716 035716 035720 03572¢ MOV JSR MOV Mov MoV MoV MOvB8 mMovse 016237 116237 116237 004737 035644 035646 JSR 016102 104456 000024 006112 007604 004737 005737 001423 023727 001405 104456 JSR T14.8%: 1%: 000001 104457 000065 007432 ’%: JSR 1S7 BEQ cMP 8EQ .WORD .WORD .WORD B8R TRAP +WORD +WORD w0 WP~ 3v«oammmc sPJSITION ERROR? :NO, CONTINUE - PO =2 DD O &« OHoeMm MNEZV I NN b ::RESTORE RO=RS [—.m1 . (oo C] s ($SPRI MOV MOV -WORD TlHES PC,SAVREG #DTADPB,R? PC, SVRHXX TRAP +WORD -WORD TRAP 000064 007432 010532 000404 &H 010646 ~ 004737 #PR100,RO CLEAR ) R R 2 2 R R M. 149 035554 MOV TRAP sMASSBUS sCOUNT TIME SEARCH DONE-READ DONE :REPEATED 1024 TIMES? +YES, CONCLUDE JRESET TIMER :NO, "CONT INUE TEST TO 4 SEC, :DROP THE PRIORITY CHANGE (LK SERVICE ::SAVE RO=R5 :DPB POINTER :SAVE ALL THE RHXX/RPO7 REGISTERS iMASSBUS CLEAR ;SELECT DRIVE sADDRESS OF SAVED REGISTER TABLE sGET CURRENT CYLINDER sGET CURRENT SECTOR sGET CURRENT TRA(K :;RESTORE RO-RS 0 SN0 000000 104441 P 4 R, aRP(S2 > 012700 PC,FORSEC R,=(SP} D PB aRP(S2 ST, (LK S M.UP+6 M M.UP+6, ERHRD (ol 148 035546 116.7%: JSR S VSTAT [a¥ 1,8 ) 012324 T1612%: 1T ERSOF ~no 004737 BR (¥ o }29 035542 LkIml%%E X Yl 034666 JSR MoV MoV MOV TRAP ADD J Y 000137 bhl\h 016076 002244 (MP BGE JMP BEQ 000004 004737 021237 002044 035552 TRAP BIT 004544 000001 141 0355264 142 035530 143 035534 }zg 035536 002254 sFIND OUT WHAT ERROR —t e 012746 010400 104417 062706 0004651 000040 RS,ERRANY P(,RESREG —t —d ~ O 035506 035512 035514 035516 }28 035522 032737 001411 012746 :SELECT DRIVE 20 X~~~ 136 035472 137 035500 138 035502 L10077: DYADPB aRP(S2 VNN 104403 JSAVE ALL THE RHXX/RFQ7 REGISTERS JSR JSR DTADPB MOV 004537 002620 PC,SVRHXX #CLR,BRP(S2 OMNIO 035470 JSR MoV T HBOPOA~A~ON 004737 012777 013777 0C4737 AT BOOW— PRI~ 035436 035442 035450 035456 133 035462 136 035466 135 035470 SEQ 0141 T WOMWUNAIN) D = VO R RANDOM READ NSO 14: MACY TEST I THE CLOCK -READ TIMED > 1 v 0 REVOLUTION? AD ggggL?O RPO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 61-4 RANDOM READ — -- — 4&: M1 SEQ 0142 TEST 010532 4 37 4 72 4 37 532 746 746 746 746 “37 706 104401 016370 3%: 000010 DHS2 ;G0 TYPE THE TIMES sPOINTER R 4 016240 2 2 2 0 .WORD R ' 4%: X114 v S v § L10074: 0 TRAP CSETST sSETUP RHXX/RPO7 VECTOR Pod "0 mo JSBYTL NS W~ O SEQ 0143 CYLINDER ADDRESSING TEST A2 Z =D b 2 R R X R X TEST R THIS : AT THE : FE CYLINDERS. : b R : : NN = OO TEST 15: FE CYLINDER ADDRESSING TEST 22 : b b b ccd b =D e NN = OO0V WA = OO 00NN ANANANIANI NI NI AU NIAU NI NININ) N1 7 FCINL TEST MACRO V04,00 1-JAN-B3 11:06:45 PAGE 62 R R 22 LOCATES AR THE AR FE AR AR R AR 2RR2d]) CYLINDERS: THE FE CYLINDERS ARE CYL 630 AND 631, FIRST TEST CYCLE, THE TEST SETS *'OMD'* BIT OF THE RPMR REGISTER IN ORDER TO ACCESS THEN, THIS TESTY EXECUTES READ HEADER AND DATA COMMANDS : ; SEQUENTIALLY TO VERIFY THE ADDRESSING OF THE SECTOR 0 OF EACH TRACK ( 0 TG 31 ) ON THE FIRST FE CYLINDER. : AT THE ; 22002 SECOND TEST CYCLE, A SEEK COMMAND IS EXECUTED TO ACCESS THE SECOND FE CYLINDER. :"tt't!'."'tt"'""""""t"tt"'."t'."'tt't.t'tt""""t'tt.'t."'."" 5772 §772 5776 004737 004737 020226 012262 6010 113737 002654 6002 012737 6016 012737 036032 012737 036024 036040 036046 036052 036060 036062 036070 036072 036074 036076 036100 036102 036104 832}55 036120 036122 036126 036126 036130 03613. 036136 036136 036140 036146 036152 036152 036154 036160 036162 036170 036172 000012 002240 177400 002624 012737 042610 013737 002260 013704 T15:: 000000 00265 #DBUFF ,DTADPB+6 ;BUFFER ADDRESS MOV NCS,DTADPB+12 CMPB #5,DRVTYP(R4) (MPB .WORD .WORD TRAP #4 ,DRVIYP(RG) 1% (S$ERDI 36 EM36 DH2S CSDCLN 104402 004437 104403 005737 107437 104402 112737 004437 04403 " S737 100425 1238737 101403 105237 100000 MOVB #SEEK,DTADPB+2 * oV 002632 020146 000105 MOV 002630 0000704 112737 002620 002622 MmNV BEOQ BEG TRAP .WORD 1%: 15 1 £L10101: 002636 115.2: 002636 002262 002631 BIS TRAP 014742 000173 014742 :LOAD THE_DRIVE ADDRESS INTO DPB ‘SET ITERATION COUNT MOV 122764 052737 DRVNO,DTADPB #10. , 1TCNT 002626 020146 006730 010600 104444 JINITIALIZE THE SUB=SYSTEM *STOP THE CLOCK TEST1S: MOVB 000005 001405 104455 000044 MOV PC,RPINIT PC STOPCK 002620 122764 0014M JSR JSR 002622 15715: L10102: ] 002631 JSR TRAP S.TRWC,DTADPB ¢4 ;256 WORDS #0,DTADPB+10 :TRACK O, SECTOR 0 DRVNO,R4 :TO FIND OUT FIX HEAD OPTION 1% #DMD ,DTADPB ($BSUB R4 ,DRVCAL ($ESUB :ASSUME NO FIX HEAD OPTION :BRANCH IF NO FIX HEAD :DOES IT CONTAIN FIX HEAD :BRANCH IS SO ;SET MAINTENACE MODPL FLAG AT THE 2ND BYTE :DO AN EXPLICIT SEEK :START A DATA TRANSFER 15T BM] DTADPB+16 EXIT1S :ANY ERROR CONDITION EXISTS ? TEXIT IF SO TRAP MOVB JOR ($BSUB #RDHD,DTADPB+2 R4 ,DRVCAL ;READ THE HEADER AND DATA ;START A DATA TRANSFER TRAP 197 BM] CMPB (SESUB DTADPB+16 EXIT15 NT1,DTADPB+'1 ;ANY ERROR YEXIT IF SO :LAST TRACK (HECKED ? INCB DTADPBe11 B8L0S 1% ‘BRANCH [F NOT 12 SEQ 0144 CYLINDER ADDRESSING TEST =00 NS BN coocosruSSoooC LTS ST STNT ST SN ST, S ST ¥ 2 BNNNINININ) = 2 OO 036200 03620¢ 000760 VAES 036176 OO0 FE =lololelolololalelole] o] N N AN LN LN AN AN AN N NN (208 o¥e Yo Yo JTo oYd Yo To Yo o Yoo bg VO O ONWVNVEBWN N [V BV IV [V [V IV IS : RPQO7 FCINL TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 62-1 002631 002632 000105 1%: 0ue2s22 014742 £10103: 002240 020226 100000 115.3: 002620 BR TST15 CLRE INC DTADPB+11 DTADPB+12 Mov8 TRAP ($BSUB TQ TRA(K 0 ¢ACCESS 2ND FE (YL ;00 AN EXPLICIT SEEK JSR R4 ,DRVCAL ;sSTART A DATA TRANSFER TRAP (SESUB ITCNT TEST1S :DONE [TERATIONS ? OEC BNE ExIT1S: JSR BIC 110100: #SEEK,DTADPB+? ;RESET TRAP PC,RPINIT #DMD,DTADPB CSETST ;BR [F NO JINITIALIZE THE SUB=SYSTEM ;CLEAR THE DMD BIT [N THE DPB PA SC OO FE TEST MACRO v04.00 1-JAN-83 11:06:45 PAGE 63 CYLINDER WRITE AND WRITE CHECK ¢ 1 SEQ 0145 T, 5T LSBTTL NS W~ L:WWV‘WWWWNNl\JNNNNNNN beddded D e2OV b OV NN 2OV NCOWVNE WA =200V WN — -J) Y,] OO0 oTM — (Vo) -] — Mmrg : RPO7 FCINL L TEST 16: FE CYLINDER WRITE AND WRITE (HECK TEST R Ry R L LR R R R R sTHIS TEST EXECUTES WRITE-DATA SEQUENTJALLY FROM TRACK FT TO TRA(CK sON THE FIRST FE CYLINDER WHICH [S ACCESSIBLE IN MAINTENANCE MODE. ;THE PARAMETERS ARE LT AS FOLLOWS: STHE FULL TRACK TRANSFER IS MADE [N 2 PASSES: : : 1ST PASS, SECTORS: 2ND PASS. SECTORS: CO. THRU 26. 25. THRU 49. STARTING TRACK ENDING TRACK = T : %} STARTING SECTOR = FS JSR INCREMENT TRACK ':."""'...""'"""'"t""'"'.""'Q't".""."'.""""'""""'."' 036250 036250 036254 036262 036270 036276 004737 113737 013737 012737 113737 020226 002654 002344 042610 002212 036312 036320 036326 036332 012737 105037 052737 004737 002744 002621 100000 012262 036304 013737 036336 036342 036346 036352 036356 036362 005037 105037 013702 013703 013704 010223 036366 001375 036364 036370 104402 112737 004437 036416 036422 036430 036434 036436 036436 036442 004437 112737 004437 036446 036450 036456 002620 002624 002626 002631 MOVB MOV MOV MOVB PC,RPINIT DRUNO,DTADPB TRKWC .DTADPB+4 #DBUFF ,DTADPB+6 FT.DTADPB+11 SINITIALIZE THE SUB=-SYSTEM -LOAD THE DRIVE ADDRESS -WORD COUNT = HALF TRACK ;BUFFER ADDRESS YFIRST TRACK 00263¢ MOV CLRB BIS JSR #REG,DTADPB+14 DTADPB+1 #DMD ,DTADPB PC,STOPCK ;SAVED RHXX/RP0O7 REGISTER *CLEAR THE HCI SSET THE MAINTENANCE MODE FLAG 1STOP THE CLOCK 002632 002246 002630 002224 002626 002626 TEST16: CLR CLRB MOV MOV MOV 1$: MOV 116.1: 000105 014742 002622 112737 104403 005737 100406 005337 112737 000745 WRPAT: £10105: 116.2: 000161 014742 000151 014742 002622 002622 L10106: 002246 002246 000031 002630 NCS,DTAOPB+12 :FIRST FE CYLINDER W/0 FIX H DOTWO DTADPB+10 PAT,R2 DTADPB+6,R3 DTADPB+4 . R4 R2,(R3)+ SRESET 2 ITERATIONS CONTROL *RESTART AT SECTOR 0 PFILL THE DATA PATTERN ;BUFFER ADDRESS *WORD COUNT 1% :BRANCH IF PATTERN IS WRITTEN TO ALL BUFF LOC TRAP MOVB JSR ($BSUB #SEEK,DTADPB+2 R4 ,DRVCAL :DO A SEEK FIRST :START A DATA TRANSFER TRAP CSESUB INC 104403 104402 MOV 002620 005204 036370 036372 036400 036404 036406 036406 036406 036410 002260 1 16:: BNE TRAP R4 ($BSUB MOVB #WRTDAT,DTADPB+?2 R& ,DRVCAL #WCKD.DTADPB+2 R4, DRVCAL :START A DATA TRANSFER :CHANGE TO WRITE CHECK DATA COMMAND *START A DATA TRANSFER TRAP 157 CSESUB DOTWO 1% 0OTWO #25..DTADPB+10 WRPAT :DONE HALF TRACK TWICE? *YES, EXIT 2 ITERATIONS LOOP NG, ‘MARK 2ND ITERATION :TFR 2ND HALF OF TRACK :LOOP TO TFR 2ND HALF TRA(K JSR MOVB JSR BM] DEC MOVB B8R :WRITE DATA (OMMAND o X LR o Yo To Yo SV, IV, IV TV IV IV RN ) WES (NN = OV ~NOTWBNES OO : RPO7 FCINL TEST MACRO V04.00 1-JAN-83 11:06:45 PAGE 63-1 FE CYUINDER WRITE AND WRITE 036460 036466 036470 036474 036476 036502 036506 036510 036512 036514 036514 036516 036526 66 036530 036530 036532 036532 036534 036542 03C546 026554 036560 036560 036562 036566 036570 036574 036602 036604 036610 036614 036620 036624 036626 036634 036634 €05037 105037 013702 005102 013703 013704 010223 005204 0015:% 10440 112737 004437 CMECK 002246 002630 002224 28: 3%: 116.3: 000105 014742 002622 104403 104402 112737 004437 112737 004437 104403 005737 002246 100406 005337 112737 000745 002246 000037 113702 063702 110237 023702 002631 002216 002631 042737 100000 101244 10 002622 002622 L10110: 002630 1$: 002214 002620 (LR (LR MOV (OM MOV MOV MOV INC BNE TRAP WRPATN: MOVB JSR L10107: TRAP 116.4: 000161 014742 000151 014742 SEQ 0146 TEST 18: 002626 002624 0D 12 ($BSUB #SEEK,DTADPB+2 R&,DRVCAL :RESET PARAMETERS FOR 1ST LOOP *RESTART AT SE.:OR 0 “COMPLEMENT THE PATTERN :BUFFER ADLRESS :WORD COUNT sFILL THE BUFFER WITH (OMPLEMENT DATA sBRANCH [F NOT DONE ;SEEK COMMA: D START A DATA TRANSFER TRAP MOVB JSR_ MOVB JSR B #WRIDAT,DTADPB+2 ;WRITE DATA FIRST R&4,DRVCAL ;START A’DATA TRANSFER #WCKD,DTADPB+2 :CHANGE TO WRITE-CHE(CK R&,DRVCAL START A DATA TRANSFER TRAP 1ST :DONE HALF TRACK TWICE? SYES. EXIT_2 ITERATIONS LOOP “NO, "MARK 2ND ITERATION :TFR 2ND HWALF OF TRACK :2ND ITERATION BM] DEC_ MOVB BR DOTWO #25..DTADPB+10 i MOvA ADD MOVB DIADPB+11,R2 1T.R2 R2,DTADPB+11 ;UPDATE THE TRACK ADDRESS #DMD,DTADPB ;RESET THE MAINTENANCE FLAG (MP BH] EX1T16: SIC L10104: DOTWD DTADPB+10 PAT,R2 R2 DTADPB+6,R3 DTADPB#4.R& R2,(R3)« R& 3 TRAP R € v 0O —4\1 NO NN = OO Q0 O W SN — JSBTTL NI It I et RN ARt et e Rt ettt et eeseaeReeereeRReETOOeY *Hls TEST EXECUTES WRITE ¢ WRITE CHECK DATA ON EVERY TRACK OF STARTING :CYLINDER AND ENDING CYLINDER. AFTER EACH WRITE ¢ WRITE CHECK OPERATION, }SECIRACK ADDRESS 1S UPDATE BY THE AMOUNT SPECIFIED IN THE '‘INCREMENT .NOTE C YLIND ER 629. WILL NOT BE USED, IN ORDER TO PRESERVE THE BAD S ECTOR FILE DATA, : THE FULL TRACK TRANSFER IS MADE IN 2 PASSES: 15T PASS, SECTORS: 00. THRU 24. ) 2ND PASS, SECTORS: IHE 25. THRU 49. PARAME RAM TERS : ST ARTING CYLINDER EN DING CYLINDER ST ARTING TRA(CK EN DING TRACK INCREMENT TRACK STARTING SECTOR N L NN = OO ‘"'."'.""'.""""'.'""O""'..".I!.'t."..'..'..'."'!.'.t'."""'.' T 17:: 036646 036650 036654 036660 036664 036666 036670 036674 036676 036700 6774 6776 1%: WRTALL 1% MoV LSTEST,=-(SP) MoV #WRTENM,-(SP) CLR RO CSEXIT THE SUB=SYSTEM ;DID OPERATOR WANT ;BR [F YES TO WRITE ON MEDIUM? sNOTIFY OPERATOR THAT TEST WAS NOT RUN ;CLEAR RO FOR TRAP L10111=, Movse DRVNO,DTADPB :DRIVE ADDRESS mMove #0,0TADPB+10 sSECTOR ADDRESS MOV #REG,DTADPB+14 ;THE SAVED REGISTER TABLE ADDRESS MOV MOV MOV PAT,R2 DTADPB+6,R3 DTADPB+4 R4 MOV MOV CLR 117.1: #2,-(SP) SP,RO CSPNTF #6,5P JINITIALIZE .WORD MovBe MOV 2%: PC,RPINIT 1578 BNE TRAP W NON O O O WNNINANN N NN WSS W N SNSNIN NN N ~ WA 6754 6760 JSR MOV MOV TRAP ADD [= o=l =l=l=1=t= 1= = 1= T oo OO b ol cd O vl = i s s e b NS =2 AV O NN NN NN NN N NN N NNONNNNNNN o~ AW = OV SEQ 0147 TEST 17: WRITE TEST NN NN WWAANRURINUAIAT NININIA b b od od b ad b = b b E 12 E(}?gTTESY MACRO v04.00 1=-JAN=-83 11:06:45 PAGE 64 MoV INC BNE JSR (LR TRAP TRKWC ,DTADPB+4 ;HALF TRA(K #DBUFF ,DTADPB+6 ;BUFFER ADDRESS FT1,0TADPB+11 FC,DTADPB+12 DOTWO R2,(R3) ¢ R& 2% PC,STOPCK RS ($B8SUB s TRACK ADDRESS sCYLINDER ADDRESS sRESET 2 ITERATION CONTROL sPATTERN IN Re,riLL :BUFFER ADDRESS s TOTAL NUMBER OF WORD COUNI :LOAD DATA PATTERN BUFFER s INCREMENT WORD COUNT :BRANCH IF NOT DONE ;STCP THE CLOCK :1ST PASS FLAG TesTi? sGET STARTING SECTOR FOR 2ND HALF OF TRA(K :LOOP TO XFER 2ND HALF OF TRA(K (LR DOTWO SRESET PARAMETERS FOR 1ST LOOP ADD DTADPB+11,R? T.R2 SECTOR 0 TRACK ADDRESS s INCREMENT BY THE SPECIFIED AMOUNT sOVER THE LIM]T THE STARTING ¥V ¥ TRA(K sUPDATE THE C(YLINDER ADDRESS TO LC ¥ ;LOOP BA(K Y :NO, FLAG_2ND PASS ¥ :1S IT 2ND PASS? JYES, EXIT sRESET v ¥y :LOOP BACK ¥V :BRANCH IF SO sUPDATE THE TRA(K ADDRESS Y959 -~ DPB+12 sRESTART AT sUPDATE THE *w P ~no ~N 2> - N -— -— - [] Y Y CSETST P TRAP T ¥ o8 s -~ — — BR DPB+11 sNO, MARK 2ND ITERATION Y MOVB MOV DPB+11 ~N> > 002212 002206 o TST BNE INC ) 5%: — CMP BLO MOV3 BR —_OO (%: DTADPB+10 e (LRB MovB -t DN e 3% MRS —4 BR 2%: JYES, EXIT 2 ITERATIONS LOOP [y S Sy g ey Sy . 9 MOvB DOTWO "25. DTADPB+10 Sarsarss sDONE HALF TRACK TWICE? 3¢ TS CS$ESUB DOTWO Y TRAP 187 VU JSR BM] DEC - g [ e Y0 104401 ‘DON'T WRITE ON LAST USER CYLINDER NN 002630 ’éé }rlgorne LAST USER CYLINDER ? DTADPB+12 MOVB L10112: SEQ 0148 #WRTDAT ,DTADPB+2 sWRITE DATA CCMMAND R4 ,DRVCAL ;D0 THE WRITE COMMAND #WCKD,DTADPB+2 ‘D0 THE JRI;E CHECK COMMAND R4 ,DRVCAL CHECK COMMAND :D0 THE WRITE N PMD 1%: DTADPH+12,#629. 19 - 002622 (MP BNE DEC MOVB JSR M TEST17: ~m o wn 02 001165 002622 O—OQO=O—= O—-2UVO000 OMPNOVIOWE NNWENES D WWHOWO O'NNOVNW O—=—00—=—=0 O=ONO—=00 OO WWWWWMWV NS NNNOO WWHWOOOOWW ONWNININISNTSN QO—=OO0O0O Q= =2 OO0 QO WWNWWN =W SNNNNON SNWO =0 OO NNVOWV o AL LS SN UANONOND o S NONCO SONNO o o ~ NN = = O OSSN N BANNWN SsO000SNY 156 OOODOO0OO OO0OCOO0OO OOOOOOOOOOOOO 37012 DO=0—-2000 O-—-O—-00N SNV —N SN NWON WWNUWWWWNWLWLO N NISNININININON RPO7 FCINL _TEST MACRO V04,00 1-JAN=-83 11:06:45 PAGE 64-1 WRITE TEST COO ~NO 2D WONOWVES W WA 60 . RANDOM WRITE LSBTTL R TEST 18: RANDOM WRITE SEQ 0149 TEST R THIS TEST EXECUTES WRITE R + WRITE L L T T T T T T I TR TR Y ) CHECK DATA RANDOMLY; IN THE PACK AREA BONDEC BY THE (STARTING CYLINDER, ENDING CYLINDER) ; THE TRANSFER SIZE (STARTING TRACK, ENDING TRACK) (STARTING SECTOR, ENDING SECTOR) IS ALWAYS EQUAL TO ONE SECTOR. b d b b o = :1F THERE IS A P=CLOCK,THE PROGRAM PERFORMS AN ADDRESS MARK DETECTION TEST: lT VERIFIES THAT DATA CAN BE WRITTEN CORRECTLY WITHIN THE SAME DISC REVOLUTION NEB WA ;AS A SECTOR DETECTION, SEARCH FOR THE SECOND LOGICAL SECTOR PRECEDING THE sSELECTED SECTOR 10 URITE. THEN WRITE THE SELECTED SECTOR. TIME THE SEARCH ;:DONE=WRITE DONE TO BE WITHIN A DISC REVOLUTJON, FLAG LOST REVOLUTIONS. b s = :NOTE: CYLINDER 629. WILL NOT BE USED, IN ORDER TO PRESERVE THE BAD : WA = OO0V SECTOR FILE DATA, 'PARAHETERS : STARTING CYLINDER : . . ENDING CYLINDER STARTING TRA(CK ENDING TRACK . ENDING SECTOR : ; STARTING SECTOR PATTERN . ..'.'..'..'.""'."""'.""........'.".'."....'."'.""."..l"'..""' T18:: 004737 105737 001015 013746 012746 012746 037226 037232 037240 037246 037256 037262 037266 037272 037276 037300 037302 03730« 037310 037312 013737 113737 012737 012737 012737 013702 013703 013704 010423 005202 001375 005737 003055 004737 010600 104417 062706 005000 104432 001600 MOV 000006 OO S = OIS 8O SOONS 037172 037176 037202 037206 037210 037212 037216 037220 037222 JSR 1S78 BNE MNOMNLNLNLND NNOND ROONONNON SO 037160 037160 037166 037170 [e=lelelelel Jole] QOO0 M NOO NS WO OO0 NN AN AN AN LNAANND AL NI PO NI PO NINININD = 6 12 TEST 2O 000N WS- 0O RPO7 FCTINL TEST MACRO v04.00 1-JAN-B3 11:06:45 PAGE 65 002250 0202¢6 #WURTENM,=-(SP) #2,-(SP) SP,RO CSPNTF #6,5P TRAP (SEXIT RO INITIALIZE THE SUB=-SYSTEM :DID OPERATOR WANT TO WRITE ON MEDIUM? :BR IF YES *NOTIFY OPERATOR THAT TEST WAS NOT RUN :CLEAR RO FOR TRAP .WORD L10113-. MOV MOVB MOV XTIMES,ITCNT :SET ITERATION COUNT DRVNO, DTADPB YES PROCEED: SET UP THE PAPAMETERS #-256.,0TADPB+4 UORD COUNT SET TO ONE SECTOR MOV MOV MOV DTADPB" R2 DTADPB+6,R3 PAT R4 MOV MOV 2%: LSTEST,=(SP) MOV MOV MOV TRAP ADD (LR 1%: PC,RPIN]T WRTALL 1% MOV INC BNE 1S7 BGT JSR #DBUFF,D~ADPB'6 BUFFER ADDRESS #REG, DTADPB014 : THE SAVED RHXX/RPO7 REGISTER TABLE R4, (R3) ¢ R2 2% CLKSTA TST18A PCRPINIT UORD COUN BUFFER ADDRESS sPATTERN flLL THE BUFFER WITH DEFAULT PATTERN :INCREMENT THE WORD COUNT .LOCP If NOT DONE :P=CLK PRESENT? YES, EXEC RAND WRT TST « AD MRK DET TSI .lNlYIALIZE THE SUB=-SYSTEM o 0O Oo~NOWVNE VNN Y miry -— : RPO7 FCTNL TEST MACRO v04.00 1-JAN=B3 11:06:45 PAGF 65=1 RANDOM WRITE 006737 006437 012262 017544 037326 03733¢ 60 037336 123727 001006 023727 002631 000037 002632 001165 037346 037352 037354 037360 037364 037370 105737 001613 013702 013703 004737 013723 002234 037374 037400 037402 037402 037402 0376406 037412 037416 0376424 037430 037430 037632 037436 037440 037440 037442 001766 062702 100773 104402 112737 00.437 112737 006437 10/403 005337 001327 TEST18: 1$: 2% 002624 002626 011610 011672 3¢: 48: 000001 5% 118.1: 000161 014742 000151 014742 002622 002622 L10114: 002240 ExIT18: 104432 001360 PC.,STOPCK R4 S RANADR CMPB BNE CMP MOV JSR MOV DTADPB+11,#31. ;1S THIS THE LAST TRA(K ? JBR IF NO 2% DTADPB*12,#629. ;1S THIS THE LAST USER CYLINDER ? 1% :BR ]f YES RANPAT :SELECT RANDOM PATTERN ? 1F NOT :BRANCH 5% sWORD COUNT 2'S COMPLEMENT DTADPB+4,R? ;BUFFER ADDRESS DTADPB+6.R3 :GERERATE NEW RANDOM NUMBER PC,RAND $RP1, (R3)+ JFILL THE BUFFER WITH RANDOM PATTERN 8M] 48 BEQ ISTB BEO MOV ADD #1,RS BNE TRAP MORD CSEXIT L 10°13-, #101,aPKCs X1T18 PC,STRTMR 037470 037474 037500 037506 037510 037512 012746 012746 013746 012746 104437 062706 000300 040574 012126 000003 MOV MOV MOV MOV TRAP ADD #PR106,=(SP) #1180FL ,=(SP) PKV,=(SP) #3,-(SP) C$SVEC #10,5P 037516 037522 037526 037532 037536 037540 037544 012746 012746 013746 012746 104437 062706 005005 MOV MOV MOV MOV TRAP ADD CLR #PR100,=(SP) #DORT] .=(SP) RPVEC,=(SP) #3,-(SP) ($SVEC #10,5P RS 037546 037552 037554 037560 037564 105737 001413 013702 013703 004737 TST188: TSTB BEQ MOV MOV JSR RANPAT 2$ DTADPB*4,R? DTADPB+6.R3 PC,RAND 002644 000003 000010 002234 002674 002626 011610 [Ff sINIT THE TIMERS :STOP THE P-CLOCK JMP JSR 000000 :BR sMASS BUS INIT & RECAL :NO RECAL ERROR, CONTINUE 040774 015626 BIC : DONE ITSRATXONS ? 1$ 000137 0C&737 015624 [F NOT DONE CSESUB [TCNT TEST18 037452 0376456 000010 ? .LOOP BACK , IN THE BAD SEC FILE b, DRVCAL R4, SRCHOO 1%: sFINISH YOU DON'T WRITE TRAP B8R 152430 SURE DEC JSR 1ST1R%: JSR 000101 :MAKE ($BSUB #WRTDAT,DTADPB+2 ;DO A WRITE DATA R4, DRVCAL #W(KD,DTADPB+2 ;D0 A WRITE (HECK DATA 015476 042777 ;GENERATE THE RANDOM STARTING ADDRESS TRAP MOVB JSR MOVB 0064637 037450 000402 :STOP THE CLOCK JSR JSR 037666 037462 SEQ 0150 TEST 037315 037322 03734L H 12 sEXIT ON RECAL ERROR sSETUP VECTOR IN CASE OF CLOCK OVERTLOW ;SETUP RHXX/RPO7? VECTOR sSET COUNT=UP FLAG FOR COUNT SUBK sSELECT RANDOM PATTERN ? ¢BRANCH IF NOT sWORD COUNT 2°'S (CMPLEMFNT ;sBUFFER ADDRESS sGERERATE NEW RANDOM NUMBER — —=> 00O 011672 1$: 000001 i D o 000037 002632 001165 e D el 2%: D i 017544 037602 002631 001062 143032 5% : B AN =2 OOV e 000031 PONININININ) = $RP1, BM] 1% ADD #1,R8 (R3)+ SEQ 0151 ;FILL THE BUFFER WITh RANDOM PATTERN SFINISH 2 :LOOP BACK , If NOT DONE 6%: el amld cad | 8 B 8 B B B B AN N NN WNANLNNNR. ~ NN O VN L WA =2 OO N WA = OO0~ b ol e el e o — e and d md e e D i PN WNWNNIWNO WS NNNNONN = S NONNNOS~ND) NANNNNOON NN 7%: 118.2: 002632 JSR R4, RANADR CMPB BNE ggz DTADPB+11,#31, :IS THIS THE LAST TRA(K 2 {3 ‘BR IF NO g;uopao12,¢629. ;ég }?ISEgnE LAST USER CYLINDER ? MOVB SLE DTADPB+10,R1 géLv.anpos SUB BGE ADD #2,R1 4 #50..R1 st BED R1 6% ;1S IT SECTOR ADDR 0 ? ‘BR IF VES BNE 6% :BR IF NO B8R SUB 000031 000030 [elololele P P de g o ol e d e 3¢ 4% D e bt el b o e i sl e i e i 002630 000004 000002 e MOV 112 :gggggs THE TARGET SECTOR BY 2, TO COMPUTE THE VALUE OF THE 2ND LOGICAL b 2 2 -2 2 22 O DO OOOOOO0OO Nolle] OO [=2Ve]e] ~Oo NN NN =2 OO0 NV NN 037570 037574 037600 RANDOM W 143004 ADD ADD :PREPARE TRAP MOV 7% #25.,R} #25..R1 224, .R1 :gENEASRaED SDRSOCV%' ;??g §£cT £ Bab ;MAK ) ; Y N Y YOU AD SEC YIS IT SECTOR ADDR 25 ? *ADJUST FOR THE ADDRES> BEFORE SECTOR 0 ‘REDUCE THE TARGET SECTOR BY 2 TO SEARCH ($BSUB DTADPB+12,aRPDC ; (YL R1,=(3P) :MERGE SECTORK DTADPB+11,1(SP) :AND TRK 002624 002626 142730 142724 MOV MOV DTADPB+4,aRPWC DTADPB+6.aRPBA 000006 152150 MOV #6,3PKB MOV TH JEXIT MOVB MOVB 002472 N :BACKUP THE SECTOR ADDRESS FOR THE SEAR(CHM ‘BR IF < SECTOR 0 *ADJUST FOR THE ADDRESS BEFORE SECTOR 0 000001 MOV W *GET TARGET SECTOR ADDRESS TO WRITE ;ég }?TE?%EAVED SECTOR ENABLED ? . 002635 142742 N'T (SP)+,aRPDA ‘LOAD TRK/SEC #11420,R$ STIMING LIMITS FOR COUNT SUBR :WRITE 1 SECTOR :SET DATA BUFFER APR CALLOW > 6 REVOLUTIONS PER SEARCH: :3 FOR IMPLIED MAX SEEK (46 MSEC OR ABOUT 3 REVOLUTIONS) NNWOWANNNSNSO NN NNNNULUINSNNNO =N -t OB OO NI O = — WND SRV S = PN NO NN SNNNNNWNNONNNO NN 040032 040040 (elelelelelelelelelelelela) b h b h D b el :3 FOR WORST CASE SEARCH(SECT CMP ERR OR HDR CRC ERR) b -— g¢cno v04.00 1=JAN-83 11:06:45 PAGE 65-2 el o Vol o) — ey : RPO7 FCIN 000105 000131 152130 000101 152114 040000 010646 002620 024472 000040 002620 152140 1426/2 152116 142456 142630 142622 MOV MOV WAIT MOV BIC MOV BIT BEOQ JSR MOV JSR MOV MOV #105,3PK(S #SEARCH,aRPCS1 ;START P=-CLOCK:IE=1,COUNT DOWN,LINE FREQ :START A SEARCH aPK(,=(SP) ‘WAIT ON INTERRUPT SSAVE THE CLOCK #81114,aRPDS T1811% *ERROR? *NO--BRANCH #101.3PK(S (SP)+,aPKB P(,SAVREG #0TADPS,R2 PC, SVRHXX #CLR,aRP(S2 DTADPB,aRP(S2 $STOP THE CLOCK *AND RESTORE THE COUNTED VALUE 1. SAVE RO-RS ‘DPB POINIER “SAVE ALL THE RHXX/RP0O7 REGISTERS *MASSBUS CLEAR :SELECT DRIVE e FIL — - mry LAQ RPO? FCTINL TEST MACRO v04.0NC 040046 010700 18: RANDOM WRITE 147 060052 148 060056 149 940060 040060 006737 004537 002620 104403 150 040062 032737 040076 012746 151 060070 152 060072 001022 012746 040102 040106 040106 010600 106417 062706 040116 040122 040126 040125 012746 010600 104417 062706 153 060112 }22 040132 156 040136 }gg 040144 TEST 012746 000137 212737 012777 1-JAN=-83 11:06:45 PAGE 65-3 JSR 012664 L10115: 000210 002254 JSR DTADPB TRAP 000020 000066 #ABOTST,=(SF) JMP 002340 151750 8$: 9%: 159 ($ESUB MOV MOV MOV TRAP ADD 040700 :FIND OUT WHAT ERROR #1,-(sP} 000004 000004 : ;RESTORE RO-RS MOV MOV TRAP ADD 000001 RS ERRANY #BIT3'BIT7,SVSTAT 004422 004525 PC,RESREG SEQ 0152 8IT BNE MGV 000001 J 12 MoV MOV 8$ #SEAERR,=(S ) :RETRY ALLOWED ? :BRANCH 1S SO SP.RO ($PNTF #.,SP #1,-(5P) SP,RO CSPNTF #,SP T18END #16. ,WCEFLG #6,3PKB :RETRY 16 TIMES ‘ALLOW > 6 REVOLUTIONS PER SEARCH: ;3 FOR IMPLIED MAX SEEK (46 MSEC ~ ABOUT 3 REVOLUTIONS) *3 FOR WORST CASE SEARCH (SECT CMP .TR OR HDR CRC ERR) }29 162 060152 163 060160 164 040166 165 060170 160 060174 167 040202 012777 012777 000001 017746 042777 012677 169 170 171 172 173 174 001434 012777 013777 005337 001342 G12746 168 060206 060214 060216 060224 060232 040236 040240 0402644 040250 040252 040256 175 040260 040764 040270 040272 040274 176 040300 177 040304 032777 012746 010600 104417 062706 012746 012746 010600 104417 ©52706 000137 000105 000131 151740 142472 151730 000101 151714 151716 060000 142456 000040 002620 002340 142444 142436 MOV MOV WAIT MOV BIC MOV #105,3PKCS #SEARCH,aRPCS1 BEQ MOV MOV DEC BNE MOY T1811% #CLR,BRPCS2 DTADPB,aRP(S2 WCEFLG 9 #SEABAD, = (SP) MOV #ABOTST,=(SP) 811 004461 000001 MOV MOV TRAP ADD 000004 004525 000001 MOV MOV TRAP ADD 000004 040700 118.3: JMP 040304 178 040306 104402 013777 002630 142352 TRAP T1811%: MOV 180 0640320 012777 000161 162332 MOV 179 060314 181 060326 182 040334 183 040336 186 040362 005077 012777 000001 017746 062777 151602 000121 151562 000107 151564 151550 CLR MOV WAlT MOV BI( aPK(,=(SP) #101.3PKCS (SP)+,aPnB #B1T14,aRPDS SSTART P=CLOCK:1E.COUNT DOWN,LINE FREQ :START A SEARCH ‘WAIT ON INTERRUPT *SAVE THE CLOCK SSTOP THE CLOCK *AND RESTORE THE COUNTED VALUE :ERROR? SEXIT IF NONE ‘MASSBUS CLEAR :DRIVE ADDRESS ‘OVER RETRY LIMIT ‘BRANCH IF NOT ? 01, -(SP} SP.RO CSPNTF 04, SP #1,-(SP) SP.RO CSPNTF ¥4, SP T18END ;OTHERWISE EXIT ($8SuUB DTADPB*10,aRPDA :SET TRK/SECT TO WRITE anrkB *CLEAR P-CLK BUFFER COUNT #121,aPK(S *START THE CLOCK:1E=1,UP,SINGLE,10US SURTDAT,3RPCST aPK(,=(SP) #101.aPKCS -START A WRITE *WAIT ON INTERRUPT *SAVE THE CLOCK 1STOP THE CLOCK - (Vb o) Y - ey RPO7 FCTNL v551 MACRO v04.00 1-JAN=83 11:06:45 PAGE 65-4 . RANDOM WRITE TEST 040350 012677 040362 040364 040370 040376 040400 040606 040414 040420 0404264 001437 004737 012702 004737 012777 013777 004737 004537 002620 040354 0460426 032777 151546 040000 010646 002620 024472 000040 002620 010700 012664 104403 032737 040440 040444 040450 040452 040454 012746 012746 010600 104417 062706 0045644 000001 040462 006737 016076 040466 040472 040476 040502 013746 012746 013746 012746 002646 022674 002644 000003 040460 001411 000507 000040 BIT 142262 1422564 002254 104437 062706 112737 104404 004437 040542 040546 040552 040556 040562 040564 040570 013746 012746 013746 012746 104437 062706 000137 002646 015624 002644 000003 040574 004737 012324 040600 040604 040606 040612 040616 040622 040630 040¢36 040642 012700 1064461 004737 012702 004737 012777 013777 016102 016237 000000 000010 000151 T1812%: 002622 10000$: 002244 0062010 037546 002620 02447 000040 002620 000014 000036 142040 142032 002266 ?gg ?E"ORE THE COUNTED vALUE T1812¢ PC.,SAVREG #0TADPB,R2 PC,SVRHXX #CLR,BRP(S2 DTADPB,aRP(S2 PC,RESREG RS ERRANY N0°°BRANCH (SESUB #BITS, SVSTAT MOV MOV MOV TRAP ADD #POSERR,=(SP) #1,-(SP) SP RO LSPNYF #4 5P JSR PC,COUNT MOV MOV MOV MOV RPVEC+2,=(SP) #ISRV,=(SP) RPVEC ,=(SP) #3,-(5P) 11812¢$ :SAVE RO=RS ;bPB POINTER :SAVE ALL THE RHXX/RPO7 REGISTERS :MASSBUS (LEAR sSELECT DRIVE l.? E STORE RO=R5 ;FIND OUT WHAT ERROR +POSITION ERROR? :NO, CONTINUE T18END sCOUNT TIME SEAR(H DONE-WRITE DONE JSETUP RHXX/RPQ7 VECTOR TRAP ADD MOVB TRAP JSR C$SVEC #10,5P #WCKD,DTADPB+2 ($BSEG R4 ,DRVCAL TRAP CMP BGE (SESEG JREPEATED 1024 TIMES? TIM.UP+14,XTIMES cYES, CONCLUDE TEST T18END MOV MOV MOV MOV TRAP ADD JMP RPVEC+2,=(SP) #OORTI,=(SP) RPVEC, =(SP) #3,-(SP) (SSVEC 10, SP 151488 T180FL: JSR 010646 SEQ 0153 (SP)+,aPKB #81114,aRPDS TRAP RIT 8R 014742 002316 BEO JSR MOV JSR MOV MOV JSR JSR DTADPB 8EQ 000004 040506 040510 040514 040522 040524 040530 040530 040532 040540 104405 023737 002057 MOV L10116: 040426 040430 040436 _ 142333 12 MOV TRAP JSR MOV JSR MOV MOV MOV MOV PC,FORSEC #PR100,RO C$SPRI PC, SAVREG #DTADPB,R? PC, SVRHXX #CLR,3RP(S2 DIADPB aRPCS2 14 (R1) .R2 36(R2).CYL.RD ;D0 A WRITE CHE(K DATA (MD ;DO RECALIBRATE :SETUP RHXX/RP0O7 VECTOR s CONTINUE SRESET TIMER TG 4 SEC, CHANGD (LK SERVICE AD :DROP THE PRIORITY ..SAVE RO=RS :DPB POINTER $SAVE ALL THE RHXX/RP07? REGISTERS :MASSBUS CLEAR ;SELECT DRJVE ;ADDRESS OF SAVED REGISTER TABLE :GET CURRENT CYLINDER —d =20 O —=RNOHANWNWLN BRSO NN JSR TRAP NNN AN NSNN T18END: 002310 002310 TSTI8C: 000001 :CLEAR_THE MASSBUS :8 SELECT DRIVE JINITIALIZE THE CLOCK MOV MOV ;ANY SEARCH=-WRITE TST BEQ CMP BEQ :NO, o 1%: 010532 016370 2%: 016240 002646 022674 002644 000003 3% X1T18: ;YES, 104401 L10113: FLAG SOFT ERROR TRAP .WORD .WORD +WORD JSR 11420 R4,TYPTIM JSR R4 ,SPTYP MoV MoV MOV RPVEC+2,-(SP) #1SRV,=(SP) RPVEC,=(SP) TRAP ALD CSSVEC #10,SP $1420 #3,-(SP) .EVEN 041022 041022 TIMED > 1 .WORD .WORD .WORD BR MOV 000010 SKIP ONLV ONE LOST REV? TRAP ~ » » .WORD +WORD +WORD JSR 000065 007432 041016 ;GET CURRENT SECTOR ;GET CURRENT TRACK ; sRESTORE RO=RS Mov8e mMov8 104457 004437 SEQ 0154 — MM 12 N40742 JL0744 o N=2OYoO~NO 040720 040724 040726 040734 040736 040740 o &SN nOND NN NIRNLMNINLNIPOND PININD — = 3 — 040650 040656 040664 214 040670 060672 040674 040676 215 040700 040700 040706 040714 S S BNESN VIOMNINIWN ONNINWNSN AQ RPO?7 FCT CIR)L 18: RANDOM TES TRAP CSETST ;GO TYPE <POINTER THE TIME> ;SETUP RHXX/RPQO7 VECTOR REVOLUTION? 07 FCTNL TEST MACRO v064.00 1-JAN-83 11:06:45 PAGE 66 o0 R ANDOM WRITE TEST m12 SEQ 0155 N 12 PARAME TER (CODING MACRO v04.00 1-JAN-83 11:06:45 PAGE 67 TEST 18: RANDOM WRITE SEQ 0156 TEST 1% LTITLE PARAMETER (CODING 13 .SBTTL L4 HARDWARE PARAMETER CODING SECTION s 4 45 L6 &7 s THE HARDWARE PARAMETER CODING SECTION CONTAINS MA(CROS ; THAT ARE USED BY THE SUPERVISOR 10 BUILD P=-TABLES. THE : MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE 2? . 48 49 ; INTERPRETED BY THE SUPERVISOR AS DATA STRUCTUFES. THE : MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS 52 53 0641024 041026 54 55 0641026 56 041030 041032 041034 57 041036 061640 0641042 041044 58 59 041046 041050 041052 041054 60 041056 61 041060 061062 041064 041066 041070 62 63 041072 67 0461072 68 041105 69 04112 ;? Ne1132 72 000022 VITH THE OPERATOR. LSHARD:: .WORD L10117-L$HARD/? 000031 041072 160000 +WORD .WORD .WORD T$CODE MESG! TSLOLIM 00103 041105 000000 000377 .WORD L4ORD .WORD .WORD T$CODE MESGZ2 TSLOLIM TOHILIM 002032 Q41121 000340 000000 .WORD .WORD .WORD .WORD T$CODE MESGY 340 TSLOLIM 003032 0641132 000007 000000 000007 .WORD .WORD .4ORD .WORD .WORD T$CODE MESG4L 7 TSLOLIM TOHILIM LASCIZ LASCIZ LASCIZ LASCIZ /RP(SY ADRS/ /VECTOR ADRS/ /BR LEVEL/ /DRIVE #/ 177777 +WORD 000007 .WORD TOSHILIM ;sPRINT °*RP(S1 ADRS?' JPRINT °*VECTOR ADRS?' :PRINT 'BR LEVEL?® TSHILIM JPRINT L10117: 122 126 102 104 120 105 122 122 103 103 040 111 MESO! MESG2 MESG3 MESGA .EVEN LEVEN ‘DRIVE #?° SOFTWARE PARAMETER CODING SECTION * * SBTTL : : : THE SOF TWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO BUILD P=TABLES. THE MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE ; MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS WITH THE OPERATOR. : INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. .WORD L10120-L$SOFT/2 oL 'Y 0611 44 000116 oL L4 oL 46 04115 0 015130 041400 000001 +.WORD .WORD WORD PARMSG 1 0461152 056044 .WORD TSCODE 041154 061156 041160 061162 061164 000052 041430 001777 000000 001164 .WORD TSCODE 041166 041170 061172 061174 061176 001052 041446 .WORD 001777 000001 001165 .WORD JWORD .WORD .WORD LCMSG 041200 002052 041464 001777 000001 001164 .WORD T$CODE LWORD 1777 23 24 2¢ 28 .WORD FCMSG .WORD TSHILIM LWORD .WORD LWORD TSCODE 1777 TSLOLIM TSHILIM T$CODE FTMSG 004052 041520 000037 000001 000037 .WORD +WORD T$CODE L;HSG 005052 .WORD MWORD .WORD T$CODE lTMSG 37 .WORD TSHILIM 000036 .WORD LWORD LWORD 006052 .WORD ‘(CHANGE DRIVE PARAMETERS?® ;60 TO 18 IF NO ;PRINT ‘STARTING 0 sPRINT 'ENDING cve?? sPRINT ' INCREMENT cvL?’ sPRINT 'STARTING TRK?* sPRINT *ENDING TRK?! sPRINT *INCREMENT TRr?® ;PRINT °'STARTING SEC??* NErat o ICMSG .WORD .WORD .WORD LWORD LWORL 003052 041502 000037 JPRINT 1777 TSLOLIM TSLOLIM TSHILIM LWORD 29 30 0641250 T$CODE .WORD .WORD 000000 25 LSSOFT:: THE 37 TSLOLIM TSHILIM 3 TSLOLIM TSHILIM TiLOLIM T$COUDE "TM ) b — oo~ — S b b N=0000 NN NN SOf TWARE PARAMETER CGDING SECTION e T a o e et a ot ol aataalaalaalaalaalaalaalaalaalaala laalaala le B aclaslaslasiaalaniaslaslas SEQ 0157 Rl B 13 PARAMETER (ODING MACRO v04.00 1-JAN-83 11:06:45 PAGE 68 c13 SEQ 0158 SOf TWARE PARAMETER CODING SECTION FSMSG .WORD T$CODE .WORD .WORD WORD WORD WORD 1¢: 35 041306 37 38 041306 041310 041312 40 041314 41 L2 43 64 46 LWORD 014120 041675 000400 .WORD T$CODE T$CODE .WORD MORD RPATMG 1 .WORD T$CODE .WORD .WORD RDHDMG 1 .WORD T$CODE LWORD .WORD O » o T$CODE .WORD 400 T$CODE .WORD .WORD STLT.M 1 T$CCDE =wO .WORD .WORD .WORD .WORD STALMG 400 .WORD .WORD T$CODE T$CODE .WORD sPRINT °*DO YOU WANT PATTERN?® TO WRITE DATA ANYWHERE ON MECIA? ;GO TO 2% IF NO :PRINT : ! CUSTOMER DATA WIilL BE OVERWRITTEN ! CONTINUE?' PRINT "USE_RANDOM DATA PATTERNS FOR RANDOM WRITE ;PRINT *PERFORM READ HEADER & DATA DURING SEEKS?" ;PRINT "TYP[ TIME REPORTS?" ;PRINT "INHIBIT SOF TWARE TIMEOUTS?® 5T0OMSG ONO 01 .WORD TIMMSG 400 SO~ 041370 061372 041374 .WORD 400 O 041362 041364 041366 WRSAFM ONW 041354 041356 041360 WORD .WORD -l 041352 TS$CODE TS$CODE 2%: °'DATA 177777 TSLOLIM TSHILM LWORD 011130 041346 041350 T$CODE 007044 011130 042107 000001 JPRINT PATMSG 000400 014130 042030 000001 47 77 TSLOLIM TSHILIM WRITMG 400 WORD SEC?’ LSMSG +WORD .WORD (=4 (=4 (=] 39 LWORD .WORD WORD *ENDING nn WORD ;PRINT A 34 0612 2 2 2 77 TSLOLIM TSHILIM STALRM B Baslala sl L T T 1 33 2 .WORD WORD JWORL L VW OO MWORD NNOOON OOV 3 041554 ~N &S 041252 0412 041 2 041 2 TM PARAMETER CODING MACRO V04,00 1-JAN-83 11 :06:45 PAGE 68-1 ;PRINT "TIMING TESTS, STALL BETWEEN SEEKS: RANDOM IN :PRINT *STALL AFTER EVERY DRIVE FUNCTION IN NON-TIMI ;GO 10 3% IF NO 76 061400 77 061430 78 041446 103 123 105 110 124 116 101 101 106 PARMSG: FCMSG: LCMSG: .ASCIZ LASCIZ LASCIZ /CHANGE DRIVE PARAMETERS/ /STARTING (CYL/ /ENDING cyL/ 80 041502 81 041520 82 041536 83 041554 84 0461572 85 041610 87 041626 88 041675 123 105 "M 123 105 104 104 007 124 116 116 124 116 101 117 o 101 106 103 101 104 126 060 041 FTMSG: LTMSG: JTMSG: FSMSG: LSMSG: PATMSG: WRITMG: WRSAFM: .ASCIZ .ASCIZ .ASCIZ .ASCJZ .ASCIZ ,ASCIZ .ASCIZ _ASCI] /STARTING TRK/ /ENDING TRK/ /INCREMENT TRK/ /STARTING SEC/ /ENDING SEC/ /DATA PATTERN/ /DO YOU WANT TO WRITE ANYWHERE ON MEDIA/ 90 042017 92 0462030 93 042107 94 042157 95 042201 96 042233 97 042327 gg 042614 103 117 116 RPATMG: RDHDMG: TIMMSG: STOMSG: STLTIM: STALMG: STALRM: }?8 JASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ _ASCIZ 1}} 042444 $PAT(H::.BLKW 50. 113 042610 DBUFF:: 256.¢25. }}g 073610 122 074610 074617 074614 074630 000006 .BLKW BLKW LEVEN LSLAST:: 256. .WORD TSFREE .WORD T$SI1ZE :PROGRAM PAT(H AFEA (50. WORDS) :DATA BUFFER FOR HALF A TRA(K JONE SECTOR EXTRA FOR MID-TRANSFER SEEK TEST W VoW WV a¥ ~ EVEN W <BELL>/ ! CUSTOMER DATA WILL BE OVERWRITTEN !/<(R>XLE> <BELLY/ ==eccecccacccccccccccccccccccnancancee /<CR><LF> /CONTINUE/ /USE RANDOM DATA PATTERNS FOR RANDOM WRITE TEST/ /PERFORM READ HEADER & DATA DURING SEEKS/ /TYPE TIME REPORTS/ /INHIBIT SOFTWARE TIMEOUTS/ /TIMING TESTS, STALL BETWEEN SEEKS: RANDOM INSTEAD OF 2 MSEC/ /STALL AFTER EVERY DRIVE FUNCTION IN NON-TIMING TESTS/ /USE RANDOM STALL TIMES/ W ASCl] /INCREMENT (YL/ PV 105 122 120 110 115 101 105 .ASCIZ e 123 105 13 116 1M1 124 123 055 JCMSG: PN 125 120 124 111 124 123 125 on 103 amm 007 116 W 89 041746 1RR LEVEN Y 79 041464 L10120: 1 ONLNNNONON 000001 -~ e SEQ 0159 041376 61 041400 62 Ial 72 041400 3%: LWORD 0D 13 - PARAMETER CCDING MACRO v04.00 1-JAN=-83 11:06:45 PAGE 68-2 SOf TWARE PARAMETER CODING SECTION PARAMETER CODING MACRO V04,00 1-JAN=-83 11:06:45 PAGE SOF TWARE PARAMETER CGDING SECTION 1 14 16 074614 074616 074620 000000 000004 17 074620 18 074622 176700 000254 20 074626 21 074630 23 000000 19 074624 L10121: 000240 000001 .WORD O .WORD .WORD 176700 254 .WORD O LWORD .WORD L10123: .END £ 13 69 L10123-./2-1 240 SEQ 0160 lUNONSrlelelslr—s]l—e lelelelslaloleleleOOMO aITMOOO——MNONIM ololololelrloleOlelOOOWNI lITOITN elolalalalslaleIOlaleITNNOWNOOMN lolololalalclelclalILOOVO eleleleleielelelecITONNN lOEelelTelTONLTO EEEEEEEEEEEEEEEEEEEEEEEEFF;‘FFFFFFFFFFFFFFFFF‘FFFFFFFFFFG OITAUOOTOOTOOC DOWNWNINANININ O OO OO OO OO OO OO OOVONORBNANNNNANNNAMNANAGNO — D e——— O MWD DwWwoOlLW AL —=AIXVNOWIN=—rdI Jx~JZ2EOW==r—r0O [VBYJT<7WV+T.Yo85,. (=] o 44o w[+ SEQ 0161 13 F PARAMETER CODING MACRO V04.0C 1~JAN=-83 11:06:45 PAGE 69-1 SYMBOL TABLE SYMBOL TABLE VLVLVVVOVLVLVLVLVLOLYVO V V OO VO OUOVLOVOVOY O Q"OO[T 1] 1] 1] TTTRTRTTT BOLTI0C.3——s3025A4E3WOTyUlN—V0s@—AVoQT2BA.ELO0TI7“3XSRa-rVltWNi0nVUsDeCasAZR-IBO—VI-O0Ox4K“.gATTPRX*OyL.VEa0e§‘NXyT2u=RtPdK.)0O1—vULxTCPRACrs0V—T0UIBTa<0lS‘“OOw04N—VS-VCA.Tmea7sI)O=006N3SAoamTOe—~V.)N1C.>0IEC2TB)LAa002=aZBOOs}.R1TUViN2LD)4.lAOA300D->12=SV.W)artIULIDMG2lQWuv4“iKVn)0T0MIJL2SVK>IQWA1OWJ2sUGaOL10NWV0E=VoP)L‘WO4D1s"LGINS6200TOVARcL>TPULwUL2(VIN|>ZS}1S0IOL0aOR2INXTSV.TWIEE4>NoL[oTGILlR0WOvbVIa0eEAO—XTULGN2l0OMA2VeMLOTtWR1sA0—O«IIVS2=0BU‘LOD2l£r[N51(0sQONOVvL—uL0.-0OA2lwd2VM4N6D0sQT1JOL"504EXnQlVSw1L0uaOO0LWs1YAnGLUvIr~Cw~A4--6U102LWN(0Vs\G4wLR.oJ1Ire1NO—L5E—30~0[(NNsG%CN12)]ELOIOR5S5N40Z0QN7—2LNS)aG*M03XLn02D14SNI*N0NO0W7vE"2GC—<Ls0IX0—O1eY6KNFMs02>NE0eQ4XLDGN60TOsW—A03Ox-UM2O1—X0T‘NLOors0TENO51LG64NAsOOc0EF@O0GaLAN$V04eO0QOWX10GIO$lO.0L5G1J00NNN‘w)M0ZEOGT1$.WL000N>ODGNXR0~W)$O~0G01=rLV4“OsO0ATDId—OGQENs‘>X0SNI1O0LUH1OL4I.Tss0uNIXHe0—)LO“UO01VH06.OIw$0VO2FH02O4TW)LI‘0N0wO1“0sMLeED10s-1——LI0HU4sWQ 1VOeOSNH7A@0eTLOO7>IAM4H)o410SL[S0V2eOO]O.OM105N=MLp0eN(WO2\I10H0ODMLrS7e]3D—10HOr5MLS3QY7010MD—iLlOS3Hxn‘N5N10lIOL£6N3SN~H27V410OMNV=L3O5A3XI’MD5M2O1=0VNZ3L22OC5NODO3ANV010AN3ILU450M3ENOD2N10EO5aO2‘L3OENE67V1006O4L3WMO|NOUE7—LM610VO35=2Nt6DSOL~3C10UY|OeWV4O.M6i3CVuC2L51N07l>[OOFL637NWOI-L10VNO0TLUM-V1Y37OV10wN2LE0OO3762ON—NeJL100L“P3—OVI\OL|5M4&7V,-)JD10LVLMY5“TOVcO~TDNLV6.lVAJA10LLV7C"TOOT,OV[(Lx0&)T“Le-L]10OLV4SO3VLLL2UI‘V10OVSL43OMLLA.-OLUwWb‘PMNVO4I10VLL405.VVA1*LE6ILPOVC1S-LVW.MLP7ViZAGlVILOHPM0OX—V1VQA.HLIHXP4I(RKNOVVH0P142.X=LeAEPMlM1‘—PWN3V>OESKeL.L71"P‘XYEOOrNlM7!HPOO5—CESz01NrOFHWP6P=I0e1AOOPHa‘7SEZW-I021/EPHMA0SGF‘1O.NARPHPSMN41rOT2PM2K3UEG‘DNlPARAMETER (ODING MA(CR 0 v04.00 1-JAN-B3 11:06:45 PAGE 69-2 61 } SEa 0162 ] XOOO(Ooeegsggegg5t50L))LAlA(ALbW)Rb)bLL)Oe3D332TT3eeeeeebBeeeeee 3(\J09\J4e—e—-Oa=O—B—(-o=h"gq-g~9xXrPuvPa=x(=-=2===(=P(==3O0=OT==ooD=2=DoD=IoD=IDP=O=DO=xY1TOO—=—=OIUMDANV OA—2RaBZwAo2aRxANA0N2O0AVR0B—DANOIAOdBZDOCwDoIwZI2>OON&X2NVO2V2[O&42E0N-0F@-II>I—OIVwOVOXOICSO—DAWXOL=VDMOANNI»eMNO=ee~0eNOCUNM—OU—MF M TABLE CODING MACRO v04.00 1-JAN-B3 [ A ( ] a 1 A X @ w 4 B = A m " N A A N O — U D N 1 I Q r N = O 2 r 1 | 1 U 3 — M O D 2 5 | ‘ N ) =x0OXQWGE—&weWU(0-MNieI~MusNImDNn NVBIAARARP>RANARARANAPRARAORNARPARARBARDARARAVAARNANANADO>FWZTAFd&VO=X2IZW—093AOt2ruEANJgdoJloel[Jeoeolloaeeolelwlelealeeaolalel) oeBsPv U0-SMNP<WSMNPVM M MMOMMM MN N OM 2 MO O =MQe— SYMBOL OTO0O0OOVTMOM—O O — PARAMETER 11:06:45 PAGE 69-3 H 13 6 6 6 G 6 6 G 6 6 6 6 SEQ 0163 (S~ G PARAMETER (CODING MACRO V04,00 1-JAN-B3 11:06:45 PAGE 69-4 SYMBOL TABLE w POAITAN O —P 074630 000000 ERRORS DETECTED: 0 000 001 ( 119 PAGES) 30464 WORDS DYNAMIC MEMORY AVAJLABLE FOR 70 PAGES CZRJLA.BIC,CZRJLA/C {20,0)9V(34R.M.B,[20,121C2RJILA.DOC,CZRILA.HIS,CZRJILA VIRTUAL MEMORY USED: [eleleolelelelelalslelolalalelalelelele] - SEQ 016% O NI A ANOTONOWNC 2 TNNO 6666777777777777888 P d 113 (g1T-QV2a¥LEwv,.] PARAMETER CODING MACRO v04.00 1-JAN-83 11:06:45 PAGE S-1 J 13 SEQ 0165 (ROSS REFERENCE TABLE (CREF v04.00) " - N O MMMOCNINI OT WA O 0N e e = = N M AN OMDA NN 0 IN OO OO0 OO e NFON MM O~ANIO — N A 0ONNNNN=NINNN [ ] - LR 25-198 LOoBEENgXOV0oTDV0olOe wo I 668 o] vN O w w0 ~3 woan ] (=] K 13 PARAMETER CODING MACRO V04.00 1-JAN=83 11:06:45 PAGE S-2 SEQ 0166 v04.00) -wW— OM—M 7-278% 7-278#4 61-159 65-224 2 5 3 17-42 17-13 ~ ~ 54-120 55-110 56-92 57-87 58-52 59-45 60-38 55-18 56-18 56-21 57-17 57-20 60-35 61-35 17-23 1724 17-32 17-33 o 17-48 1 1 6 1 7 6 7 9 17-15 17-16 17-18 17-19 ~NLOOSoAN 4 EX ¥ [a ~ J 2Ty [Yal N [ ]ONJaV¥Te[VaYe -~— oO— - oo PRAA>RNAANAPY. (CREF oNO (ROSS REFERENCE TABLE L 13 PARAMETER CODING MACRO V04.00 1-JAN-83 11:06:45 PAGE S-3 SEQ 0167 (CREF v04.00) "9]0§[] ][ CROSS REFERENCE TABLE ®» ®r - L 4 =» L J -« >TATM»N«OIOhTesWOVTMSN-OVO0MODognV2Ol«Iy-VORt>-D2>~MONNMO2>Y-4NI[0F>.G”.OON—2—>VO_eD"W>=NNMOO“on-OgTsU'lTV&YO1¥T"VN(]][+«TLOVn—A=aM0OLN@.OM0Iv«T'~Ma«,MN-T-G0XoO"O-I£'II,«Iw~y“IAI"PI,T0N'N)L”WLw8OTN IX"IeIItN O—NTNOIMNWWVINWOONMSO~3]¢Z[VaoeVJE(XS aOMlM0OoVTVoBNOOo—YOVo~ERYoaOVIOVNaNMWoawIWaVdL -- & . -« v04.00 ) $=4 -« - (CREF - - CROSS REFEREMCE TABLE - «T-s [ « - oOUOM(A—MTO=I0080NUNO—-IOO&AOMNND-ODIDI0NMUONOOMWTINTRGOeTONINDVAMP0MOVIODMATDONNNP8VOOINT0O=IIV0DO—Q=o——-sO=INAEJ—=-eIMU=MeM0oOIQNI(RM-"—ANLOM«I0V-0EODS0NoO<DMx-UQR0INO0a0euM[G==B-DbKVoNxAnOLPwMeD~FDVa1M0INAODMO0"T0IANUMoOWIxBe=N8)LO0eR—0ewTN)OxM@ONV=aN=Zx0AOEMNMAOBSFIeO0eIUONeIM-MeIM—NN«—MUNI0_000NIOsIOEMOeAMNI9YYTNeOWP0[¢AMO=EMV1IWCTMNVAeeNL=«OeIZNONOaOnaI=VePoNoO 32 eaa 0D-OV)MUIIYUNO=O&VITMMDONANINNOY=OV8MOr-MNNM—AO=0MOINCEOeNIO0e0LOoAI—NVKT0NTINTTMIOa~0W0D4TNOI-08SONNDT0IO-8[0OOI3M0NIOSXT0INTeTONNIPIa(O&U0MAG)eT0NNeA[MWNIOMNeAN[Ow0M oo --~=eV]]0 a—XN)NOeeAIW]YNNrOTeRNNI=N 0OeINrNMTIeIINMmOONeMTrIV~YeV=O0_OI]4VOFNO0TOTe NO=OCACO~OMT]L]MUUNMN—eL0—2M&OIMN—IIOOOe“8U]W0WTT0N—NO8N-NWFAIOVRIWVM0IMONNONWNA-INWIVS-—ONI0NV—ONOeMUDR=YI4—NONEO02—Os|OWNM0MMMeTMO -L0|~OOA8O]~T-OMMF-L1N V[M—=MoNY1"Uen~l]0oy3g--= V0LMI]\oNYoMO0M O0 MNMOUN=)8WeIOn—IMMQDO—ooIUr0ONeNwOMeN——mnWWMLONOren=O——OsLNYm1sOTM OMNAVrO|N—IIU0ENeLVNTWTWUIVVL~ON.DMYSO&NWNNQOMTWONY]0V,—ONWsJTIOLVrNOoNTreOO[- IQEO0—MMVENeKIMOohONNT[L8-OMItYVY—CNl"UN|BEA-NAONNM«MWNV-0]UoWTORILeINOT—VOMo"M[=[ VoN oooM oW e[~l v)}4oarM)waO~NO—XLOM06AONMNM-gMl3IL0]|—My—VVW0,¥eTgo=NVI2SUNN(lOylR=O\—IYAoOIvOIy\VJoaaeI,tsXedNOOOBtNO.a«B0IB&lWI—o\ON1T—JGVVeJ-oNWWoT]uLeVOeONL-«I"NI]II\Jm—NoYYoVeMOVT-DTFO=00RIIXoNY\L0lNV[aO-NoWA—"oORRI0O0II=.aNV—lT=Ml1VvOPNDV~oeaVeNILM0I0AalXWo—IlSVtTVMNVIoNOaa=WXM-L«IOIIlDRa(NVgNW1Oa=VAkT[R2lOELU|NIVXINMO—O|]NIRLaoVML3N0~w-M4<ogM—--e]aoa]0 o’L ]0 -oL|3.—l[ila+ [9——OO aLLOD¥[(]~-o¢3r)-[o—N~--[al]V~¥Ve'5y¥a—[Ya—«[3]l])+ LFOL~0O~CoVM5N04O3OAe]1 a)1 "J ]1r0yV]leloEMO,~oXv~ -—NMayYl—guoBe0vM"~.ne|—1F]aVot0lYO~AOM OVNYN—-OWVO—( o2AON —Ow -w&U"LL"Uy«1TonNT—NPL1V9oLWMa--V—y—el0[eo—eNSSON=OJAIOOc4JgJOVM]-L]«]&&|Y|0VYaAVANWVoNeTLkISIOAI&IJYSaNIVV0KVOlxE&IBB-IeOB-o4VyNVEREL~NVXKn—LMOMNN0e.IIooTO~OVVVRINIIRMNMR~&NONRTONO$--IAID-|Io3t«No[oNm,IIIRN[OeOMLTWWMOM[LM-~IVNM O]I[I.« oV|]«}|"ao|[«a)~ eIsO0M8O0eVj0O8M=0F6T=0NMLs [-¥]e [a'¥—] [V]a) o4]e"LRMtNMLa-0vo.lO18i[OweUwL] PARAMETER CODING MACRO V04.00 1-JAN<-83 11:06:45 PAGE ni13 SEQ 0168 [- - -« (CREF v04.00 ) T—OM\V SEQ 0169 3 2 4 l by ? 4 4 S 3 4 5 5 7 5 4 1 7 8 4 1 4 4 ) 35-215+ 35-221+ 36-8 36=20* 36=237 36-254* © a w0y a8 - « MM O OO — N AN~ NNNNNO e — e e e e e e e e Qe e e O e— ~3 TMyO—OrOWMaoWO CROSS REFERENCE TABLE N3 S-5 sNOlTo JoVig.We [Ya-loale PARAMETER CODING MACRO V04.00 1-JAN=-83 11:06:45 PAGE - 35-213 65-214 6 4 4 6 2 ) 2 3 5 5 1 3 5 6 1 PARAMETER CODING MACRO v04.00 1-JAN=83 11:06:45 PAGE S-6 SEQ 0170 (CREF v04.00 ) Q00 <o0»n=~~~ CROSS REFERENCE TABLE B 14 1 )~ LNN. (D)L€etotGtBtSurgStUBGMtSt}WPt=SrReOP¢b=Ot=SOA0GdVol1VeoVeIVl ~NOVWO—0ONIMUN—OIMUWNON=O ~ 0 0 p) S P) 5 ¥DoD¥)&=&b=&e&b&e&e=&eN&=M&Jb=I&bW5VN&O&reN&0L&ZO&rb&=3[ 9 9 p) 7 4 " 58 62-47 9-314 = wT NNO~ OVNIMA M [MO0a-]Va) — Oy R*0a%WyMO0 =u WOVFRNO O MNNYORNVIMOOWTOO0=IION SMO|I eIloIIgIVIVBaRN|4 DR y RN N-Ee2WO~tN ~ 6 6 [o]o1- C 14 S=-7 [=] w o ~ ~ NN O N— 3AU OCYU— OUOUM~FWN\O MO O 7 —FOOMN 54-26 2 55 15 55-18 N l=4 [aL4AlmlVialy a3AoXgR4[]Vde [VQYTeVoXIVleX MrO~M— M (Vo) YoV YValeo [VaX 40-76 4| N¢oNel=VTa¥E1VoYXeUL] [Va) FC O OMNOVMV Vo) w LLalval¥alValVaXVelve] OMWW O a1"aYValVaYVaYvelVe][ ¢*Lo"kal’ala’Ll 4L0-47 65-201 68-12 24~ 48- o OO0 7=-2788 7-278%¢ 7-278#4 7=-2784 7-2784 [2]Val, NOONINI— NN O OM SN N WONDN0 o0 0OTIe=MNW~DAM 0OM=&NO3-eIN—~IM TNOeM—I~ OINOQ0—UMeUM SEQ 0171 — OIOUM 3N O N OO O — UMM 2 TN ODVOIVWOYNOAONVIN N N N PARAMETER CODING MACRO V04.00 1-JAN-83 11:06:45 PAGE CROSS REFERENCE TABLE (CREF Vv04.00) 32-46 49-16 50-25 50-68 56-41 60-14 51-2¢4 51-64 52-19 53-10 w 53-13 53-23 54-40 56-42 58-28 60-15 PARAME TE R COD ING MACRO v04.00 1-JAN=-83 11:06:45 PAGE (ROSS REFERENCE TABLE (CREF v04.00 ) S-8 D 14 SEQ 0172 ~ o oOown « R XN <3 &= & 00 O A0 CO O I 0000 2| a000 0000000000aa0 00 a00000a0a0a0000000 MR« RO\M O« 3 00000 ~y =n =xn xn =» RNR BW& OBR »n PARAMETER (ODING MACRO V04.00 1-JAN-B3 11:06:45 PAGE (CREF v04.00) SEQ 0173 55566N1NI”MWwN0OnwY"ONuIwMNuNIOMMNOA.V=ONONNNNWD (ROSS REFERENCE TABLE 14 S-9 1§ CNT NOBAUS0W—OMN~OIN 12-1604 72788 24-84 7-3234 50-24+ 25-160 40-61 2694 46-19 L3 L3 «u = » x » » 50-69+ 51-23% 57-86 61-165 65-199 65-230 51-65+ 60-12« 60-36* 61-18+ 61-33+ 62-22+ 62-59+ 20 ALALNLNLFVNININLNY SNNUALNI RN RNINAL NV RN AN NINIMNIRNIRNDNINO N NININIAIND N B ORI AN AN N AUNAN NI AWMNAN AN AN AN AN AN WNAN » R & R R L L X SR & 2 % X Rk Bkka — |g nlh — - - [od o« Cc — z Ll — = = wUJU‘WUUU‘W&NWWWWL‘UWWWWL#WWW!NWWWW AN OO N NN N NG AN N N AN AN N 8 AN N AN AN . 4N N ANAN WV AN N AN AN LS$PRIOD L$PROT L$PRT LSREPP LSREV LSRPT LSSOFT LSSPC LSSP(CP LSSPTP » LSLUN LSMREV LSNAME ~~ ] ] (v N AN L L3OV L$DUT LOOVTY LSEF LSENVI LSETP LSEXPT LSEXPL LSEXPS L$HARD LSHIME LOHP(P LSHPTF LSHW LSICP LSINIT LSLADP LOLAST L$LOAD Po L$DEVP LSDISP LEOLY LS$DIP LEDTYP S ome D MO [aal LSDEPO LSDESC LSDESP F 14 NG MACRO v04.00 1-JAN-B3 11:06:45 PAGE S-10 E TABLE (CREF v04.00) N UNNWNNWNWLN. CROSS REF NNNNN \l\l\fi?l\l\l\l\lfl\lfl ) NNNNNNNONNNNN?NNNNNNNNNNNN\I ' L2 I I A ) PARAME TER SEQ 0174 16=274 8-8# 16=174 67-53 67-534 9-9 9-9# 42-8# 68-1224¢ 69-22 1-8» 68-12# 68-12 8 31-56 31-58 31-60 31-102 64-31 65-35 PARAMETER CODING MACRO V04,00 1-JAN=83 11:06:45 PAGE S-11 (ROSS REFERENCE TABLE (CREF v04.00 - ao (o] = - - oa ~ ~N G 14 «® u ] SEQ 0175 b 0 ~3 an (=) ] al -— Vo) ~ L U "ol wv ~ o O MOSN N Ne— = == MOMOWNO T T = MINNN OO O OO —MNIWNNITO w [} T LSS LTS ETESTETIIT IR DA DA AN A A IS EEEE T E A DD 66666666666666611126212211161161116666111110033333333311¢| AR - ~NO SEQ 0176 PARAMETER CODING MACRO V04,00 1-)AN-83 11:06:45 PAGE S=12 (ROSS REFERENCE TABLE (CREF v06.00 ) H 14 PARAHE‘E? CoDl ga NG MACRO v04.00 1-JAN=-83 11:06:45 PAGE S-13 SEQ 0177 (CREF v04.00) [4oOV0]V NOAa0 ~© Jo|RRXVV[RVe1oVV2VIVReoBNWY{"=a-"1o"SNNV[2eVa[Y -t- SRVNOWVT I ~ ' "0 "9 UL ] - —Me—ONg —Ne—— ~N < OMaw O —f. -—OMeaun -&~ « . - Je— e~ e 0NMWVWA "y a0 N =MAN -— CROSS REFERENCE TABLE I 16 PARAMETER (ODING MACRO V04.00 1-JAN=B3 11:06:45 PAGE CROSS REFERENCE TABLE (CREF v04.00) 14 J ~ o O O o MnMO Mo w A O —e—MO Ll B 2 R R gV TV TV IVLTVAY. o IVo) Voo OO — =N —3 NOuM [NV — MO O N0 — . - S-14 SEQ 0178 L»A L L[) ® LOWMoWk aVONI-T0N-S SeQ 0179 K 14 NSNSO e WVNe=NOUMWN®n O WV O0 VO - 3— —0 OOMADINIUN TJ v N Wo 5— ~ L w- -0 ~ (o Xl WO NNMT [=] wo [Val B W %8 N& I~I O -O —M MMMOIOMON eleTN-g OO OMINI— AINN oOWN N - W) OV EZEZ2CE e 20— - =MW = 1 ] [l = xewv xxrxxa oN b 3. — 0NN OO R a o WOLWLOW g YOLO VNVITNNNNAN NNVBNUULW NN N Ry T OO RNOOOOR R R R & 2311!711112225271‘1[4191717111 ~ L3 3.3.3.1 «n \ OO TMO = — 0o L a0 M~ IO Ny a— -0\ =n L X3 e W- 3«F O -~ == O NCOOWV cana oaaaxaxax aocaxcxxx caocaaoca ctaacrroc ocag aaoc t o c aaaa Cxood Rtk Zzhkzhiizhkitkzikxkzk? A - - 0N oD - W CROSS REFERENCE TABLE (CREF v04.00 ) PARAME TER CODING MACRO V04.00 1-JAN=83 11:06:45 PAGE S-15 L 14 PARAMETER CODING MACRO V04.00 1-JAN=83 11:06:45 PAGE S-16 SEQ 0180 CROSS REFERENCE TABLE (CREF v04.00) 55=24 50-26 SEEK 55-44 55=72 61-152 65-216 57-78¢ 61=149¢ 56=35 5655 57-32 5752 62-36 61-22 62-21 63-28 64-50 65=55 ZQWi.l o 0MDIMMNMMMMMNMNONMODO0 30 —— UL =—0 MMM MMM O OU ST G0 = MMM MMM —— 3 NN OUST MM MMM MM MO0 — M == = MM MMM LA 27-24 wo 2t=123% Xg)[VaReX XZgVe]LoXl » X4Lomd® ArIINIAIAY clclcl1l¢l-.l.11111-'11!ll111l1|-1lq'11l -........-.-.....-.............-.-...-o.....-.-.-..22222 22222222222222222222223 falal g .........-..-......-.................................... ...-..- ..-....-...-...-...-....-.-...-.-............... 222222222227&23333 ..|.Ic|¢|..l..|ql..|a|c|ql\lql..l1|1lql1|qlql¢|¢|ql2222222222222 ~ 0033566993‘7113359576[*4235729933420.112345603756677 .....-... ........-...-.-..-.........-.....-...-.....-. 333 111111111111-lclcl111111—'122222222222222?222222222223 ..-.... ....-......-.......-..............-......-...-.. 3 1111111111111111111111122222./-22222222222222222222333 889‘56111111112223333334‘4381111..23456889111111.‘11232111? CROSS REFERENCE TABLE (CREF v04.00 ) SEQ 0181 PARAME TER CODING MACRO V04.00 1-JAN=83 11:06:45 PAGE S-17 M4 SEQ 0182 N 14 S-18 PARAMETER CODING MACRO V04,00 1-JAN-83 11:06:45 PAGE CROSS REFERENCE TABLE (CREF v04.00 ) ———— v = = e $ T T ONCNOIONIOUNININIONIONINININE T OO — (UNIM P F 8 <P P F TN O OO OO ORI I I RI ooODIIOOI eIIO I O I III OO O L eB 11111 ——r T T T C IO OUCUOIANINININIONI OS2 OO ONICNIMINS <8 2 ~F <2 T T NN NNNIN OO OO OO AR A - T T T T OO ONIOIOUS <2 O ON ONICUM (P T <2 T T ~2 T NN NN NIN OO OO OOR R AR AL — — - —— ~$ T T VOIS N O e (UM P T T T T T N N N IN O O O O ORI A — - — e ~F AT <2 OO OO ST N0 © = CU ST 2~F~F T~F 3 T NNNN N0 O O O ALA A CROSS REFERENCE TABLE MM OUM S S OO = v o= = =~ MI$ T MU A O e o= — — OOV N O — = OUIOIOUIMINM S WNWNO . TN ONINIMYe~I N O—FT=WUM AN O O O YO N OO O OO O OO O O O O O O OO O O N0 OO O OO O OO O OO0 O OO OO OO OO T INNINNO OO xn ®» 4] v > ) (V2] 2[+ SEQ 0183 B 15 1-JAN-83 11:06:45 PAGE S-19 (CREF v04.00 ) PARAME TE R CO DING MACRO Vv04.00 PARAMETER CODING MACRO V0&4.00 1-JAN=83 11:06:45 PAGE (CREF v04.00) SEG 0184 ~NO O o vo 18854 TSSTES 7-323¢ 7-32%» 17-48 xR 48-574 OOMV OGN0—\O . 69-16 OTNV [TodTXM 17=-44n [ - TM Ne—emNJOO = I OON M= O OTONUNITOI VOMEB—NON 69-16 45-8# 67-53 9-9 42-8# 17-34 69-15# 41-8# 69-15# 40-474 65-201 68-12 " PoSal4N]alV,.] OMIWVAWN M TN T$SDU TSSHAR TSSHY TSSINI TSSMSG TSSPC T$SSPRO TSSPTA TSSRPT T$$SEG T$8S0F L NN AWWNOON N OO OO0 — O T NNNNAMIA AMOT—NISN &= M= — O O F o= <2 OMM F 3 ONNINI— = N OO T$SDAT 43-10#4 44-8# &~ — OUNT F NN NN O O O N0 O O NN O OO N T$SAU T$SAUT TSSCLE L N TONOON O PNR. OONIM TN OWNO N T WNINWN wvoo CROSS REFERENCE TABLE ¢ 15 $-20 ("ol 7-323 7-323 7-323 7-3238 e 0 0 % 0 0 0 0 0 LY — = - — = = = = =MMM A <3 UV N0N O O O O O O O 0 0 ONIANINININIWN O =» M=R 4«TPRaVIVoYVoY [ ., e N NN nt k% & O = = — (ONUMMIE = OUMJ O A = N O M = NN = = OO RS S NNV MR e~ = (V00 v x 84 67-55# 68-244 68-122# *x =» WoO78SNveOMD—=I\NYY OTNW—A SEQ 0185 D15 V04.00 1-JAN=-83 11:06:45 PAGE S-21 CROSS REFERENCE TABLE (CREF v04.00 ) PARAME TE R COD ING_MACRO =-N[aV]X6»5739587®»2059OMNANI%NWNROMNOTANIEINONONNW%®ReR—O0 NMROOIRONIMNOONIMOUINeOONQ)e—=OO=)2TN[=~-ITANROUINANOO~OMOe—OUNMO~MDWN=— @ 2% ——O5OMM—-M~7SNN—30OTIGONOO3~MO~[0OIOWM4WONI03OON7OAOOON2OIVSO7OOON2IRO0OVN7IMO0NOOMI3OOO9OWVOeVO7OOTOM3WGOOWV0O6WO—OOON4NMNNJ3eNOONN4NANO~M5MNCN0IMNONNN‘ONN=N=2IOIDNNC3AvNV—9NMIT I~NOIN8FNN0N1IWNA6IAON5WAIU9NONNO‘N<003NUD3==NN1OO5TCTF7OIOW7~377NFM6D7TNTMO7<T37—~“UCW<FFIOTO\OFUNNrFOOMMN—NIM~UMMIANIMMAST=DOA==OMNO=eN====—=———O [Va) UwN]ULLo 0NO[R0A[}0A0R0AOR~0ROA0Oeee MANAPANVDNRNIDARANANRNVDBAVDARUBIPAART/ETNRE~BF~FTAATWTONIROUMN=— OMOWVNOUONIMYOOOVM= < OA0NA MW~FOV0—ON~FINU<D3MGOIONOA OMWMONNIM-~? — ONI Y wi o (CREF v04.C0 ) = Ue.64281.917050565942920580276835320'60‘.5 ONNIT7ON0—=AWMN0LAGN MOSGv~0UINOM3=—AT\FNMIW~a(RVL=eA0UN3]V NOWrVOWIN—NOrOMN~O—INTMO (1oB=,>4 42[1!318183626‘134612828‘164213135‘62125732‘ERERREBRRONMERER ONWMITOFA=D—0YNIM O/NeA0OI=GAVMUI—NOWNO IRUeyoONWeVW=FSDM—vOVIMNOPNMME=—B(&'OgRkuRke )L(eRNOWNaAVMeoOMIOW—VTnOIIyO0MOWONMN o~ [1Vg¥oYaIleaX)¥ OWIOWVoNed[LlVavaal DlogValiagliolXe] N~O—F0 UL <~+0ONG2F—ON. [ u=&x $=22 NR O—MWN OMO\M Me— — CROSS REFERENCE TABLE -8)JOUNYOoIVOVoOVoVeOoIVOeVoOllVeOeOYVaOlVoOlVaOlVeOlietNielVelVelVeNoalNValValValIVaAlVNaliolNValVJValNValvalvalSN7S8TZFSX“SFNIQXOT\NAJMVI]Ta=oL=l PARAMEYElF!E C ngNG MACRO v04.00 1-JAN=-83 11:06:45 PAGE E 15 SEQ 0186 ONAION— 4 x »nrho»=nN=g=bxr«=u=xX(o'Va])L 1 2 2 6 2 1 5 2 0 O 0 N I O ]O"eLaVV1e0"TVaeOlIVe"OeaoYNlV’IaNl"Oal"Nal"alTV2MLFA=l= UNoXDVNalVOedolOalOg£OIMqVIERrJ=oViVeORXoLg+MLoalaniN MRVeDlVol=foOoXNoOUo2MVUalN.X=loO[ )NOI¥eXVoOYV—NVNOVTVNV6oXV—[V 69-15# 7-323 L 00O— ~M 65-2014 =& 65-203 OCI\-vO~0F 0TNOV~NO OTN0 ULU~OFIMe— R [auRXJo1oSAVldo1 RkN 65-203 O0 » 65-203 65-203 U)LOTN= eTO—~JF 0Y ONWNWNFN e—TOUMF~OWNO— =—NOUMSWNLIOB) L2&R3 O=gUMNA608OTNIU—~FM b3 81‘814152253165671 NONOINZO0ONMON x=bodnN 60YD 0b bo=R-Vl~& (Lxe|=3—4 N\JTOl=er—OM~r=—«-=[o—®»V e Yo } Jo TNAa LA JVAXX S-23 )O’2,'SIV,NTNUVIMV,=RV,YV’IVOO YVTPNMVNXV=U gVT'SORNOOaVNSE»UX[Noad 69-16 o-N OP=MUNWOANOEN o7~5oe1O\J2UM’o==6N5OS90O=7DM9MO8F2GO7NU\N6OI0TaNM0= TSPCNT TSPTAB TSPTHV v04.00 ) PAGE NONVROSNITONIN ®OCNOnOIMONWISANO= BR—TbN—OOOwU— 63-38# (CREF 11:06:45 OOWNWNO VI A OININT TENS2 TABLE 3 53 3. 2 23 L3 CROSS REFERENCE WR OVX3UL0TVNIUNTNT—OMNEYgOTkI0N ]IgVIV,Lo*®alLot3OIX1DL8W5TWe8¥V2Wal3oY6O0(A OOO0OOWNO ONNN NNTN TZ==MMV MOONTO0MOOOONVON ~NNT ]ODY‘IV,OOL2333333IVyeVM9OWaNMl7N—VUOe9eUTN2NVeO4ONgV7ONRN1OIJV3aWNTNTUVN5aI-lRve9IO[OR NN OO O N OOONNNTI0MOONIONO—NOOOIONN0OVINNNINNNN2TTN IT~FUMUUITTZA=O =O —O N ONNO|]AAOOIIUMBIUeNB eI I=IOIL FF=T[[ID OVM—Oe))NNIWNCOONO.O—NW.0MN0MNTONMOLL ONI3IO\NINILTRT—A=0MO-MoU0=BM We]OVT—M0]aOReCaVllNNNXvVVIOvaeeOYMaetVIlre2eWVNNOO RlIaVNeol-IlVOCvBB eNaYOVlOTaV~lVaIallReNiVOeeOlYTlMrIJsreePVEIIloXINIIeVoeIPTVVNdT~OogOVFNVXOeoRNVSFMoNZlSXXg—NVaNEVNALMEXUgLLN[alnd OO1ONNININWNo~gV]OOoon=MdNVXo XoSNoTaY.~[FVAT—X NGOWVNOICOIONIR UL O)WON—2|VN,O=CTV,OOIWV,NVRRN VO,M®ONIVO= XAOVI,BYVWBNTYNVIOYVITPTNINOVNTONV-JTVTFOSRRIT —EXOoNgxVU[MEaLUI d ONN O O ST PARAHE‘E?E CODI gg NG MACRO v04.00 1-JAN-83 F 15 SEQ 0187 L3 » 65-2034 1210 60-19# 62-19# 63-42 65-70 1| 6 1TOWO2NMV6NWON4TO—WNO5IAW0YNO08%TN1OOM2NDO3OSN50ORSN3Pk®RB ONU1IRMO—W5UORML6IO—=01R—OD02ONOMR EON=V30ROOIIO4NROU5MENM—O5eoWN2vR08ADO4N2TOM1STN0-TN4OT= 0 N 0 ~ v O V N M O N — O O N O — g R O R R R E E R E M R E R P R / O N N T O O O O O 0 O O O O O 0 O N D W N N U W N I N T T S T T N O M O = O A 0 0 0 A 0 A 0 G 0 G 0 N N M e O O = T V W O LY s 0 0 0 0 0 0 0 0 ONIs VINOYIOMOIVOONWVONoO—MOO0NONNrWP—ODUUMMOT0FNW~—S0=O=0NM~O0N=NO0UM0GIMDM0=8OM= ]OO2«0o6JV0a9l0Va2NNlro3l0Va5l0ie6TgLO7%~oOo0lOo1RlieO3lOo5lOO J[ o6ROlOiO7eOle8lOUeMlNO]0eE8lOORDiOOel8eOORDOAOL8ROOALWRNA8TNAN9LEAA2NTRIA‘ENl0AR6Dl0N9TS0IT2ATTR6L‘ESTA$T NN 1 0 N 6 8 0 M \ e ~ e ~ = = O N I O U M I M —N M O V W N F N O O = M O ~ — — 3O[Y V&alUtMW vO OoNy~FOUTOOSP<3=0 0oo P8 0 0N TOy 0 0 0 0 0 0 0 3 — — O I S S O N I O I M — N O — O M 2 M O ~ I M S N O N F O V I h L O N O W N 0 ~ ®== 0 o RTRW3oOMN]MIV0\e7oB—OITVO9NoRJRV2O—IV\o5J1O\Vs5oV—=Mee~OVIeO0TRUYMV4OYIV9o=eAINT—VI5NYTVI9TPNJVN8OIaIMTV8NATAITOV7MMISAN4oIDZWXSOIX=2=O gIV5]NU\IaV=3oTIaNV5T2OIa3DNdIL0POLlI OO 0O ON0OOOON0OOOO NWNUVAWAININUINT N3 .OOW1O2|-V3A6O1OOO7MIO1e0WV2OOONI30OOe“1O7eNA7NO0I1NI5N20s9I0NN8N1WeINATNI6N8N~73RF08M3~W3OF87A=WOSOP9U1MOMIOL3NNN9IOM=EOUI3ONSOUOU6INOOMIUNI8MI=MC02M===8'=r—=—1OOM1eLN]N3OM3&ONLb28UOO—1‘MOY2U2vYO2‘~6Qs065R8«W07n7T3GIg050N99Ma1017S®N6‘0»G233DOa0O47020N0N5I55I=GNN0G7I12OGO07I28M—NR83VI83OT9»W8M7~N8FlO1OA8¢B8O=85T2O8b0C838260W®28D10rW=8O10T92M300N355=08O378O00H171WOV00N53O2O0N OIOOJ\(ONNoV\aCVlrJYNUo——JRMVVTRweOI—o—e-—TIVWVMNOOONYMoeNDVVVOUINRNRAeoaDeOO=TV0—e—o00eVMODO—TYNMV\AeNJAVNOSO=WOoYNTVoOVoOVNRNoNVeITeTNl—.VeNNOTU—JaMMaTRToVV~ONMIFeIAROTIFT—2NEIXXoOo—TeP0VROX~~=IoOO=0FyNNSaL3OO1o=0OOlIOIVOFLeVa0OUaA~TlMw~UDa=V—0NIaM]O=lAMg.NICS00TVOMT[=—NN6NLNVI==—OlO7NWONML—VNYNW5OW0O‘O—0OOANN4=NATMAIUM5MWN~NNAFNN7MUNOII\WMIN6OONO~FCO4RAAA0S0O5OOAN00NO NLD90GOGV00O28DSTOGN00N8IGG0U00O050IGGOM0O9OO0G0M04T000000O2oDGO-=0O6RONARO0VOOR8rVNONMN-O—I7UOOMMIU01U®O=—INN7OIOAOOANS2OMOMDAO3ONF0AW<IA5JCNOoNIM=2IWMINN9INOINAM8OM—WONIMOWSOV2T«ONN =u -—©N0M[«~VIVa»—l0z—NN~JT0ONWUaO=]0ONCONNMNINO=N3NIONM3INIGOn=gTMVWN~XNOWMoO—n~—AONe0O\bI3NVV0OW»IONTDRA0VMr8N-®RC~-»~—V8Q—~RON=0N—PO0NO»I&~0NRR®0SFOOITNO«RI®OWF3RMO0TLONITOANPOR1OBN-NNbII33M6N3.OI39O%NaO1AU33IM95O5M7.T3I33O5N—3IV[.1OOI}33O23OO.5OO33I.33N2TR32T7Le3'—7O3OTI[ 1 TABLE (CREF EA2lVILTReX]UiZalvalvalalvalTNoValvVlivlAlTlVV 037728353135720‘84‘950“85‘95 O80UNQ~0LOONAFTWVOIN0FeEONeEMVNIT\ITOONOYRx|UVBkOEY 0se8t =x 00a0 ONoB0MPATNOS=3Me—VID\NIMM O~VUOG<I—=SWOFNOIAMIM (8Oo\NIM=JDvORo0—NOVWI—E~N=MAO ~o(0=] v04.00 Tuk ) oR%R PAGE Nwry R—%R $-24 OOAN4ey VN8WWW]TO0I0o OV,3XNNVM,OI5OFO2VNw2OoI=V~O,MNO600YV0OO—YVN6NOTOVN‘TAVNO NN7YV4VOIV~IoN5IIoNNYSA1VNSJV0TSNN2<OI3X5O0RRNI3gON0O6V0UI2MoVS0A7aE0VTI5MQ=0VU'LA=ol CROSS REFERENCE Ry — PARAMETER CODING MACRO V04.00 1-JAN-83 11:06:45 G 15 OoMO~OC S>EQ 0188 b= oRNO ®xN ®» 60-10# PARAMETER (ODING MACRO V04,00 1-JAN=-83 11:06:45 PAGE S-25 H15 (ROSS REFERENCE TABLE (CREF v04.00 ) LAy w- Ww oa))[[VV a-dL oNe0¢s&.*«, SEQ 0189 PARAME T ER ?E CODI gg NG _MACRO v04.00 1-JAN=-83 TABLE (CREF v04.00 ) S=-26 115 SEQ 0190 1WONwW1NW2A0W3AN43W7]W8LL=OIONWU—WOONWMLNOIWN.V—rNB—OrNV—&ONOAONMRVNDO-N21VIVOT1WN2N"2)3YV4OR78M.NRI¥1N|28D1VNWTN2IN3RI-N—4ANV5DIONW6.~W.B.lR.E).NV.BID.WI"ZM (ROSS REFERENCE 11:06:45 PAGE [T N N [ By|&aBk_B&R—OuW&&B MG<~“ONMIFTN0WO=O8INNID0&0OJr=GN~M3W2FTOvBIAU0N-—NlVM oIJINO"MTAA~TIN0INDU[VNGY1L]R4J)t08N0OVWO=TN0—wA-NMOMeN 0-oa~—Oo~N-0 ®r g" w ~ - -— M n ) PARAMETER (ODING MACRO Vv04.00 1-JAN-83 11:06:45 PAGE S-27 CROSS REFERENCE TABLE (CREF J 15 SEQ 0191 M O OVOO OOV NONMM =M OV = NMNNOOOO0 WA TN o©~L[N=K] La"&0XJ N4 w -L L ] WO 0 a][wv o}[Vel -@ -S4 Ao Ne— o~ - — o|--(72VI=NAIMIUNo000~NrOO(-—oYD>w1ovNoeN-1111113456789HUDPUR v04.00 ) - w0o M[aYVl ]U ~ar0 L L- L 36-258¢ 61=140+ MACRO v04.00 1-JAN=-83 11:06:45 PAGE S-28 CROSS REFERENCE TABLE (CREF v0&4.00 ) WMY T (N —I—3MNQ0COMGOVIMITeO PARAMETE R COD ING 000 OCNMIN TN U)L K 15 SEQ 0192 35-66 O0 35-71 35-83 35-91 35-102 ANRALRNPRGONRAoSNIONNAA’OAoNNARAANANAWAMOAoAANANAANNPNNSAAPRI <0O]][[ woJv'v (s"Y]]o]o[]eV00aalXgVVa[l"VX"sael] OON0~]-”|—M[N0OICIO0OIONOIXo2NZOI2IMo2oLwT0w=]IaN[l+2IOZI2MO0-N]oLowM~~)~UI[~}[Or«MN&2Oa—lONOOT~La~wNVo"JL~-naIM]Ny0vR)IOTJIIOOV0OOOIWNOW<TwnOOWaON~~o-—NlOzNL[,ROOMwTNZRONI2OxEIoTN¢XGCVI}XO0yF[—TVRVMIaoIRovM-(~VR~]O-[I'}o(—F[eo~YIM[VIOea[VwX4a0e2o)VMW7IVlo0ANa=eV]T[l0lau,0R—Ta>VJl=IXi¥aL0e[VOlo]ahNVva¥<V~XMn.[aalIO1V7Xlelaae[)V-VIoa[O),OIVIVOR0OIONIIV-O—A]II[Nc~V3a—IYaIRORVNIOYRIO—IVRVQINU W0MQL0OO—wONNW—LONMO2U—LONDWooO-~0NNDNOo0MO—M~eM—On")ONo(5V-rON—=—LOIV3MOTUMOAOVC[NOo0~e5)AODOOROVL—o4N<BauOlon’NN]ao0l(vO-y’o]NN[Val4eoOTOV.)Na2elO}v’eN&[]~MLDSaANVlNOv—aLlNSONOID—0ODO—DOOaOOD0MO[~O-=NJDO0DLNOAlDOOOoDVDOMOAa—0 CROSS REFERENCE _~w-A—O=20>ZEa0F NL<I—MS37OTeN=voM~RA oB<0MGA€Ia+lT1DOX,0.0aoIOlTNLW¥I-eMa]~vOTN ]U"10[’Lo—-eOMNL+]—ua~lN [J)LUI]}[V-aM¥o1]—9¥Ta []JU!0}L~(-[o2O0VM—le -— )| ) ) [] | ])M .- 0] M10IR }T3~M oM wO J[ gwo~L WeN20N¢Oy M- N PARAMETER CODING MACRO V04.00 TABLE (CREF v04.00) 1-JAN=83 11:06:45 PAGE M=1 L 15 [oa[*NL¢eOwl0]NaV V~)oaMla3N]a~oOw0 [-YOwaY"]aY' ~oV<eMNFUl OvN" wM SEQ 0193 ] M5 PARAMETER CODING MACRO V04.00 1-JAN=83 11:06:45 PAGE M-2 SEG 0194 (CREF v04.00 ) =N o([O—M4DVe=)NPT [V=OAIao-e)frY~ =» 8[ CROSS REFERENCE TABLE =n =« PARAMETER CODING MACRO V04.00 1-JAN=B3 11:06:45 PAGE M-3 eSS REFERENCE TABLE (CREF v04.00 ) N 15 SEQ 0195 ®2»% & n =n =n PARAMETER CODING MACRO V04,00 1-JAN-83 11:06:45 PAGE M-4 CROSS REFERENCE TABLE (CREF v04.00 ) B 16 SEQ 0196 NIO MANOONNAANMAMN OO0 oI & — 2 NN RN NS00CU 0000~ NOONIM NICNICUCNI »n PARAHE‘E? (001 ga NG MACRO v04.00 1-JAN-83 11:06:45 PAGE M-5 C 16 SEQ 0197 CROSS REFERENCE TABLE (CREF v04.00 ) « = PARAMETER CODING MACRO V04.00 1-JAN=83 11:06:45 PAGE M-6 C(ROSS REFERENCE TABLE (CREF v04.00 D 16 SEQ 0198 AN 00N OO O = e 5= «F T ~3 O NI IO UM AP N O O = (UM <F <F 3 ~T ~F ~F T DWNNNNIN OO PARAMETER CODING MACRO V04.00 1-JAN=83 11:06:45 PAGE M-7 CROSS REFERENCE TABLE (CREF v04.00 ) w WANIAINMANIMA NNAN O O O O O O O 0 0 O O O O OO0 O 0 OO O 00 0000000 000000000 NN EXE [ [CIG] 2Z E 16 SEQ 0199 PARAHE‘E? o0 2 ING MACRO v04.00 1-1AN-83 11:06:45 PAGE M-8 F 16 SEQ 0200 CROSS REFERENCE TABLE (CREF v0&4.00 ) 31 L » MSGNTE »®»&=N MEHAPT MSHNAP -—R RN RREOVORA VARV MEGNTA b®%x3=r O~r LR =®bn RN O~y n SEQ 0201 G 16 PARAMETER CODING MACRO v04.00 1-JAN-83 11:06:45 PAGE M-9 5579292827272925 ...o...... [ Jole] LR .-.... 5666666666666666 Lalx 47 x. Ua | T ONOMNB. NN [Tale oo dValValod nd ol (3 X _Ual RN RN RN NN NN N —MI NN —MT NN NN 0000 —e = MMEWOO =M MM PN OO - OO0 0O — M) T DDA Rk MU N 5666666666666666 MR RN ~R0 YRR RRM R R|ANANNR 5666666666666666 5666666666666666 r ON DOMIWNO GO oMM 3 O —O [QVIX SN ZVe) MT 20 M O 30 +—— 2‘4555556666111133’4566 124‘55555666611133’)‘566 12“55555666611133“56 124‘55555666611133“56 OONOONNNOMA TR MO OO~ — Lt e A alal A [RVEX EX dValval gl — O\M A0 OM O O OV M = N\ WONNOROr— OMON 1244555556666111333[4566 e A L atalal e I £ 4" al al ol — O\ST SN MR ONCIWN T N OO — == MMEU 50803576835005036 [VaY=1. <XX 4 6 B R NN — M T F NN O 000 —MNI MW N —— = MMIWOO0 56666666666666 00 < XX J oo Jo N OV PO ~3 00— — M $ T DWNNN OO 00 OO O 197‘292327192~107L LLal® L"al e— OO NO NN O 56666666666666106 —MIF T DAY AO 00 — = MMNT TN O A e A 'alal sl 56666666666666666 [oVEN ZX & o) 5666666666666666 ONT TN 2“555556666111133‘56 M TN 5666666666666666 M T 56666666666666666 [qVEX X gVa) ~ oo JVIRVal gl [QVZXRC 56666666666666666 CROSS REFERENCE TABLE (CREF v04.00 ) N = e e e e ey VA0 OO0 TM == = CIOUMMM M $ W8 < DWNNWODIWNIN OO0 0 OO O — = = e = OO UMMMV U I IR ] N EEEEEEEE x& MSPUTY “13622-‘11133381124537816316289181126111112233349111134lfl NNV NN e e e e e e e e = 7 OO0 OO DDA T T S W M NNMMMM = v v OO0 PWVOD Ms$PUT SEQ 0202 H 16 PARAMETER CODING MACRO V04,00 1-JAN=-83 11:06:45 PAGE M-10 (ROSS REFERENCE TABLE (CREF v04.00) (CREF v04.00 ) CROSS REFERENCE TABLE ®n &W ©~ O OO OONANOO0 0000 N NI TOVNNNNOOVO0 e e NNVY3 MIMIE <8 3 TNNNINANNI O OO0 OO0OO0 N NI TOVNNNNOO0 = OO OUMM M O V O VNAN MME T 3 NDINNNNNI =®» X2oLVlN ) N o~g SEQ 0203 I 16 PARAMETER CODING MACRO V04.00 1-JAN-83 11:06:45 PAGE M-11 2 7 ] 1 5 1 3 1 4 1 1 65-784 5 6 5 AF N N N ST AN NN AN O O OO0 O O O 0 OO NgSoOOV)XNoIVINg—OooNoo=llTgoeOLtoJWNOVoAIVTIOVRVAoNTOeMRRONVOLRNVoodaVODVeWTOa1RoV—eoA8TOVoNJNoVGlYIDVJANVYSOoVRNAWOYTVoVANVTRKVWAoTNVO[RaXV~3NIQXNPAIRNg=AONVoOLNLNTaIalVOVIaNalI.gMVANN=oAVO[oCaX &W&RO [aY] 2 & 0 NN N NN N NN O O O O 0 0 O OO0 & F ~F 7 T VWA NN NN AWNIN NN O O O 0 OO0 000 & 7 T T ANNIN NN AN AN OO0 OO 00000 % N AF NE S S VNN AN NG NN O 0 OO 000 1 1 1 N ININY O OO 0O OO0V00 AF 8 T ST S NNV 8 & n » = eOSPUM=WRA~INVTM TOMINPoV=WUD e)ULR UIOAeTBLONTMFMIVWCMRERAUBRRE—BRRRRNLRIVBRERC»Xb] O00 e VANNOOOMN G 3 NNVNNI —ONONI WNe O OO = MA NN NN =N O O N —— = O\ O T O OMMANIONIM — MM = F — M) ~F 00 & F \F 7 T VNN NN NN O O O O O O OO0 0 O O = v NN (F <7 <7 N NN A0 O OO O = 7= v v\ -ONM~TMO—MATNONMNTIAOEIOT o %X b OO —-=o—0 - (CREF v04.00 ) CROSS REFERENCE TABLE 2 8 2 8 3 3 L35.1 SEQ 0704 J 16 PARAMETER CODING MACRO v04.00 1-JAN=B3 11:06:45 PAGE M=12 K 16 PARAMETER CODING MACRD V04.00 1-JAN-83 11:06:45 PAGE M=-13 REFERENCE TABLE (CREF v04.00) .~ ROSS SEQ 0205 ("o Y-« IV aYVaYVa YalVaYValValvao To X.X 4 M$WORD [JYTIVBo-4Ru"VNeAnY,T: ®*» » NONONNS[JVFao~lV¥al]RX JRTYo#I][VAfAVIYV.LTV oI]ofa.JYVal.1o=&V1aVEXoAl L3 [aY) L' &u rS WM[NYalaOV) = L .W CROSS REFERENCE TABLE (CREF V04.00 ) e 1 (VAN Y o WNEN S aN1Vo) 1] [PalValVe BENRS 4 [ ] ] (Vo) | [ - L — NI O N0 0 ] VOOV OOOOO O VW MW Q> NelVal Z22To0a50Cx «- Y- 4 @ xx =« -— “-DO22Z 22 @x J> w Ow NX DO NI O r Ll atX & o] 08 8 000D -« NOOOOVOOO «n Sea 0206 L 16 PARAMETER (ODING MACRH V04,00 1-JAN-83 11:06:45 PAGE M-14 » ="
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies