Digital PDFs
Documents
Guest
Register
Log In
AH-T179B-MC
April 1984
135 pages
Original
63MB
view
download
OCR Version
81MB
view
download
Document:
CVTSEB0 TSV05 TSV05 DATA REL APR 1984 bw
Order Number:
AH-T179B-MC
Revision:
000
Pages:
135
Original Filename:
CVTSEB0__TSV05__TSV05_DATA_REL__AH-T179B-MC__APR_1984_gray.pdf
OCR Text
CVISEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 Bl SEQ 001 SHRARESSELRLLEREEIIVRARR IDENTIFICATION PRODUCT CODE: AC-T1788-MC PRODUCT NAME: CVTSEBO TSVOS DATA RELIABILITY PRODUCT DATE: 25-APR-82 MAINTAINER: CSS/PPG DIAGNOSTICS AUTHOR : OICK GORDON THE INFORMATION IN THIS DOCUMENT IS mcr TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENY BY DIGITAL EQUIPMENT CORPORATION. ODIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. NO RESPONSIBILITY IS ASSUMED FOR SOFTWARE ON EQUIPMENT THAT IS NOT AFFILIATED COMPANIES. THE USE SUPPLIED OR BY RELIABILITY OF DIGITAL OR ITS COPYRIGHT (C) 1982,1983 BY DIGITAL EQUIPMENT CORPORATION THE FOLLOWING ARE TRADEMARKS OF DIGITAL EQUIPMENT CORPORATION: DIGITAL DEC POP DECUS UNIBUS DECTAPE MASSBUS CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 s e Cl SEQ 002 48 49 USER DOCUMENTATION TABLE OF CONTENTS Se 53 GLOSSARY 30 S1 54 35 56 34 58 59 1.0 GENERAL INFORMATION 1.1 PROGRAM ABSTRACT 1.1.1 1.1.2 1.1.3 1.1.4 61 1.2 SYSTEM REQUIREMENTS 1.2.1 1.2.2 2.0 FUNCTIONAL NSC'IIPI’IW STRICTURE OF PROGRAM MEM Y MAP DIAGHOSTIC INFORMATION 1.1.4.1 SCOPE 1.1.4.2 ERROR RECOVERY 1.1.4.3 WRITE ERROR RECOVERY 1.1.4.3.1 MEDIA/OPERATION/ SELECTIVE RITE-ERROR-RECOVERY 1.1.4.3.2 OPERATIONAL. WRITE-ERROR-RECOVERY 1.1.4.4 DIAGNOSTIC TIMING ADJUSTMENT HARDWARE REQUIREMENTS SOFTWARE REQUIREMENTS 1.3 RELATED DOCUMENTS AND STANDARDS 1.4 DIAGNOSTIC MIERARCHY PREREQUISITES 1.3 ASSUMPTIONS OPERATING INSTRUCTIONS 2.1 HARDWARE PARAMETERS 2.2 SOF TWARE PARAMETERS 2.2.1 2.2.2 2.3 2.4 TSO053 COMMAND LIST DATA PATTERNS EXAMPLES OF SOFTWARE PARAMETER DIALOGUE 2.3.1 BASIC FUNCTION AND DATA RELIABILITY 2.3.2 2.5.3 SCOPE LOOP SET UP IN BASIC FUNCTIONS SCOPE LOOP SET UP IN DATA RELIABILITY WTM TH ALL ERROR REPORTING ENABLED EXECUTION TIMES 30-NOV-83 10:17 106 2.4.1 107 SYSTEM CONFIGURATION 2.4.2 114 ERROR REPOR1 ING 5.1.1 115 ERROR # MODULO 4 BOUNDRY TSO0S NOT READY NO RESPONSE ERRORS ERROR 03 ERROR #4 - NO INTERRUPT ERROR SPECIAL CONDITION ERRORS 2 .2 ¥ ) B I PERFORMANCE REPORT 142 5.0 TEST SUMMARIES ) B B [ I A B ("] - - m " WN - wur w | I 4.0 AL 139 .2 3 TCC7, TM & " "X RNT. 2 ® 0 i * & * 25 e & 8 G L @ e (0 1 3 ERROR #5 - TCCO, TCC1, TCC2., TCCS, TCC4, TCCS, 11- TCC6, O (8 O U Lo L0 (8 .3 UNDEFINED SPECIAL CONDITION ATTENTION CONDITION TAPE STATUS ALERT FUNCTION REJECT RECOVERABLE ERROR RECOVERABLE ERROR UNRECOVERABLE ERROR FATAL SUBSYSTEM ERROR RFC NON-ZERO ERROR RETRY LIMIT EXCEEDED TOO MANY INTERRUPTS CAPSTAN RUNAWAY DATA COMPARE ERRORS BASIC FUNCTIONS DATA RELIABILITY WRITE COMPATABILITY/WRITE UTILITY READ COMPATABILITY/READ UTILITY RANDOM/OPERATOR SELECTED COMMAND SEQUENCE GENERAL Q-BUS INTERFACE SPECIFICATIONS BIT DEFINITIONS FOR TSVOS/TSOS REGISTERS 6.3.1 159 COMMAND PACKET ADDRESS IS NOT ON A Se 3.1 B 112 ERROR INFORMATION $14 3.0 TEST EXECUTION TIMES Nd 110 SEQ 003 : MACRO M1113 m CVTSEBO TSVOS DATA RELIABILITY 6.35.2 TSVOS/TSOS REGISTER SUMMARY TSVOS STATUS REGISTER (TSSR) 6.3.2.1 TSVOS EXTENDED DATA BUFFER REGISTER (TSDBX) 6.35.3 6.3.4 EXTENDED STATUS REGISTER O (XSTATO) EXTENDED STATUS REGISTER 1 (XSTAT1) s ————— El 30-NOV-83 10:17 6.3.5 6.3.6 6.3.7 SEQ 004 EXTENDED STATUS REGISTER 2 (XSTAT2) EXTEMDED STATUS REGISTER 3 (XSTAT3) EXTENDED STATUS REGISTER 4 (XSTAT4) 7.0 DIAGNOSTIC HISTORY 1.0 GENERAL INFORMATION 1.1 PROGRAM ABSTRACT 1.1.1 FUNCTIONAL DESCRIPTION THIS PROGRAM CAN BE USED AS A BASIC FUNCTION TEST, A DATA RELIABILITY TEST, OR A COMPATABILITY TEST. 1.1.2 STRUCTURE OF PROGRAM THIS DIAGNOSTIC IS A SINGLE PROGRAM FROM THE STANDPOINT OF THE DIAGNOSTIC USER, BUT IT CONTAINS A CONTROL MODULE RELEASED INDEPEND.NTLY AS A DIAGNOSTIC SUPERVISOR. 41000 D (2] — - [77] § o W W W D D I : D °P I 'O 8 MEMORY MAP VW OW 1.1.3 W 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 MACRO M1113 VD - CVTSEBO TSVOS DATA RELIABILITY : ——— CED O . DIAGNOSTIC SUPERVISOR CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 ra 30-NOV-83 10:17 219 ! 220 221 ! . 222 223 ! ! SEQ 005 ! ! XXDP « ! ! 77777 cccccccccnccanas 2 226 FREE MEMORY SPACE FOR WR/RD BFRS OR OTHER PUROSES 5233 SUPERVISOR. 227 228 IS ALLOCATED BY THE SUPERVISOR ON REQUEST OR CHOOSEN 8Y PROGRAMMER TO RESIDE BETWEEN THE DIAG AND THE ggz 1.1.4 DIAGNOSTIC INFORMATION 233 gg; 1.1.4.1 SCOPE 236 THIS DIAGNOSTIC CAN TEST ONE CONTROLLER AND UP TO 2 DRIVES. THE 2 DRIVES ggz ARE ASSIGNED LOGICAL DRIVE NUMBERS O - gzg THERE ARE S TESTS IN THIS PROGRAM: 241 242 TEST 1 - BASIC FUNCTIONS. TEST 2 - DATA RELIABILITY. 243 244 1 BY THE DIAGNOSTIC. TEST 3 - WRITE COMPATABILITY/WRITE UTILITY TEST 4 - READ COMPATABILITY/READ UTILITY g:z TEST S - RANDOM/OPERATOR SELECTED SEQUENCE UTILITY. gz 1.1.4.2 ERROR RECOVERY 249 250 251 252 ERROR RECOVERY IS PERFORMED ON READ, WRITE AND WRITE TAPE MARK FUNCTIONS UNLESS ERROR RECOVERY IS INMIBITED BY THE OPERATOR AT START UP TIME. THE READ FORWARD/READ REVERSE RETRY LIMIT IS 16 (8 IN THE SAME DIRECTION AND 8 IN THE OPPOSITE DIRECTION). FOR MORE DETAILED INFORMATION ON ERROR RECOVERY PROCEDURES, REFER TO SECTION 3.0 (ERROR REPORTING) OF THIS LISTING. %3 5552 1.1.4.3 WRITE ERROR RECOVERY a57 THERE ARE 2 , SELECTABLE WRITE-ERROR-RECOVERY ALGORITHMS USED BY THIS DIAGNOSTIC: 258 1. 2228 2. MEDIA/OPERATIONAL SELECTIVE ALGORITHM OPERATIONAL ALGORITHM 261 gg BY DEFAULT THE DIAGNOSTIC SELECTS THE FIRST ALGORITHM TO IDENTIFY MEDIA RELATED WRITE ERRORS FROM OPERATIONAL ONES. 264 265 TO SELECT THE SECOD ALGORITHM: ANSMWER'Y' TO CHANGL. SW (L) ? 222? 268 59,3 g;é 273 274 275 ‘ ANSWER 'N‘ T0 BAD TAPE SPOT DETECTION (L) Y ? IF ERROR RECOVERY IS INHMIBITED, THE LATTER QUESTION IS NOT ASKED AND BOTH ALGORITHMS ARE BYPASSED. 1.1.4.3.1 MEDIA/OPERATIONAL SELECTIVE WRITE-ERROR-RECOVERY ALGORITHM SCOPE THIS ALGORITHM IDENTIFIES MEDIA RELATED WRITE ERRORS FROM CVTSEBO TSVOS DATA RELIABILITY 30-NOV-83 10:17 Gl SEQ 006 3;9, OPERATIONAL ONES. g;g 280 ALGORT THM A WRITE RETRY SUBROUTINE IS CALLED BY THE RECOVERABLE ERROR SUBROUTINE WHICH IS g:g ‘neuzgre RETRY SUBROUTINE ATTEMPTS TO REWRITE THE RECORD IN SAME SPOT ON TAPE 281 284 . MACRO M1113 ENTERED UPON DETECTIION OF A WRITE RECOVERABLE ERROR. d 285 ggg IF ALL 4 REPEATS ARE GOOD, THE RECORD IS CONSIDERED AS RECOVERED AND A RECOVERABLE WRITE ERROR IS LOGGED AT THAT RECORD NUMBER. 2“(:150 IF ANY OF THE & REWRITE ATTEMPTS FAIL, 290 289 BAD SPOT AT THAT RECORD NUMBER,THE ROUTINE WILL THEN ATTEMPT TO gé RETRY THIS SEQUENCE 4 TIMES, FOR UP TO 4 REPEATS EACH. 293 294 29 297 2% 300 301 302 IF A RECORD CANNOT BE WRITTEN WITHOUT RECOVERABLE ERRORS AFTER 4 RETRIES, THEN THE ROUTINE WILL ERASE THE RECORD AND REPORT RETRY FAILED ON BAD SPOT. THE RECOVERABLE ERROR SUBROUTINE THEN CONTINUES TO CALL THE WRITE RETRY SUBROUTINE, WHICH REISSUES THE GROUP OF 4 RETRIES, UNTIL THE RECORD IS RECOVERED OR 20 BAD SPOTS HMAVE BEEN LOGGED . TWENTY (20) BAD SPOTS MAXIMUM ARE ALLOWED PER BOT TO EOT PASS OF TAPE. WHEN 20 BAD SPOTS MAVE BEEN LOGGED, WETHER ON THE SAME RECORD NUMBER OR NOT, TAPE IS CONSIDERED DEFECTIVE: A BAD TAPE OVERFLOW MESSAGE IS PRINTED 305 306 DURING THE RECOVERY PROCESS., IT IS NECESSARY TO PERFORM SEVERAL TAPE POSITIONING OPERATIONS: SPACE REVERSE, ERASE. IF A POSITION ERROR 308 ; AN APPROPRIATE UNRECOVERABLE ERROR MESSAGE IS PRINTED AND THE UNIT IS DROPPED. 310 311 ALL BADLY WRITTEN RECORDS LOGGED WITH RECOVERABLE ERRORS ARE ERASED UNTIL RECOVERED, INCLUDING THE RECORD AT THE 20TH BAD SPOT, 314 315 316 317 BAD SPOTS ARE ERASED WITH ERASE GAPS FROM 3 TO 12 INCHES PER RETRY GROUP. UP TO 20 FEET OF ERASE GAP COULD RESULT WHEN RETRYING TO RECOVER A SINGLE RETMORD. THAT LONG S.RETCH OF BAD TAPE WOULD THEN BE LOGGED WITH 20 3352 BAD SPOTS REPORTS 322 323 328 325 IF THE PRINTING OF RECOVERABLE ERRORS IS ENABLED, THE BAD SPOTS ON TAPE ARE IDENTIFIED AS THEY ARE DETECTED. SINCE THE BAD RECORDS ARE ERASED UNTIL RECOVERED, THE BAD SPOT ACTUALLY PRECEDES THE RECORD NUMBER THAT IDENTIFIES IT. THE NUMBER OF REPEATS AND RETRIES ATTEMPTED IS PRINTED, FROM WHICH THE 3382 sgzo gg gig THE ROUTINE WILL ERASE THE BAD RECORD, WRITE THE RECORD AGAIN 3 INCHES FURTHER DOWN TAPE AND AND THE UNIT IS REWOUND, THEN DROPPED. IS DETECTED IN THE STATUS WORD DURING THOSE OPERATIONS, THEN THE RECOVERY ATTEMPT IS SO THAT ALL RECORDS LEFT ON TAPE ARE KNOWN GOOD WRITTEN RECORDS. BAD SPOTS AT SAME RECORD NUMBER AND THE TAPE CONSIDERED DEFECTIVE. 3339 LENGTH OF ERASE GAPS CAN BE DETERMINED: 328 329 330 THE STATISTICAL REPORT PRINTED AT THE END OF TEST 2 OR UPON A “PRINT“ REQUEST. CONTAINS A SUMMARY OF THE BAD SPOTS LOGGED ON THE CURRENT PASS OF TAPE. IN THAT REPORT, ALL COUNTS ARE CUMULATIVE FROM PASS TO PASS, EXCEPT FOR 331 332 AND LO APPROXIMATELY 3 INCHES PER RETRY. THE NUMBER OF BAD spors: IT RELATES TO A “BOT TO EOT TAPE PASS” ONLY. FOR THIS PURPOSE, A “TAPE PASS” IS A WRITE PASS FROM BOT TO EOT. OR FROM CVTSEBO TSVOS DATA RELIABILITY 333 . 334 LL THE TESTS REQUESTED ggz 337 ggg 340 MACRO M1113 H1 30-NOV-83 10:17 SEQ 007 BOT TO WHERE THE DIAGNOSTIC IS HALTED BEFORE REACHING EOT. DON'T CONFUSE THIS WITH A PASS BY THE SUPERVISOR WHICH IS DEFINED AS A RUN THROUGH A ON ALL UNITS SELECTED. THOSE PASSES ARE IDENTIFIED AS “PASS” AND "EOP”. THE NUMBER OF WRITE RETRIES, CUMULATIVE FROM PASS TO PASS, IS A GLOBAL COUNT OF HOMW MANY TIMES THE GROUP OF 4 RETRIES HAS BEEN CALLED. THE NUMBER OF WRITE RECOVERABLE ERRORS EXCLUDES BAD TAPE SPOTS ss:% AND REFLECTS THE SPECIFICATIONS OF 343 TO CLEAR CUMULATIVE COUNTS, ANSWER 'Y' 346 IF TEST 2 IS HALTED, THEN RESTARTED OR CONTINUED, THE RECORD COUNT 349 350 SINCE ALL WRITTEN RECORDS ARE KNOWN GOOD, THE READ ERRORS CAN BE ATTRIBUTED TO TRANSIENT NOISE, TRANSIENT ELECTRICAL MALFUNCTIONS, 33:; 33:; ggé 353 THE HARDWARE UNDER TEST. TO: CLEAR COUNTERS (L) Y 2. THE BAD TAPE SPOTS COUNT IS THEN CLEARED WHEN WRITING THE TAPE FROM BOT. IS RESET TO ZERO AND THE BAD SPOT ID SHALL FOLLOW THAT RESET COUNT. OR CONTAMINANTS ON TAPE AS OPPOSED TO TAPE DEFECTS. THE SAME RECORDS MUST BE WRITTEN FROM TAPE PASS TO TAPE PASS gg; FOR THE BAD SPOTS ID TO REMAIN CONSISTENT IN THOSE TAPE PASSES. 33_6’ EXAMPLE OF A PRINT OUT FOR A BAD SPOT ON TAPE: 358 CVTSE SFT ERR 00009 ON UNIT 00 TST 002 SUB 000 PC: 012100 359 RECOVERABLE ERROR 366 003107 360 361 362 363 364 365 367 368 369 370 WRT CMD FAILED - UNIT O PASS: 1 PREVIOUS CMD WAS WRT CMOPKT TSBA RFC TSSR TCC 100205 002406 000000 100210 4 026600 000000 XST0 000350 XST1 000002 Xst12 100400 XST3 000000 RECORD: XST4 000000 SUSPECT BAD SPOT AFTER 1 RETRY, 2 REPEAT SUSPECT BAD SPOT AFTER 2 RETRY, 1 REPEAT 371 372 373 SUSPECT BAD SPOT AFTER 3 RETRY, 1 REPEAT SUSPECT BAD SPOT AFTER 4 RETRY, 3 REPEAT RETRY FAILED ON BAD SPOT...ERASED! 377 378 CVTSE SFT ERR 374 g;z 379 380 381 382 383 384 385 386 387 388 389 6 SUSPECT BAD SPOT AFTER 1 RETRY, 1 REPEAT SUSPECT BAD SPOT AFTER 2 RETRY, 1 REPEAT 00009 ON UNIT 00 TST 002 SUB 000 PC: RECOVERABLE ERROR WRT CMD FAILED - I.NIT 0 PASS: 1 RECORD:10210 PREVIOUS CMD WAS CMOPKT TSBA RFC TSSR TCC 100205 002406 000000 100210 4 026600 000000 004000 XST0 XST1 XST12 XST3 XST4 000350 000002 100010 000000 000000 RECOVERED ON RETRY ¢ 1 012100 - CVTSEBO TSVOS DATA RELIABILITY 390 MACRO M1113 OR>PRI 393 UNIT 0 397 398 399 :82 :8§ SEQ 008 +C g:é 394 395 396 I1 30-NOV-83 10:17 PASS: 1__ BYTES WRITTEN BYTES READ REV BYTES READ REV RECORD:10210 0,272,279,691 0,301,123,654 0,301,120,381 RECOVERABLE ERRORS UNRECOVERABLE ERRORS WRT WRITE RETRIES ROR 1 0 0 0 3 ROF 0 0 2 BAD 901’2 TNISGTAPE PASS PRECEDING RECORD ¢#: 4aca 405 406 SPEC COND 2 OR> 408 409 THIS EXAMPLE SHOWS: RECORD 6 RECOVERED ON 2ND RETRY GROUP 407 410 COMPARE 0 RECORD 10210 RECOVERED ON 1ST RETRY OF 4 GOOD REPEATS 412 3 WRITE GROUP RETRIES ATTEMPTED, RESULTING IN: 413 1 RECOVERABLE :}3 :{g FATAL 0 THE 2 BAD SPOTS RESIDE IN A 18 INCH ERASE GAP BETWEEN RECORDS S AND 411 i HARD 0 WRT ERR FROM RECWD 10210 2 BAD SPOTS BETWEEN RECORDS S AND 6 1.1.4.3.2 OPERATIONAL WRITE-ERROR-RECOVERY ALGORITHM 420 WHEN THIS ALGORITHM IS SELECTED, THE TSVOS WRITE RETRY COMMAND 424 OF TAPE AND REWRITE OF THE RECORD. 421 422 423 425 259, 428 :g 431 :s-'»g 4354 435 436 437 IS ISSUVED UP TO 16 TIMES OR UNTIL RECORD IS RECOVERED, ON A WRITE RECOVERABLE ERROR. THE WRITE RETRY COMMAND CONSISTS OF A SPACE REVER THE BAD RECORD, AN ERASE OF 3 INCHES THAT COMPOSITE COMMAND DOES NOT ALLOW THE DETECTECTION OF BAD SPOTS ON TAPE. THEREFORE NO BAD TAPE SPOTS STATUS IS PRINTED. IF RECORD CANNOT BE RECOVERED AFTER 16 WRITE RETRY COMMANDS, A RETRY LIMIT EXCEEDED IS FLAGGED AND UNIT IS DROPPED. 1.1.4.4 DIAGNOSTIC TIMING ADJUSTMENT AWWWVISG TIMING DELAY MACROS, KNOWN AS WATCH DOG DELAYS CALLED BY THE DIAGNOSTIC TO WAIT FOR VARIOUS COMMANDS CWLE*IN. THESE DELAYS ARE NOT CALIBRATED AND SIMPLY EXPANDS INTO AN INLINE NESTED LOOP PAIR. THE COUNT FOR THE OUTER LOOP 438 439 440 441 COMES FROM THE VARIABLE ARGUMENT SUPPLIED BY THE DELAY CALLS. THE COUNT FOR 'flE INNER LOOP COMES FROM THE FIXED “HEADER” ELEMENT “LSDLY" AS THE DIAGNOSTIC IS RUN ON DIFFERENT CPU'S, THESE DELAYS WILL 444 445 446 IF TIME-OUT OCCURS WHEN NO APPARENT MALFUNCTIONS IN THE TAPE UNIT IS EVIDENT, ALL TIMINGS OF THE DIAGNOSTIC MAY BE ADJUSTED TO MATCH MEMORY SPEED AND NOT RESULT IN TIME-OUTS, BY PATCHING zg VARY IN LENGTH WITH MEMORY SPEED. 6 CVTSEBO TSVOS DATA RELIABILITY 447 448 449 450 451 452 4353 454 455 456 457 458 459 MACRO M1113 Jl 30-NOV-83 10:17 THAT FIXED DELAY ELEMENT SEQ 009 “L$DLY". A PRESET COUNT OF 500 RESIDES AT “HEADER"” SECTION. “L$DLY” IN LOCATION 2116 OF THE 1.2 SYSTEM REQUIREMENTS 1.2.1 { 1.2.2 HARDWARE REQUIREMENTS POP-11/23 PROCESSOR WITH 32K OR MORE OF MEMORY CONSOLE DEVICE (VT52,LA36,ETC.) PROGRAM LOAD DEVICE TSV05/7S05 SOFTWARE REQUIREMENTS DIAGNOSTIC SUPERVISOR 1.3 RELATED DOCUMENTS AND STANDARDS DIGITAL EQUIPMENT CORPORATION DOCUMENTS: 1. CIQPMAO XXDP+ PROGRAMMER'S DATE: 14 JULY 1980. MANUAL; DOCUMENT NUMBER AC-S296A-AC 2. TSVOS TRANSPORT SUBSYSTEM USER'S GUIDE; DOCUMENT NUMBER EK-TSV0S5-UG-001 DATE: AUGUST 1982 3. TSVOS TRANSPORT SUBSYSTEM TECHNICAL MANUAL; DOCUMENT NUMBER EK-TSVOS-TM-001 DATE: AUGUST 1982 4. TSVOS TRANSPORT SUBSYSTEM INSTALLATION MANUAL; DATE: AUGUST 1982 1.4 DIAGNOSTIC HIERARCHY PREREQUISITES ORDER OF HOST CPU DIAGNOSTIC USAGE: 1) CONTROL LOGIC PROGRAM - ALL TESTS. (VTSA,VTSB,VTSC,VTSD) 2) DATA RELIABILITY PROGRAM: A) B8) BASIC FUNCTION TEST, DATA RELIABILITY TEST. DOCUMENT NUMBER EK-TSVOS-IN-001 CVTSEBO TSVOS DATA RELIABILITY 504 505 506 TR 509 510 S11 gig 514 MACRO M1113 30-NOV-83 10:17 iK1 1.5 ASSUMPTIONS THE HARDWARE OTHER THAN THE SUBSYSTEM BEING TESTED IS ASSUMED TO WORK PROPERLY. FALSE ERRORS MAY BE REPORTED IF THE PROCESSOR, MEMORY, ETC., DO NOT FUNCTION PROPERLY. VTSA,VTSB,VTSC, AND VTSD MAVE ALL SUCESSFULLY RUN WITHOUT ERRORS. SEQ 010 CVTSEBO TSVOS DATA RELIABILITY S16 gi; MACRO M1113 THIS SECTION CONTAINS A BRIEF DESCRIPTION OF THE RUNTIME SERVICES. gzag Bl Se7 S28 & SEQ 011 2.0 OPERATING INSTRUCTIONS Se1 S24 L1 30-NOV-83 10:17 FOR DETAILED INFORMATION, e REFER TO THE XXDP+ USER’'S MANUAL (CHQUS). COMMANDS THERE ARE ELEVEN LEGAL COMMANDS FOR THE DIAGNOSTIC RUNTIME SERVICES (SUPERVISOR). THIS SECTION LISTS THE COMMANDS AND GIVES A VERY BRIEF DESCRIPTION OF THEM. THE XXDP+ USER'S MANUAL HAS MORE DETAILS. gg_‘l,. COMMAND EFFECT 533 S34 START RESTART START THE DIAGNOSTIC FROM AN INITIAL STATE 536 PROCEED 538 ADD S40 DRCP S35 S37 S39 S41 S43 S44 ?‘2 g:g ggg 554 5SS 556 gg; SS9 Ssgg 562 S63 564 565 566 567 568 569 570 571 572 CONTINUE AT TEST THAT WAS INTERRUPTED CAFTER tC) EXIT RETURN TO XXDP+ MONITOR (XXDP+ OPERATION ONLY!) CONTINUE FROM AN ERROR MALT ACTIVATE A UNIT FOR TESTING (ALL UNITS ARE CONSIDERED TO BE ACTIVE AT START TIME DEACTIVATE A UNIT PRINT S42 S47 START THE DIAGNOSTIC WITHOUT INITIALIZING CONTINUE PRINT STATISTICAL INFORMATION (IF IMPLEMENTED BY THE DIAGNOSTIC) DISPLAY FLAGS ZFLAGS TYPE A LIST OF ALL DEVICE INFORMATION TYPE THE STATE OF ALL FLAGS CLEAR ALL FLAGS A COMMAND CAN BE RECOGNIZED BY THE FIRST THREE CHARACTERS. YOU MAY, FOR EXAMPLE, TYPE "STA” INSTEAD OF “START”. SO OPERATOR COMMANDS THE TSVOS DIAGNOSTIC IS A PDOP-11/23 PROGRAM . DIAGNOSTIC SUPERVISOR COMPATIBLE ALL LOADING AND RUNTIME INSTRUCTIONS CAN BE REFERENCED IN THE POP-11 PROGRAMMER'S MANUAL "CIQPMAO XXDPe+ PROGRAMMERS MANUAL, NUMBER AC-S296A-AC. THE USER ENTRY IS IN QUOTES. B00T THE DIAGNOSTIC XXDP MEDIA CHMOLBO XXDP+ DL MONITOR 28K BOOTED VIA UNIT O ENTER OATE (DD-MMM-YR): “ ENTER DATE OR JUST <CR> * RESTART ADDRESS: 153726 SO HMZ? N * <CR> LSI?Z N * Y<CR> * THIS IS XXDPe., TYPE "H” OR "M/L"” FOR DETAILS R VTSEAO VTSEAOBINDRS LOADED DIAG. RUN-TIME SERVICES REV D. APR 79 - CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 M1 573 S74 375 576 CVTSE-A-0 TSVOS DATA RELIABILITY UNIT IS TSVOS 578 579 SWITCHES 577 580 581 582 583 585 SEQ 012 THERE ARE SEVERAL SWITCHES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. THESE SWITCHES ARE APPENDED TO THE LEGAL COMMANDS. ALL OF THE LEGAL SWITCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF EACH. IN THE DESCRIPTIONS BELOW, A DECIMAL NUMBER IS DESIGNATED BY "DDDDD”. /TESTS:LIST EXECUTE ONLY THOSE TESTS SPECIFIED IN THE LIST. LIST IS A STRING OF TEST NUMBERS, FOR EXAMPLE - /TESTS:1:5:7-10. THIS LIST WILL CAUSE TESTS 1,5,7,8,9,10 TO /PASS : DDDOD /FLAGS :FLGS /EOP : DDDDD /UNITS:LIST BE RUN. ALL OTHER TESTS WILL NOT BE RUN. EXECUTE DDDDD PASSES (DDDDD = 1 TO 64000) SET SPECIFIED FLAGS. REPORT END OF PASS MESSAGE AFTER EVERY DDDDD PASSES ONLY. (DDDDD = 1 TO 64000) TEST/ADD/DROP ONLY THOSE UNITS SPECIFIED IN THE LIST. LIST EXAMPLE - /UNITS:0:5:10-12 USE UNITS 0,5,10,11,12 (UNIT NUMBERS = 0-63) EXAMPLE OF SWITCH USAGE: START/TESTS:1-5/PASS:1000/E0P: 100 THE EFFECT OF THIS COMMAND WILL BE: 1) TESTS 1 THROUGH S WILL BE EXECUTED, 2) ALL UNITS WILL TESTED 1000 TIMES AND 3) THE END OF PASS MESSAGES WILL BE PRINTED AFTER EACH 100 PASSES ONLY. A SWITCH CAN BE RE COGNIZED BY THE FIRST THREE CHARACTERS. YOU MAY, FOR EXAMPLE, TYPE “/TES:1-5" INSTEAD OF “/TESTS:1-5", EELW IS A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED BY EACH TESTS PASS FLAGS EOP UNITS | CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 N1 30-NOV-83 10:17 SEQ 013 630 FLAGS 633 FLAGS ARE USED TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCH AS 635 CLEARED UNTIL EXPLICITLY SET USING THE FLAGS SWITCH. MO 634 636 LOOPING ON ERROR. ALL FLAGS ARE CLEARED AT STARTUP AND REMAIN FLAGS ARE ALSO CLEARED AFTER A START COMMAND UNLESS SET USING THE 637 FLAG SWITCH. 639 8(1) NO COMMANDS AFFECT THE STATE OF THE FLAGS; THEY REMAIN SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH. 638 AI.L FLAGS. THE ZFLAGS COMMAND MAY ALSO BE USED TO CLEAR WITH THE EXCEPTION OF THE START AND ZFLAGS COMMANDS, sg FLAG EFFECT 644 645 646 647 648 649 650 HOE HALT ON ERROR - CONTROL IS RETURNED TO RUNTIME SERVICES COMMAND MODE LOOP ON ERROR INMIBIT ALL ERROR REPORTS INHIBIT ALL ERROR REPORTS EXCEPT FIRST LEVEL (FIRST LEVEL CONT ERROR TYPE, NUMBER, PC, TEST AND UNIT) 651 LOE IERs IBR= IXEs INHIBIT exim ERROR REPORTS ( THOSE 652 653 654 PRI PNT CALLED BY PRINTX MACRO’S) DIRECT MESSAGES TO LINE PRINTER PRINT TEST NUMBER AS TEST EXECUTES 656 UAM UNATTENDED MODE (NO MANUAL INTERVENTION) 655 657 658 659 660 661 g BOE ISR IDR ADR LoT % 666 667 668 669 g;g 672 673 674 675 676 2;; 679 “SELL” ON ERROR INHIBIT STATISTICAL REPORTS (DOES NOT APPLY TO DIAGNOSTICS WHICH DO NOT SUPPORT STATISTICAL REPORTING) INHMIBIT PROGRAM DROPPING OF UNITS EXECUTE AUTODROP CODE LOOP ON TEST sERROR MESSAGES ARE DESCRIBED IN SECTION 3.1 SEE THE XXDP+ USER'S MANUAL FOR MORE DETAILS ON FLAGS. YOU MAY SPECIFY MORE THAN ONE FLAG WITH THE FLAG SWITCH. FOR EXAMPLE, TO CAUSE THE PROGRAM TO LOOP ON ERROR, INHIBIT ERROR REPORTS AND TYPE A "BELL” ON ERROR, YOU MAY USE THE FOLLOWING STRING /FLAGS:LOE: IER:BOE 2.1 HARDWARE PARAMETERS 680 ON A “N” RESPONSE TO “CHANGE MW?”, THE DIAG SHALL RUN ASSUMING 683 684 685 686 ON A “Y* RESPONSE TO "CHANGE HW?" QUESTION, THEN THE FOLLOWING QUESTIONS WILL BE ASKED ON A START COMMAND. THE VALUE LOCATED TO THE LEFT OF THE QUESTION MARK IS THE DEFAULT VALUE THAT WILL BE TAKEN ON A CARRIAGE RETURN RESPONCE. ggé ONE UNIT AT TSDB = 172520 WITH A VECTOR = 224 AND DRIVE=0. CVTSEBO TSVOS DATA RELIABILITY 687 MACRO M1113 B2 30-NOV-83 10:17 SEQ 014 ::g TSDB ADDRESS (0) ::2 VECTOR (0) 224 ? g:g SELECT DRIVE 0-1 (0) ? 694 695 THE VALIDITY OF THESE PARAMETERS CAN BE CHECKED BEFORE RUNNING THE TESTS BY SETTING THE FLAG "ADR” ON A STA, RES OR CON COMMAND. 697 AND BEFORE THE HARDWARE TESTS ARE RUN. 696 698 _6'& 701 ;8% 704 705 ;gg 708 172520 ? THE SO CALLED AUTO DROP CODE SHALL THEN BE EXECUTED AFTER THE INIT CODE OF THE TSDB(S). THAT CODE FIRST TESTS THE ADRRESS IF NO RESPONSE, IT DROPS THE UNIT(S) IMMEDIATELY WITH THE FOLLOWING MESSAGE: BUS TRAP AT XXXXXX ( XXXXXX = TSDB AD ) INTERFACE BAD OR NOT SET TO ABOVE ADDORESS. ON A RESPONSE FROM THE INTERFACE, THE UNITS THAT ARE NOT READY OR NOT ON-LINE ARE DROPPED IMMEDIATELY. THE MARDMARE TESTS SHALL THEN BE RUN ON RESPONDING UNITS. IF THE "ADR” FLAG IS NOT SET, DRIVE IS ;g SHALL BE DROPPED AFTER A REASONABLE AMOUNT OF TIME. 710 ;{2 715 716 717 ;{g CHECKED. THE READY AND OFF -LINE STATUS OF THE 709 A MESSAGE SHALL BE PRINTED EVERY SO OF TEN TO WARN THE OPERATOR OF NIVES BEING NOT READY OR OFF -LINE. THESE DRIVES 2.2 SOFTWARE PARAMETERS THE FOLLOWING QUESTIONS ARE ASKED WMEN ONE ANSWERS YES TO THE CHANGE SOF TWARE QUESTION ON A START, RESTART,OR CONTINUE. THEY ALLOW FLEXABILITY IN THE WAY THE PROGRAM BEMAVES. ;gg CLEAR COUNTERS (L) ¥ ? ;g“s’ RESET RANDOM VARIABLES (L) N ? ;22; PRINT RECOVERABLE ERRORS ;S? HALT AFTER EACH CMD (L) N ? ;gg INHIBIT RECOVERY (L) N ? ;gg BAD TAPE SPOT DETECTION (L) Y ? ;gg DISABLE INTERRUPTS (L) N ? ;33; INHIBIT RFC ERROR REPORTS (L) N 7 ;gg CHANGE CMD SEQUENCE (L) N ? ;;g DEFAULT SWITCH SETTINGS (L) Y ? ;:g 100IPS (LY N ? 742 WRITE BUFFERING (L) N ? (L) N ? (SEE NOTE1:) e CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 SEQ 015 744 READ BUFFERING (L) N ? 747 ANSWERING NO TO THE DEFAULT SWITCH QUESTION WILL CAUSE THE 750 ANSWERING YES TO THE 100 IPS QUESTION WILL INMIBIT THE LAST ;:g 7735 753 100 IPS QUESTION TO BE ASKED. TWO QUESTIONS. ANSWERING NO TO THE 100 IPS QUESTION WILL CAUSE THE WRITE ;g‘s BUFFERING QUESTION TO BE ASKED. 756 ANSWERING YES TO THE WRITE BUFFERING QUESTION WILL INMIBIT THE g 759 ;:(1) 762 763 764 LAST QUESTION. ANSWERING NO TO THE WRITE BUFFERING QUESTION WILL CAUSE THE READ BUFFERING QUESTION TO BE ASKED. NOTE1: 765 THIS MSTIOC SHOULD BE ANSMWERED (N) UNLESS AN OPERATOR SELECTED SEQUENCE IS TO BE EXECUTED. IF THIS QUESTION WAS ANSWERED Y, ;29 768 CHARACTERISTICS CODE (0) 40 ? 773 CMD/3 (D) 4 769 770 m 772 cMD/2 (D) 13 2 BRF COUNT (D) 1 ? @ OF OPERATIONS (D) 1 ? TERN (D) 7 (0,20,40,200) (OCTAL) (1-27)" (1-2¢) (1-32K) (0-8) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (1-27) 774 775 BRF COUNT (D) 2048 ? @ OF OPERATIONS (D) 32000 ? (1-2¢) (1-32K) m CMD/4 (D) 3 ? (1-27) 776 778 779 780 781 PATTERN (D) 7 ? BRF COUNT (D) 2048 ? @ OF OPERATIONS (D) 32000 ? PATTERN (D) 7 ? CMD/3 (D) 2 7 782 BRF _COUNT (D) 2048 ? 784 PATTERN (D) 7 ? 786 BRF COUNT (D) 1 ? 788 789 790 791 792 793 PATTERN (D) 7 ? CMD/7 (D) 27, ? BRF COUNT (D) 2048 ? @ OF OPERATIONS (D) 32000 ? PATTERN (D) 7 ? CMD/8 (D) 27. ? 795 @ OF OPERATIONS (D) 32000 ? 783 785 787 794 & OF OPERATIONS (D) 32000 ? CMD/6 (D) 13, ? @ OF OPERATIONS (D) 1 ? BRF _COUNT (D) 2048 ? ;:_6, PATTERN (D) 7 ? 798 NOTE: 799 800 THE FOLLOWING QUESTIONS MUST BE ANSWERED OR DEFAULTED WITH A <CR> ONLY: (0-8) (1-2¢) (1-%2¢) (0-8) (1-27) (1-2¢) (1-32¢) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (0-8) (DECIMAL) (1-2¢) (DECIMAL) (1-27) (1-32K) (0-8) (1-27) (1-2¢) (1-32¢) (0-8) (1-27) (1-2¢) (1-32¢) (0-8) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) THE PROGRAM AUTOMATICALLY INSERTS A MACTERISTIC CODE OF AS THE FIRST COMMAND IN THE SEQUENCE TABLE. IF A DIFFERENT CHARACTERISYIC IS DESIRED, THE OPERATOR SHOULD 40 - MACRO M1113 ——_ . o A B 20 G D S 52 30-NOV-83 10:17 e D2 SEQ 016 ENYER THAT CHARACTERISTIC CODE. A TOTAL OF 7 COMMANDS Y BE ENTERED IN ADDITION TO THE SET CHARACTERISTICS conwo If THE OPERATOR WISHES TO USE LESS THAN 7 COMMANDS, AN END COMMAND MUST BE ENTERED AND THEN A CONTROL Z (*2) CAN BE ENTERED TO TERMINATE SOF TWARE DIALOGUE. 2.2.1 COMMAND LIST FOR USE IN SOFTWARE DIALOGUE. CODE COMMAND DESCRIPTION 1= 2 * 3 = DRI ROF ROR ORIVE INITIATE. READ F . READ“‘I'EREVER . e S WtV WRITE/VERIFY. IE. WRITE N RECORDS; READ REVERSE AND CHECK 6 = 7 = 8 = SRF SRR RNR 10 = 11 = RPF RPR 4 = 9 = 12 = WRT N RECORDS OF DATA; READ FORWARD AND CHECK N RECORDS. RN WRR 13 = RWO 14 = MBR 15= WTM 16= WTR 17 = SFF 18 = SFR 19= GES 20 = ERS el = UM 22 = CLN 25 = SCH READ PREVIOUS REV, IE. READ REV, SPACE FWD. WRITE RETRY. REWIND. MESSAGE BUFFER RELEASE. WRITE TAPE MARK, WRITE TAPE MARK RETRY, SPACE FILES FORWARD. SPACE FILES REVERSE. GET EXTENDED STATUS. Eflldfiw3 INCHES OF TAPE. AggR.Te RE CVTSEBO TSVOS DATA RELIABILITY ————————— EAN TAPE SET fiVICfi CHARACTERISTIC. WHERE BRF=200, 40, 20, 0. « ENABLE SKIP TAPE MARKS STOP (STOP AT LOGICAL EOT) 40 = ENABLE ATTENTION INTERRUPTS. 2.2.2 25 = U 26 = DLY 27 = END ENABLE MESSAGE BUFFER RELEASE INTERRUPTS. TSV03/7S03 PROGRAMMING SPECIFICATION FOR DESCRIPTION. TO THE NTH COMMAND IN THE COMMAND SEQUENCE TABLE, WHERE N IS DEFINED IN THE BRF FIELD. THE NUMBER OF JUMPS IS ENTERED IN THE @ OF OPERATIONS FIELD DELAY “N" MILISECONDS WHERE N IS DEFINED IN THE @ OF OPERATIONS. END OF COMMAND SEQUENCE. DATA PATTERN LIST FOR USE IN SOFTWARE DIALOGUE. PATTERN ¢ CVNBEWN-O e DESCRIPTION. INCREMENTING PATTERN., ALL “1”'S PATTERN, O - 377, QLL “0*'S PATTERN. * BIT WALKING FROM R TO L IN A FIELD OF “0"'S, “0" BIT WALKING FROM R TO L IF A FIELD OF *1~'S, ALTERNATING “1” AND "0" BITS WITH ALTERNATE BYTES COMPLIMENTED. ALTERNATING BYTES OF 000 AND 377. ———- CVTSEBO TSVOS DATA RELIABILITY i 858 859 MACRO M1113 30-NOV-83 10:17 7 8 E2 RANDOM DATA PATTERN, NO PATTERN GENERATION. SEQ 017 | CVTSEBO TSVOS DATA RELIABILITY | S‘é MACRO M1113 2.3 30-NOV-83 10:17 EXAMPLES OF 863 864 OUNITS (D) ? TSDB ADDRESS (0) 172520 ? :;g VECTOR (0) 224 ? 872 SELECT DRIVE 0-1 (0) ? £ 875 IN ADDITION, ON A START, RESTART OR CONTINUE THE SUPERVISOR 876 g;z REQUESTS CHANGES TO THE SOF TWARE OPERATING PARAMETERS, FOLLOWS: 879 st . 2.3.1 885 eng 8a7 BASIC FUNCTION AND DATA RELIABILITY WITH ALL E D) ggg 892 PROCEED WITH THME FOLLOWING DIALOGUE: CHANGE SW (L) ? Y<CR> CLEAR COUNTERS (L) N ? Y<CR> PRINT RECOVERABLE ERRORS (L) N ? HMALT AFTER EACH CMD a.) N? INHIBIT RECOVERY (L) N ? Y<CR> <«CR> <«CR> DISABLE INTERRUPTS (L) N 7 INHIBIT RFC ERROR mr n.) N? CHANGE CMD SEQUENCE (L) N <CR> <«CR> <CR> 893 RESET RANDOM VARIABLES (L) N 7 897 BAD TAPE SPOT oerecuou () vy ? 894 895 896 898 899 900 35 905 906 907 ggg REPORTING A) RECEIVE PROMPT (DR>) B8) ENTER STA/TES:1-2<CR> C) ANSWER MARDWARE QUESTIONS. ggg ;gz DEFAULT SWITCH SETTINGS (L) Y ? 2.3.2 <CR> <CR> <«CR> TO SET UP A SCOPE LOOP FOR A FAILURE IN BASIC FUNCTIONS. A) RECEIVE PROMPT (DR>) 8) ENTER sunes.mu.we:m:xsa:mu«ca» C) ANSWER MARDMWARE QUESTI 0) PROCEED WITH THE rououm DIALOGUE : 910 CHANGE SW (L) ? Y<CR> 912 RESET RANDOM VARIABLES (L) N ? N<CR> 911 913 914 915 916 917 AS CHANGE SW (L) ? 880 [ SOFTWARE DIALOGUE 323 & SEQ 018 CHANGE WW (L) ? 8565 g:g . Fe CLEAR COUNTERS (L) N ? PRINT RECOVERABLE ERRORS (L) N ? MALT AFTER EACH CMD (L) N ? INHIBIT RECOVERY (L) N ? BAD TAPE SPOT DETECTION (L) Y ? DISABLE INTERRUPTS (L) N ? Y<CR> N<CR> N<CR> N<CR> N<CR> N<CR> €D ' CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 918 919 % Ge SEQ 019 INHIBIT RFC ERROR REPORT (L) N ? CHANGE CMD SEQUENCE (L) N ? DEFAULT SWITCH SETTINGS (L) Y ? 922 &3 2.3.3 925 926 927 TO SET UP A SCOPE LOOP FOR A FAILURE IN DATA RELIABILITY A) B) C) :gg Y<CR> N<CR> <CR> D) RECEIVE PROMPT (DR>) ENTER STA/TES:5/FLA:IER:ISR:IDU/EOP:1000<CR> ANSWER HARDWARE QUESTIONS. PROCEED WITH THE FOLLOWING DIALOGUE: 930 CHANGE SW (L) ? Y<CR> 932 RESET RANDOM VARIABLES (L) N ? N<CR> 931 CLEAR COUNTERS (L) N ? 933 PRINT RECOVERABLE ERRORS 935 INHIBIT RECOVERY (L) N ? 934 (L) N? BAD TAPE SPOT DETECTION (L) Y? 938 INHIBIT RFC ERROR REPGT (L) N? 937 DISABLE INTERRUPTS (L) 939 CHANGE CMD SEQUENCE (L) N ? CHARACTERISTICS CODE (0) 40 ? cMD/2 (D) S ? BRF _COUNT (D) 2048 ? @ OF OPERATIONS (D) 10 ? PATTERN (D) 7 ? CMD/3 (D) S ? 3552 BRF (D) 2048 ? 946 947 948 949 g? BPF (D) 2048 ? « JF OPERATIONS (D) 10 ? PATTERN (D) 7 ? CMD/4 (D) S ? e 2.4.1 959 9%7 968 969 N<CR> Y<CR> Y<CR> Y<CR> 40<CR> 13<CR> 1<CR> 1<CR> 1<CR> 4<CR> 1000<CR> 10000<CR> 1<CR> 27<CR> <t2> (WRITE) (END) SYSTEM CONFIGURATION PDP11/23 MOS MEMORY LA36 T7'°5/7S05 2.4.2 TEST EXECUTION TIMES (2400 FT. TAPE) TEST 1 - BASIC FUNCTIONS - 30 SECONDS PER PASS. TEST 2 - DATA RELIABILITY - 45 MINUTES PER PASS. 970 971 TEST 3 - WRITE COMPATABILITY - 20 MINUTES PER PASS. TEST 4 - READ COMPATABILITY 20 MINUTES PER PASS. 974 NOTE: g;g (REWIND) 2.4 EXECUTION TIMES 960 961 962 ?5,‘2 N<CR> T L saseessseaneens 958 963 Ged N<CR> N 940 941 942 943 944 945 e 954 955 N<CR> HALT AFTER EACH CMD (L) N? 936 952 Y<CR> TEST 5 - RANDOM/OPERATOR SELECTED SEQUENCE -20 MINUTES PER PASS. ALL EXECUTION TIMES ARE SHOWN FOR ONE DRIVE OPERATION. ; 8 CVTSEBO TSVOS DATA RELIABILITY 975 :;g MACRO M1113 30-NOV-83 10:17 H2 SEQ 020 3.0 ERROR INFORMATION 978 979 980 o 983 ::; W 3.1 ERROR REPORTING e ALL ERROR REPORTS EXCEPT FOR ERRORS #1 AND #17 INCLUDE A DUMP OF THE FOLLOWING INFORMATION: 986 987 988 989 ERROR &, TEST &, SUBTEST &, PROGRAM CMTER. UNIT @, COMMAND, PREVIOUS COMMAND, PASS COUNT, & OF RECORDS FROM BOT, RECORD READ COUNT, THE COMMAND PACKET, TSSR, TCC, TSBA, RFC, AND THE EXTENDED STATUS REGISTERS gg STANDARD ERROR REPORT FORMAT: 994 CVTSE SFT ERR XXXXX {88‘5 XAXXXXK 995 996 97 998 999 1000 1001 1002 1003 TST XXX SUB XXX PC: XXXXXX (ASCII ERROR MESSAGE) XXX CMD FAILED - UNIT X PASS: XXXXX RECORD: XXXXX PREVIOUS CMD WAS XXX & RECORD READ: XXXXX » CMOPKT TSBA RFC TSSR TCC XXXXXX XXAXXX XAAXXX XXXXXX X XXXXXX XXXXXX AXXXXXX XST0 XST1 XsT2 XST3 XST4 AXAXXXK XXXXXK XAXAXX XXAXXX 1006 igg; & CAUTION » 1009 INTERPRET THAT “RECORD READ” COUNT WITH CAUTION. 1012 RECORD MIGHT HAVE CAUSED RECORD COUNT TO BE ERRONEOUSLY 1010 1011 1013 1014 1015 1016 1017 1018 1019 i.ggg {g 1024 1025 1026 1027 1028 1029 1030 1031 IF VERY DIFFERENT FROM RECORD COUNT TRACKED BY THE DIAGNOSTIC, TAPE POSITION IS NOT NECESSARELY LOST. ERRORS IN READING THAT READ FROM TAPE. IN TEST 2, IF DIAGNOSTIC IS RESTARTED OR CONTINUED, RECORD COUNT IS RESET TO ZERO ALTHOUGH THE TAPE IS NOT REWOUND. THIS IS NECESSARY BECAUSE THERE IS NO ACCURATE WAY TO DETERMINE ON WHAT RECORD COUNT OF WHICH UNIT THE DIAGNOSTIC WAS HALTED BEFORE RESTARTING OR mm IT IS SUGGESTED THAT A “PRINT” BE REQUESTED WHEN MALTING DIAG TO GET A PRINT OF THE RECORD COUNT WHEN HALTED. EXAMPLE OF AN ERROR REPORT: CVTSE SFT ERR 00009 TST 002 SUB 000 PC: 010606 RECOVERABLE ERROR WRT CMD FAILED - WIT 2 PASS: 2 RECORD: 254 PREVIOUS CMD UAS CMOPKT TSBA RFC TSSR TCC 100005 002324 000000 100210 4 051766 000000 . CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 1032 1033 000371 XSTO 3.1.1 1039 3.1.2 3.1.3 ERROR #1 - COMMAND PACKET ADDRESS NOT ON A MODULO 4 BOUNDRY : THE PROGRAM DID NOT LOAD PROPERLY. ERROR #2 - TSOS NOT READY: ERROR #3 - NO RESPONSE ERROR: UNLESS THE IDU OPTION IS USED. 3.1.4 1063 1064 1065 1066 iggg XST4 ONCE THE TSDB IS LOADED, THE TSOS HAS ONE MILLISECOND TO RESPOND OR THE PROGRAM REPORTS A NO RESPONSE ERROR. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST SEQUENCE {gg 1067 1068 XST3 BEFORE ANY COMMAND IS ISSUED TO THE TSOS, THE SUBSYSTEM READY BIT IN THE TSSR IS CHECKED. IF THE SSR IS NOT SET, THE PROGRAM REPORTS THE NOT READY ERROR. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST SEQUENCE UNLESS THE IDU OPTION IS USED. 1055 1056 1057 1060 {8% XST2 THIS IS A SYSTEM FATAL ERROR AND THE PROCRAM MUST BE RELOADED TO CORRECT 1IT. 1046 1047 1048 1049 1050 1051 1052 {&3 XST1 IF THIS ERROR IS REPORTED, 1040 1041 1042 1043 im SEQ 021 000350 000002 100004 000000 0400S5S {gg.:» 1036 {83 12 ERROR #4 - NO INTERRUPT ERROR: COMMAND WAS ISSUED AND NO INTERRUPT RECEIVED. THE PROGRAM REPORTS THAT NO INTERRUPT OCCURRED. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THME TEST CYCLE UNLESS THE IDU OPTION IS USED. 3.1.5 SPECIAL CONDITION ERRORS: 1071 IF, DURING EXECUTION, {g;z go&m HANDLING ROUTINES, DEPENDING ON THE TERMINATION CLASS 1072 1075 1076 ig;z 1079 igg 1082 }g:z 1085 iggg 1088 AN INCIDENT OCCURS FORCING THE TSSR SPECIAL CONDITION BIT TO SET, THE PROGRAM WILL SELECT ONE OF ‘ THE TERMINATION CLASS CODES IN THE TSSR ARE PROCESSED AS FOLLOWS WHEN SPECIAL CONDITION IS SET: 3.1.5.1 ERROR #5 - TERMINATION CLASS CODE O, UNDEFINED SPECIAL CONDITION THE ERROR IS REPORTED, A MARD ERROR IS LOGGED AND THE PROGRAM PROCEEDS NORMALLY. 3.1.5.2 ERROR #6 - TERMINATION CLASS CODE 1, ATTENTION CONDITION THIS TCC INDICATES THAT THE DRIVE HAS UNDERGONE A STATUS CHANGE CVTSEBO TSVOS DATA RELIABILITY 1089 1090 1091 {8345 Je SEQ 022 SUCH AS GOING OFFLINE OR COMING ONLINE. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IOV OPTION IS USED. 3.1.5.3 ERROR #7 - TERMINATION CLASS CODE 2, TAPE STATUS ALERT A STATUS CONDITION HAS BEEN ENCOUNTERED THAT MAY HAVE SIGNIFICANCE {{gg A HARD ERROR IS LOGGED. 1102 {igz TO THE PROGRAM. BITS OF INTEREST INCLUDE TMK, RLS, LET, RLL, EOT. ACTION TAKEN DEPENDS ON THE TEST BEING EXECUTED. IF THE CONDITION IS UNEXPECTED, THE ERROR IS REPORTED AND THE PROGRAM PROCEEDS NORMALLY. 3.1.5.4 ERROR #8 - TERMINATION CLASS CODE 3, FUNCTION REJECT 1105 1106 THE SPECIFIED FUNCTION WAS NOT INITIATED. BITS OF INTEREST ARE RMR, OFL, VCK, BOT, ILC, WLE, ILA, AND NBA. THIS IS A FATAL 1108 UNLESS THE IDU OPTION IS USED. 1107 {{ié DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE 31.5.5 ERROR #9 - TERMINATION CLASS CODE 4, RECOVERABLE ERROR 1113 1114 1115 TAPE POSITION IS ONE RECORD BEYOND WHAT ITS POSITION WAS WHEN THE FUNCTION WAS INITIATED. RECOVERY PROCEDURE IS TO LOG THE ERROR AND ISSUE THE APPROPRIATE RETRY COMMAND. IF RETRY LIMIT iiiz IS REPORTED AS DESCRIBED IN ERROR #14 BELOM. 1116 1119 }.1212?. 1122 1123 1124 i& 1127 {igg 1130 IS REACHED BEFORE THE ERROR IS RECOVERED, RETRY LIMIT EXCEEDED 35.1.5.6 ERROR #10 - TERMINATION CLASS CODE S, RECOVERABLE ERROR TAPE POSITION HAS NOT CHANGED. RECOVERY PROCEDURE IS TO LOG THE ERROR AND RE-ISSUE THE ORIGINAL COMMAND. IF RETRY LIMIT IS REACHED BEFORE THE ERROR IS RECOVERED, RETRY LIMIT EXCEEDED IS REPORTED AS DESCRIBED IN ERROR #14 BELOM. 3.1.5.7 ERROR #11 - TERMINATION CLASS CODE 6, UNRECOVERABLE ERROR TAPE POSITION HAS BEEN LOST. THE ONLY VALID RECOVERY PROCEDURE IS TO 1131 REMIND AND START OVER AT BOT UNLESS THE TAPE HAS LABELS OR SEQUENCE 1133 RETRY THE COMMAND, OTHERWISE THIS IS A FATAL DEVICE ERROR AND THE 1132 i{g; 1136 %{g} 1139 1140 1141 1142 {{3 ————— 30-NOV-83 10:17 1096 1097 1098 1099 o MACRO M1113 NUMBERS. IF DENSITY CHECK IS SET THIS DIAGNOSTIC WILL REWIND AND DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 5.1.5.8 ERROR #12 - TERMINATION CLASS CODE 7, FATAL SUBSYSTEM ERROR THE SUBSYSTEM IS INCAPABLE OF PROPERLY PERFORMING COMMANDS OR AT LEAST ITS INTEGRITY IS SERIOUSLY QUESTIONABLE. REFER TO THE FATAL CLASS CODE FIELD IN THE TSSR REGISTER FOR ADDITIONAL INFORMATION ON THE TYPE OF FATAL ERROR. THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. - — — e — CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 3.1.6 fi:g 1148 1149 1150 IF, AFTER EXECUTION, THE RESIDUAL FRAME COUNT IS NON-ZERO, THE ERROR IS REPORTED AND A HMARD ERROR IS LOGGED. THE PROGRAM THEN IS OPTIONAL. fig; 3.1.7 SEQ 023 ERROR #13 - RFC NON-ZERO ERROR: PROCEEDS NORMALLY. 1151 1152 1153 K2 THE REPORTING AND LOGGING OF THESE ERRORS ERROR €14 - RETRY LIMIT EXCEEDED: 1156 ON A WRITE COMMAND THIS IS A FATAL DEVICE ERROR AND THE DEVICE 1159 ON A READ COMMAND THIS ERROR IS LOGGED AS A HARD ERROR AND figz WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 1160 THE PROGRAM PROCEEDS NORMALLY. 1161 1162 {{3 3.1.8 ERROR #15 - TOO MANY INTERRUPTS: 1165 IF MORE THAN ONE INTERRUPT OCCURS PER COMMAND, flg THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 1166 THIS ERROR IS REPORTED. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM 1169 fi;g 3.1.9 ERROR #16 - CAPSTAN RUNAWAY: 1172 1173 1174 CAPSTAN DID NOT STOP WITHIN ACCEPTABLE WINDOW AFTER LAST COMMAND. THE PROGRAM WILL ISSUE A GET STATUS COMMAND BEFORE REPORTING THE ERROR SO THAT THE DEAD TRACK FIELD IN EXTENDED STATUS REGISTER 2 1176 H;; THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 1175 WILL CONTAIN THE TACH COUNT WHEN THE TAPE STOPPED. 1179 flgg 3.1.10 ERROR #17 - DATA COMPARE ERROR: 1182 1183 1184 IF A DATA VALIDATION ERROR OCCURS DURING A WRITE/VERIFY COMMAND, THE PROGRAM PRINTS WHAT THE DATA SHOULD MAVE BEEN AND WHAT THE DATA WAS, AND PRINTS THE BYTE AND RECORD NUMBER THE ERROR occmeo 1186 THE TOTAL @ OF BYTES IN ERROR PER RECORD IS ALSO PRINTED. 1185 ON. figz HARD ERROR IS LOGGED AND THE PROGRAM PROCEEDS NORMALLY. 1189 1190 oR e e 1193 {ig 119 BN 1198 1199 1200 1201 1202 ONLY THE FIRST 10 BYTES IN ERROR PER RECORD ARE PRINTED. IR AN g P o R A 3.2 ERROR HALTS ERROR HALTS ARE SUPPORTED PER DESCRIBED IN THE PREVIOUS SECTION WITH /FLAG:HOE. THERE ARE NO OTHER HALTS. 4.0 PERFORMANCE REPORT e SN et ae UNIT X PASS:XXXXX RECORD : XXXXX BYTES WRITTEN XXX, XXX, XXX, XXX BYTES READ REV XXX, XXX, XXX, XXX BYTES READ FWD XXX, XXX, XXX, XXX MACRO M1113 L2 30-NOV-83 10:17 RECOVERABLE ERRORS UNRECOVERABLE ERRORS SPEC COND XXXXX HARD XXXXX SEQ 024 WRT ROR XXXXX XXXXX FATAL XXXXX XXXXX XXXXX ROF XXXXX XXXXX COMPARE XXXXX 5.0 TEST SUMMARIES BASIC FUNCTIONS. EXECUTES AND VERIFIES CORRECT COMPLETION OF ALL TSOS FUNCTIONS. - SET CHAR, DRIVE INIT, GET STATUS. SET CHARACTERISTIC DRIVE INITIATE. SET CHARACTERISTIC 20. GET STATUS SET CHARACTERISTIC 40. LR K 2R B 2N 2 SUBTEST 1 SUBTEST 2 PRINT TSO5 MICROCODE LEVEL (PASS 1 ONLY) REWIND. + REWIND. + REWIND AT BOT. WRITE/VERIFY. WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY SUBTEST 4 WRITE TAPE + MRITE WRITE ERASE WRITE WRITE SUBTEST S5 SPACE FILES. SPACE @ FILES REVERSE. SPACE 2 FILES FORWARD. PATTERN 1. PATTERN 2. PATTERN 3. PATTERN 4. PATTERN S. PATTERN 6. PATTERN 0. MARK, TAPE MARK. 10 RECORDS 10 TIMES TAPE MARK. TAPE MARK RETRY. * o0 > * 0 L R R B R B N J SUBTEST 3 SUBTEST 6 SPACE 2 FILES REVERSE. SPACE 2 FILES FORWARD. SPACE RECORDS. + REWIND. SPACE 7 RECORDS FORWARD. SPACE 7 RECORDS REVERSE. SPACE 7 RECORDS FORWARD. 2R 2 S.1 L CVTSEBO TSVOS DATA RELIABILITY CVTSEBO TSVOS DATA RELIABILITY 30-NOV-83 10:17 {g SEQ 025 + SPACE 7 RECORDS REVERSE. 1262 SUBTEST 7 1263 1264 - WRITE RETRY. + REWIND. + WRITE DATA. {fi + WRITE RETRY. 1267 1268 1269 SUBTEST 8 1272 1273 1274 SUBTEST 9 1277 SUBTEST 10 - CLEAN. {S;‘,’ {3;2 + CLEAN. 33 + REWIND. 1281 SUBTEST 11 \ - WRITE/VERIFY SWAPPED DATA BYTES. WRITE/VERIFY EVEN LENGTH (RECORD 1). + WRITE/VERIFY 0ODD LENGTH (RECORD 2). + SET DATA BYTE SWAP. + WRITE/VERIFY EVEN LENGTH (RECORD 3). + WRITE/VERIFY ODD LENGTH (RECORD 4). . g:z 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 - READ FWD RETRY, + READ FORWARD. + READ PREVIOUS FORWARD. + READ PREVIOUS REVERSE. 1278 1284 1285 1286 - READ REV RETRY, + READ REVERSE. + READ NEXT REVERSE. + READ NEXT FORWARD. : ! MACRO M1113 M2 ¢+ CLEAR DATA BYTE SWAP. SUBTEST 12 - READ SWAPPED DATA BYTES. ¢+ READ REV RECORD 4. + READ REV RECORD 3. + SET DATA BYTE SWAP. + READ REV RECORD 2. + READ REV RECORD 1. + READ FWD RECORD 1. + READ FWD RECORD 2. + CLEAR DATA BYTE SWAP. + READ FWD RECORD 3. + READ FWD RECORD 4. c—y e | CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 TEST 2 - N2 SEQ 026 DATA RELIABILITY, 1. 2. 3. THE TAPE IS INITIATED WITH THE FOLLOWING COMMANDS : aSE“SI'OCMAI!M:‘YEI!ISTIC 40 WRITE 64 RECORDS OF RANDOM LENGTH AND DATA WRITE AND READ COMMANDS ARE SELECTED AT RANDOM AND ARE EXECUTED A RANDOM NUMBER OF TIMES WITH RANDOM LENGTHS AND RANDOM PATTERN UNTIL END OF TAPE IS REACHED. AT _THE END OF EACH PASS, A REWIND COMMAND IS ISSUED AND A PERFORMANCE REPORT IS PRINTED. NOTE: S.3 TEST 3 - IF A RESTART COMMAND IS USED TO INITIATE TEST 1, THE INITIAL REWIND COMMAND IS NOT ISSUED. WRITE COMPATABILITY/WRITE UTILITY. REWINDS AND WRITES RECORDS OF RANDOM LENGTHS AND RANDOM DATA FROM BOT TO EOT. 5.4 TEST 4 - READ COMPATABILITY/READ UTILITY. REWINDS AND READS ENTIRE TAPE, FORWARD AND REVERSE. TEST S - RANDOM/OPERATOR SELECTED COMMAND SEQUENCE. A DEFAULT SEQUENCE OF REWIND/WRITE/READ REV/READ FWD/REWIND OF ENTIRE TAPE IS EXECUTED WITH RANDOM PATTERN AND RECORN LENGTH OF 2048 BYTES. OPERATOR CAN ENTER SEQUENCE OF COMMANDS UP TO SEVEN IF THEY DON'T WANT DEFAULT SEQUENCE. 6.0 DEVICE INFORMATION TABLES THE TSOS TAPE SUBSYSTEM CONSISTS OF A TSVOS Q-BUS CONTROLLER CONNECTED TO A TSOS DRIVE. FROM A SOF TWARE VIEWPOINT T‘Nla‘sgfIMTIW IS UNIQUE (FOR A Q-BUS DEVICE) IN A NUMBER : A. ONLY ONE REGISTER MAY BE WRITTEN - TSDB (TAPE SYSTEM DATA BUFFER), 8. TWO REGISTERS MAY BE READ - TSSR AND TSBA (TAPE SYSTEM STATUS REGISTER AND TAPE SYSTEM BUS ADDRESS REGISTER), C. COMMANDS ARE NOT WRITTEN TO THE DRIVE; RATHER, COMMAND POINTERS ARE WRITTEN WHICH POINT TO COMMAND PACKETS SOMEWHERE IN CPU MEMORY. THE COMMAND POINTER IS USED BY THE TSOS SUBSYSTEM TO FETCH THE WORD(S) MITHIN THE COMMAND PACKET, THE WORDS WITHIN THE COMMAND PACKET ARE: CVTSEBO TSVOS DATA RELIABILITY 1358 1359 1360 1361 {fi MACRO M1113 B3 30-NOV-83 10:17 1. 2. S. 4. SEQ 027 COMMAND WORD LOW ORDER BUFFER ADORESS HIGM ORDER BUFFER ADDRESS BYTE COUNT 1364 1365 1366 1367 1368 1369 D. THE TSSR CONTAINS ALL THE INFORMATION WMICH WILL BE NECessmv TO DETERMINE WMETHER THE ORIVE IS REAOY TO Acwr ANOTHER COMMAND a. THE PREVIOUS COMMAND WAS EXECUTED WITHOUT ERROR. IF EITHER OF THE ABOVE CONDITIONS IS UNTRUE AT ~JOB DONE“ OR “COMMAND INITIATION” TIME,IT MAY BE NECESSARY 1373 1374 €. EXTENDED STATUS REGISTERS ARE NOT READ DIRECTLY FROM ORIVE REGISTERS; RATHMER, A “GET STATUS* COMMAND 1370 g;% 1375 1376 1377 g;g TO GET THE EXTENDED STATUS REGISTERS TO DETERMINE WMAT ACTION IS TO BE TAKEN AND/OR LOG THE ERROR INFORMATION. IS ISSUED WMICH WILL CAUSE THE TSOS TO TRANSFER EXTENDED STATUS INFORMATION TO THE MEMORY AREA POINTED TO BY THE BUFFER ADDRESS OF THE "GET STATUS” COMMAND. EXTENDED STATUS REGISTERS. SEE .S. THERE ARE FIVE 1380 1381 1382 F. THE TSDB MUST BE WRITTEN umc A ono INSTRUCTION TO PROPERLY WRITE THE COMMAND POINTER. A DATOB WILL CAUSE A MAINTENANCE FUNCTION. A DATO TO THE TSSR WILL CAUSE 1385 1386 G. COMMAND PACKETS MUST RESIDE ON DIVIDE BY FOUR MEMORY BOUNDARIES (AS OPPOSED TO DIVIDE BY 2 OR WORD {333 {m SUBSYSTEM INIT. BOUNDARTES) . CVTSEBO TSVOS DATA RELIABILITY {g:é MACRO M1113 6.2 30-NOV-83 10:17 1398 1399 » - o 1400 [ ‘ Ay SEQ 028 Q-BUS INTERFACE SPECIFICATIONS 1393 1394 1395 1396 C3 L TSVO5/ 7505 seese FIRST | INT, VECTOR UNIBUS ADDRESS 224 772520 meesess sessess 772522 REGISTER TSBA/TSD8B TSSR ' CVTSEBO TSVOS DATA RELIABILITY 1:8: 1008 1405 1406 {:8: 1409 MACRO M1113 6.3 T 6.5.1 seeessscesvesssssesssessssssevesesssees TSVOS/TS0S REGISTER SUMMARY ; 1412 1413 1A1S! (R/70) TSBA ! H 1415 1416 !PlSl (W/0) TSDB ! 1418 1IsCt?1 1414 1417 1419 1420 1421 1422 {&3 1425 15 1436 1437 1438 1439 i.“mi ifig 11 10 09 08 Peccpeccpecnd foccpoce $eccd 0---0 07 02 01 00 Peccpeccpeccd feccbeccpocnd foccpeccpaccs 0---0---0 --------- $eccd fPoccfecctoaccd) foccpece $eccd foccpocapeaces 2 3 IPIUPIOIPOOI 1POSIPO7IPO6! l ! ! 1! ! ! ! !POSIPOA!IPOS! !PO2!P1T7!P16! ! l H g3 H H H !m!mtfll"! $eced feccpocapeccd foccpence Geced Peccpeccpocesd BT ! 1 010! 0! !PZI!PZO!P!’I 1P18! $cc=p Seccbeccpocctd foccboccbocch Socad Geced Peccdeccteccd feccfoncheccd) foccfeccdeceld frccfoccfeccd focabeccbens $ecel Poccpeccfeccd foccpeccieccld feccfeccldeccld foccprccdoccd) focapeccpecesd 2 H (R/70) TSSR ! ! (W/70)TSDBX ! 3 XsTe !¢ ! ! ! ! : 3 l 1! ! ! : ! ! 1A16!SSRIOFL! ! ! H !FCI!FCO!TC?! gD g o---o---o---o 1TC1:7CO! O ¢ ! H H H Y T CTSOBX EXISTS ONLY WHEN ! ENABLED BY THE EXTENDED FEATURES SWITCH ON THE M7196) IRLSILET!RLL! !WAEINEFIILC! !ILAIMOTIONL! !IE !VCK!PED! !“!”7'507' 2 H ! s 2 H ! 1! H ! L | ! H ! H H H Seccpeccdeccd focepeccbaccd $eccfeccfeccd foccfeccfeccd foccfeccboces ' O!COR! O! P OO0 !O0! IRBPE O ! O0! !1O0!0!10! !0 !UN:HO! 3 H H 1! H ! 11! ! ! 19 H H ! H H H !RCE! O ! O ! : 3 ! H ! O !MCF! O ! |I | ! ! : ! O !RL7!RLG! !RLS!RLAIRLS! !RL2!RL1!RLO! H ! H H H ! H H $eced $rccprccpeccd Somcfoccdoccd feccdeccloccd foccfeccbancld foccfeccpacstd ! MICRO DIAGNOSTIC ERROR CODE XSTS ¢ $eccd Seccpeccpeced IMSP! XST4 ! !RCE! O ! O 11 $eccd ! ! feccfeccdeced Soccdecchenctd o 0 o feccfeccleccd ! O 10PT! H H : feccboccboccd 0! ! SREVITRFIDCK! ! O ! O !RIB! Soccbeccheccd foccpeccpocesd feccfoccbeccd feoccbeccboc=t ! H H H WRITE RETRY COUNT Poccleccbaced H H H H TERMINATION CLASS CODES (TSSR TCO-TC2): 3 = FUNCTION REJECT S = DOWN TAPE FROM START OF FUNCTION RECOVERABLE ERROR - TAPE NOT MOVED 7 = FATAL CONTROLLER ERROR {:g?’ e !Pl‘!PlSIPul ! H 1447 1451 03 e !flll!‘lOl‘O’l 1AOBIAO7IA06! !AOSIAOAIAOS! !A02!A01!A00! ! ! 1! H % 11 H H 1! H H H NORMAL TERMINATION ATTENTION CONDITION {:gg e !Al‘!llsllul l ! = = 1449 1450 e T 04 TS 0O 1 1448 0S I 1444 1445 1446 06 R 0 ISCEIMQ 10PM! 1435 12 $eced 1432 1434 13 Peccprccpeccd) feccpeca e I R ITMX! XSTO ! y $ccchd IOLT! XST1 ¢ : 1433 14 $eccd 1426 1427 1428 1429 1430 143) SEQ 029 BIT DEFINITIONS FOR TSVOS5/TS0S REGISTERS 1410 1411 DS 30-NOV-83 10:17 2 4 6 = + = TAPE STATUS ALERT RECOVERABLE ERROR - TAPE POSITION = ONE RECORD UNRECOVERABLE ERROR - TAPE POSITION LOST FATAL CLASS CODES (TSSR FCO-FC1): 1456 0 = MICRO DIAGNOSTIC FAILURE. SEE ERROR CODE BYTE (XST3) FOR FAILED FUNCTION. 1458 2 = NOT USED 1457 1459 1 = RESERVED 3 = RESERVED FOR FUTURE USE ALWAYS READ AS A O CVTSEBO TSVOS DATA RELIABILITY 1461 1462 1463 1464 1465 1466 = {:2; MACRO M1113 6.3.2 £ 30-NOV-83 10:17 SEQ 030 TSVOS STATUS REGISTER (TSSR) esescccccccccccccccccccccas Q-BUS ADDRESS ¢« 2 - READ ONLY {:'6]3 1471 1472 1473 1474 1475 1476 1478 15 14 $eccd fecatec lec d 13 fomcpeccteccld feccfoccboccl $occhoccpeced 1ISC?! ! o #eccd !0 !SCE!"! !NXH"Q‘!AI?! ! ! 1! ! H : #eccpeccteccd foccpaccfeccd lfll6!$$fl!“L! ! ! ! ! foccdeccpeccd !FCI!FCO!"CZ! !TCI!TCQ' 0! ! H ! ! ! faccpacabacetd o---o---o---o 11 10 09 0‘ 07 06 05 0‘ 03 02 NAME TCC DEFINITION 1S SC S SPECIAL CONDITION. WHEN SET, INDICATES THAT THE LAST COMMAND DID NOT COMPLETE WITHOUT INCIDENT. SPECIFICALLY, EITHER AN ERROR DETECTED 1484 1485 1486 1487 1488 COMMANDS, REVERSE MOTION AND AT BOT, EOT WHILE WRITING, ETC. MAY ALSO BE SET BY THE ERROR .ITS CONTAINED IN THE TSSR REGISTER: SCE, AND NXM. THE TERMINATION CLASS BITS ARE mm OTHER THAN O (UNLESS RMR IS THE ONLY i::% 1493 1494 1495 OR AN ExCEPfIm CONDITION OCCURRED. EXCEPTION CONDITIONS CAN BE TAPE MARKS ON i& 00 e—_—" 1482 1483 01 foccpencbecs . BIT L L 1479 1480 1481 12 READ ERROR - SEE RMR). : 14 - 13 SCE FCe {:g RESERVED (ALMAYS A 0) SMIYY CHECKX ERROR-SETS WHEN THE CONTROLLER DETECTS AN ABNORMAL CONDITION WITHIN ITSELF DURING EXECUTION OF IT'S FUNCTIONS AND THE PROBLEM IS SERIOUS ENOUGH THAT A MESSAGE PACKET IS NOT STORED. 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 12 RMR S *stm MODIFICATION REFUSED. SET BY THE TSVOS A COMMAND POINTER IS LOADED INTO TSDB AND S\' SYSTEM READY (SSR) IS NOT SET. NOTE THAT THIS BIT CAUSES SPECIAL CONDITION BUT NO TERMINATION CLASS (IN FACT, THE TSOS NEVER SEES THIS ERROR) BECAUSE ON A SYSYE" WITH NO BUGS, ms BIT MAY COME UP ON AN ATTENTION MESSAGE. IF ATTNS ARE NOT ENABLED, THIS BIY COMING UP IS AN MICATIN OF EITHER A FATAL CONTROLLER ERROR OR A SOF TWARE BUG. 1509 11 NXM 4/S NON-EXISTENT MEMORY. 1510 1511 1512 igii 1515 1516 1517 SET BY THE TSVOS WHEN TRYING TO TRANSFER TO OR FROM A MEMORY LOCATION WHICH DOES NOT EXIST. MAY OCCUR WHEN FETCHING THE COMMAND PACKET, FETCHMING OR STORING DATA, OR STORING THE MESSAGE PACKET. 10 NBA S NEED BUFFER ADDRESS. WHEN SET, INDICATES THAT THE TSOS NEEDS A MESSAGE BUFFER ADDRESS. THIS BIT IS CLEARED DURING THE SET CMARACTERISTICS CVTSEBO TSVOS DATA RELIABILITY 1518 1519 1520 MACRO M1113 F3 30-NOV-83 10:17 SEQ 031 COMMAND (IF A GOOD ADDRESS WAS GIVEN). 09 A7 BUS ADDRESS BIT 17. THE VALUES OF BITS A17 AND A16 (BIT 08) TRACK 17 AND 16 OF THE TSBA II!EG'I.SI?‘!&“LOADED FROM TSDB BITS 01-00 WHEN TSDB 08 A6 BUS ADDRESS BIT 16. 07 SSR SUB-SYSTEM READY. WHEN SET, INDICATES THAT THE TSVOS/TS05 SUBSYSTEM IS NOT BUSY AND IS READY TO ACCEPT A NEW COMMAND POINTER. 06 OFL 05 FC1 FATAL TERMINATION CLASS O1. FC1 AND 04 FCO FATAL TERMINATION CLASS 00. SEE FC1 (BIT 05). 03 TC2 TERMINATION CLASS BIT 02. 5.1.3 SEE A17 (BIT 09). OFF-LINE. WHEN SET, INDICATES THAT THE TSOS IS OFF-LINE AND UNAVAILABLE FOR ANY TAPE MOTION COMMANDS. THIS BIT CAN CAUSE A TERMINATION CLASS OF 1 (ON ATTN INTERRUPT) OR 3 (RESULTS IN NEF). FCO (BIT 04) ARE USED TO INDICATE THE TYPE OF FATAL ERROR WHICH HAS OCCURRED ON THE TSOS. THESE BITS ARE VALID ONLY WHEN SC IS SET AND THE TERMINATION CLASS CODE BITS ARE ALL SET (111). THE TC1 AND TCO BITS, THIS BIT, ALONG WITH ACT AS AN OFFSET VALUE mvea AN ERROR exévuon CONDITION OCCURS ON comno m THE EIGHT POSSIBLE wuzs OF THIS FIELD msem A PARTICULAR ginss OF ERRORS OR IONS . }ve CONDITIONS PROCEDURES. THE CODE PROVIDED IN THIS FIELD IS EXPECTED TO BE UTILIZED AS AN OFFSET INTO A DISPATCH TABLE FOR HANDLING OF THE CONDITION. 02 TC1 TERMINATION CLASS BIT O01. SEE TC2 (BIT 03). 01 TCO TERMINATION CLASS BIT 00. SEE TC2 (BIT 03). 00 - NOT USED. (ALWAYS A 0) Q-BUS ADDRESS ¢+ 2 - WRITE ONLY SUBSYSTEM INITIALIZE CVTSEBO TSVOS DATA RELIABILITY 1569 {g;g MACRO M1113 6.3.2.1 1574 1576 SEQ 032 TSVOS EXTENDED DATA BUFFER REGISTER (TSDBX) 1572 1573 1575 G3 30-NOV-83 10:17 $eccd feccfeccfaccd 1 O ! O ! O ! 3 3 NAME TCC 1582 1583 1584 1585 15 BT - {Ssgg 14-12 RESERVED (ALWAYS A 0) 1590 11-08 P<21:18> COMMAND POINTER BITS 21-18. WHEN THE TSDBX IS WRITTEN {ggg ENABLED BY THE EXTENDED focet FEATURES SWITCH ON THE M7196) B800T COMMAND BIT. WHEN WRITTEN TO A 1,.WITH SSR=1, CAUSES THE TAPE TO BE REWOUND TO BOT, THE FIRST TAPE RECORD TO BE SKIPPED, AND THE SECOND RECORD TO BE LOADED INTO CPU MEMORY SPACE AND SSR=1, ) 1594 1600 1601 feccpoccboccd ! STARTING AT LOCATION O. 1591 }gg : DEFINITION issgg 1595 1596 1597 ! (TSDBX EXISTS ONLY WHEN BIT feccfeccbeced ! !P18! ! 1579 {Ssgg : Pocsd !P21!P20!P19! 1! $cccd ! foccfoccpoccd ! ig;; TSDBX BT ! 07-00 6.3.3 THE DATA IS LOADED INTO BITS 21-18 OF THE INTERNAL TSBA REGISTER. RESERVED CALWAYS A 0) EXTENDED STATUS REGISTER O (XSTATO) 1602 1603 1604 1605 1606 15 14 13 12 11 10 09 08 07 06 05 o4 03 02 01 00 Gececd feccfecclocal feccbocctoceld foccdrccfecced foccbece $eced feccpocapecs ITMK! !RLS!ILET!RLL! !WLE!NEF!ILC! 'ILA!MOTI!ONL! !IE !VCK!PED! !“.K!OOT‘EOT' ! L ! H L H H L ! ! L H H L H ! Gcced Pocchecntocctd focchocchoccld foccloccfeccd foccheccbenad o---o---o---o 1609 BIT NAME TCC 1612 15 T S.2 1607 1608 1611 1613 1614 P {:{2 1617 1618 1619 1620 1621 1622 1623 1624 1625 e DEFINITION A TAPE MARK DETECTED. SET WHENEVER A TAPE MARK WAS DETECTED DURING A READ, SPACE, OR SKIP CM"O‘S‘*S\LTG“WI“ TAPE MARK OR WITE TAPE MARK RETRY COMMANDS. 14 RLS 2 RECORD LENGTH SHORT. THIS BIT INDICATES THAT EITHER THE RECORD'S LENGTH WAS SHORTER THAN THE BYTE COUNT ON READ OPERATIONS, A SPACE RECORD OPERATION ENCOUNTERED A TAPE MARK OR BOT BEFORE THE POSITION COUNT WAS EXHAUSTED, OR A SKIP TAPE MARKS COMMAND WAS TERMINATED B8Y ENCOUNTERING BOT OR A DOUBLE TAPE MARK (IF THAT OPERATIONAL MCDE IS ENABLED, SEE LET) PRIOR TO EXMAUSTING THE POSITION COUNTER. CVTSEBO TSVOS DATA RELIABILITY 1626 1627 1628 1629 1630 MACRO M1113 30-NOV-83 10:17 13 LET SEQ 033 2 MARKS ARE DETECTED OR WHEN MOVING OFF OF B80T AND THE FIRST RECORD ENCOUNTERED IS A TAPE 1631 MARK. 1632 UNLESS {.2;2 1635 1636 1640 1641 12 RLL 2 {8? 1648 1649 1650 1651 THIS MODE OF TERMINATION NOT OCCUR IS ENABLED RECORD LENGTH INDICATES LONG. WHEN SET, THIS BIT THAT THE RECORD READ WAS LONGER THAN THE BYTE COUNT SPECIFIED. 11 WE 3,6 {ag 1644 1645 THE SETTING OF THIS BIT WILL THROUGH USE OF THE SET CHARACTERISTICS COMMAND. }gg 1639 LOGICAL END OF TAPE., SET ONLY ON THE SKIP TAPE MARKS COMMAND WHEN EITHER TWO CONTIGUOUS TAPE WRITE LOCK ERROR. WHEN SET, INDICATES THAT A WRITE OPERATION WAS ISSUED BUT THE MOUNTED TAPE DID NOT CONTAIN A WRITE ENABLE RING OR THE WRT LOCK SWITCH ACTIVATED DURING THE OPERATION. 10 NEF 3 NON-EXECUTABLE FUNCTION. WHEN SET, INDICATES THAT THE COMMAND COULD NOT BE EXECUTED DUE TO ONE OF THE FOLLOWING CONDITIONS: - THE COMMAND SPECIFIED REVERSE TAPE DIRECTION BUT THE TAPE WAS ALREADY POSITIONED AT BOT. THE ISSUING OF ANY MOTION COMMAND EXCEPT CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 13 30-NOV-83 10:17 SEQ 034 1653 - - ILC WHEN THE VOLUME CHECK BIT IS SET. ANY COMMAND, EXCEPT GET STATUS OR DRIVE INITIALIZE, WHEN THE TSOS5 IS OFF -LINE. ANY WRITE COMMAND WHEN THE TAPE DOES NOT WRITE ENABLE RING (WRITE LOCK STATUS - W.S). ILLEGAL COMMAND. AND EITHER MODE FIELD SET WHEN A COMMAND IS ISSUED ITS COMMAND FIELD OR ITS COMMAND CONTAINS CODES WHICH ARE NOT SUPPORTED BY THE TSOS. ILA ILLEGAL ADDRESS. (MORE THAN 18 BITS OR ODD WHEN AN EVEN ADDRESS IS REQUIRED.) TAPE IS MOVING. INTERRUPT ENABLE. INTERRUPT ENABLE vCK VOLUME CHECK. WHEN SET, INDICATES THAT THE ORIVE HAS BEEN EITHER POWERED DOWMN OR TURNED OFF-LINE. CLEARED BY THE CLEAR VOLUME CHECK (CVC) BIT IN THE COMMAND HEADER WORD. THIS BIT CAN CAUSE A TERMINATION CLASS OF 3. THE REFLECTS THE STATE OF BIT SUPPLIED ON THE LAST PHASE ENCODED DRIVE. ALMWAYS SEY, INDICATES THAT THE TSOS IS CAPABLE OF READING AND WRITING ONLY 03 1600 01 IS m ON LINE. WHEN SET, INDICATES THAT THE TSO0S ON-LINE AND OPERABLE. BPI PHASE ENCODED DATA. WK WRITE LOCKED. WHEN SET, INDICATES THAT THE MOUNTED REEL OF TAPE DOES NOT HAVE A WRITE-ENABLE RING INSTALLED. THE TAPE 1S, THEREFORE, WRITE PROTECTED. 80T BEGINNING OF TAPE. EOT WHEN SET, INDICATES THAT THE TAPE IS POSITIONED AT THE LOAD POINT AS THE gE»'IE)TED 8Y THE BOT REFLECTIVE STRIP ON s.2 END OF TAPE. THIS BIT IS SET WHENEVER THE TAPE IS POSITIONED AT OR BEYOND THE END OF TAPE REFLECTIVE STRIP, . CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 SEQ 035 i 1703 ! ! 1704 {;82 . 6.3.4 1707 EXTENDED STATUS REGISTER 1 (XSTAT1) 1708 1709 1710 1711 1712 1713 1714 1715 1716 1718 15 14 13 12 $eced Seccpeccpeccd IOLT! ! O 'COR! O ! H 1! H ! ! $ecet Peccpeccpeccd e 1719 1720 11 10 BIT NAME TCC DEFINITION 15 OLT 4 DATA LATE. S gy e T 1721 i;gg ol et READ 09 OR - - NOT USED. 1726 13 COR S CORRECTABLE DATA. {;233 12-09 1731 {;g 08 {;g; 07-02 &€ 00 {;g‘ A, 06 ON A WRITE. 01 RPB UNC 05 04 03 02 01 00 feccfeccpoccd foccpeccponch ! O0'!O0O''O! !0 'WNC:HO'! 3 ! H g ! H H H foccpeccfecncd foccpeccbenst A THESE CONDITIONS OCCUR WHENEVER THE Q-BUS LATENCY DATA TRANSFER RATE OF THE T7SOS. 14 1736 07 foccpeccponc) !RBP! O ! O ! 3 ! H : foccfeccloccd SET WHEN THE FIFO IS FULL ON EMPTY {;g i;gz 08 Poccfuccboced ! O ! OO ! ! ! H : foccpoccpaccld EXCEEDS THE (ALWAYS A 0) CORRECTABLE DATA ERROR HAS BEEN ENCOUNTERED. RESERVED (ALWAYS A 0) 4 READ BUS PARITY ERROR. SET WHEN CONTROLLER DETECTS A PARITY ERROR ON THE READ DATA LINES OF THE TRANSPORT BUS. RESERVED (ALMWAYS A 0) 4 UNCORRECTABLE DATA ERROR. . ~ CVTSEBO TSVOS DATA RELIABILITY 1740 MACRO M1113 30-NOV-83 10:17 6.3.5 1747 15 14 13 12 11 10 09 08 07 06 05 04 O3 02 O1L 00 $eced $eccpecaieccd Prccfecclocnd feccfeccleccd frccfaccbeccd foccbeccpaceh 10PM! IRCE! O ! O ! ! O !NCF! O ! ! O !RL7!RL6! !RLS!RLA!RL3! !RL2!RL1!RLO! , A 1748 1749 1750 SEQ 036 EXTENDED STATUS REGISTER 2 (XSTAT2) 1742 1743 1744 1745 1746 IK3 $eccd Peccleccpeccd 2 i T feccpeccteccd O TR D R feccfeccpaccd O B B B frccfeccfeccd T B B 1751 BIT NAME TCC DEFINITION 1754 1S OPM S OPERATION IN PROGRESS. 1756 1757 1758 14 RCE 7,F2 RAM CHECKSUM ERROR. CAUSES FATAL CLASS 2 BECAUSE THE ERROR MIGHT HAVE OCCURRED DURING THE TRANSMISSION OF THE MESSAGE PACKET. 1760 13-11 1763 10 1766 09-08 1768 1769 07-00 ";LO i 1762 1764 e s (TAPE MOVING) RESERVED CALWAYS A 0) WCF 7 WRITE CLOCK FAILURE. RESERVED (ALWAYS A 0) - SET DURING A WRITE TO INDICATE THAT THE FIFO IS NOT BEING EMPTIED BY THE TRANSPORT. REVISION LEVEL. B Ppoccfaccpaces 1772 1773 };;g MACRO M1113 30-NOV-83 10:17 6.3.6 SEQ 037 EXTENDED STATUS REGISTER 3 (XSTAT3) 1776 1777 1778 15 1780 ! 1779 $eccd 1781 ! 14 13 12 $occleccpeccl 11 10 09 frccpeccpecs MICRO DIAGNOSTIC ERROR CODE 08 07 06 $eccpeccpeccd TCC saess 04 03 02 01 (O R A A A B Perccfeccfeceld) O T A poccpone T) ® 1785 17“ BIT *ee 1788 15 T0 08 MICRO DIAGNOSTIC ERROR CODE. (SEE LIST OF CODES BELOW). 1790 07 RESERVED (ALWAYS A 0) 1792 1793 1794 06 OPI 6 OPERATION INCOMPLETE. SET WHEN A READ, SFACE, OR_SKIP OPERATION HAS MOVED 25 FEET OF TAPE WITHOUT DETECTING ANY DATA ON THE TAPE. 1796 1797 05 REV S DIRECTION OF CURRENT OPERATION WAS REVERSE (BUT IS 0 IF REWIND OR FORWARD) 1799 04 - - RESERVED (ALMWAYS A 0) 1801 1802 1803 03 DCx S.6 DENSITY CHECK. SET WHEN A PE IDENTIFICATION BURST (IDB) WAS NOT MOVING OFF OF BOT. 1805 02-01 1808 1809 00 1814 6.3.7 4 DETECTED WHEN RIB 2 REVERSE INTO BOT. A READ, SPACE, OR SKIP COMMAND ALREADY IN PROGRESS HAS ENCOUNTERED THE BOT MARKER WHEN MOVING TAPE IN THE REVERSE DIRECTION. TAPE MOTION WILL BE HALTED AT BOT. EXTENDED STATUS REGISTER 4 (XSTAT4) 09 00 1820 1821 IHSP! IRCE!%% O ! O F 323 o 0 o o BIT -—-- NAME cee- TCC cwe DEFINITION 2 | eeseesecessese boe- 07 06 OS 04 03 02 -1 10 - 11 g 12 Rd 13 Me 14 $eced Prccboccpece * beccponcpene ¢ — 15 1819 ® e @ 1818 1'21 DEFINITION esessscascsses RESERVED (ALWAYS A 0) 1810 1811 1826 00 foccpoccpoca R Y TRy 10 10PT! IREVITRFIOCK! ¢ O ¢ O RIB! . cocfracd) NAME eesee OS 01 00 > e 9 ~ CVTSEBO TSVOS DATA RELIABILITY L3 CVTSEBO TSVOS DATA RELIABILITY MACRO M111i3 M3 350-NOV-83 10:17 15 HSP 14 RCE SEQ 038 S HIGH SPEED. WHEN SET,INDICATES THAT THE TRANSPORT IS OPERATING IN HIGH SPEED MODE.(100IPS) WHEN CLEAR,THE TRANSPORT IS OPERATING IN LOW SPEED MODE.(25IPS) RETRY COUNT EXCEEDED. WHEN SET,INDICATES THAT THE CONTROLLER WAS BUFFERING WRITE DATA AND COULD NOT SUCESSFULLY OUTPUT THE BUFFERED RECORD WITHIN THE SPECIFIED NUMBER OF RETRIES. CAUSES TAPE POSITION LOST TERMINATION. 13-8 7-0 WRC - RESERVED (ALWAYS A 0) S WRITE RECOUNT COUNT STATISTIC. THIS FIELD INDICATES, WHEN THE CONTROLLER IS BUFFERING WRITE DATA RECORDS, THE TOTAL NUMBER OF CONTROLLER INITIATED RETRIES PERFORMED IN ORDER TO WRITE THE PREVIOUS BUFFERED RECORD. THIS COUNT IS CLEARED AFTER IT IS DISPLAYED. |S— — REVISION A - MAR 1982 MODIFIED CZTSHC FROM TS11 FOR TSVOS REVISION B APR 1983 B wn w ® : 7.0 DIAGNOSTIC HISTORY UPDATED THE DIAGNOSTIC TO SUPPLY THE CORRECT RECORD NUMBER DURING EXECUTION OF TEST #2. REF: CHMIELECKI TO MITCHELL “TSVOS DATA RELIABILITY PROBLEM”; 21-JAN-83. S i CVTSEBO TSVOS DATA RELIABILITY MACRO M1113 30-NOV-83 10:17 N3 SEQ 039 .TITLE PROGRAM HEADER AND TABLES .SBTTL PROGRAM HEADER .ENABL ° ABS,AMA 2000 340 + THE PROGRAM HEADER IS THE INTERFACE BETWEEN + THE DIAGNOSTIC PROGRAM AND THE SUPERVISOR. POINTER BGNRPT,BGNSW,BGNSFT,BGNAU,BGNOV LSNAME: : 027754 030062 002174 HEADER CVTSE,.B,0,5000,1 tDIAGNOSTIC NAME LS$REV:: sREVISION LEVEL L$DEPO: : 10 LSUNIT:: tNUMBER OF UNITS LS$TIM:: sLONGEST TEST TIME LSHPCP:: sPOINTER TO H.W. QUES. L$SPCP:: sPOINTER TO S.W. QUES. L$HPTP: ; 'PTR. TO DEF. H.W. PTABLE L$SPTP: : 1PTR. LSLADP: : 1DIAG. END ADDRESS L$STA:: tRESERVED FOR APT STATS 70 S.W. PTABLE L$CO:: LSDTYP:; 1DIAGNOSTIC TYPE LSAPT: 1APT EXPANSION L$DTP: ; tPTR. TO DISPATCH TABLE L$PRIO: ; 1DIAGNOSTIC RUN PRIORITY LSENVI:: 1FLAGS DESCRIBE HOM IT WAS SETUP 70/ LS$HARD L$SOFT LM Lé¢SH LSLAST o o 1 0 LS$DISPATCH 0 ' PROGRAM MEADER AND TABLES B4 SEQ 040 0 o PROGRAM MEADER 30-NOV-83 10:17 1DIAG. EVENT FLACTM . mm LSEF;:: o - =< B a] 1SVC REV AND EDIT ¢ © LSMREYV:: . 1EXPANSION WORD D@ LSEXPL:: CSREVISION CSEDIT . " MACRO M1113 000000 002164 017570 LISPC:: LSDEVP: ; + POINTER TO DEVICE TYPE LIST LSREPP: ; 1PTR., TO REPORT CODE LSEXPA; ; 104035 021324 023736 023314 021316 LSAUT: 1PTR. TO ADD UNIT CODE LSOUT:: 1PTR, TO DROP UNIT CODE LSLUN:: tLUN FOR EXERCISERS TO FILL LSDESP: : tPOINTER TO DIAG. DESCRIPTION LSLOAD:: 1GENERATE SPECIAL AUTOLOAD EMT LSETP:; 1POINTER TO ERRTBL LSICP:: 1PTR. TO INIT CODE LSCCP:: 1PTR. TO CLEAN-UP CODE LSACP: tPTR. TO AUTO CODE LSPRT:: 1PTR. TO PROTECT TABLE LSTEST:: 1 TEST NUMBER LeDLY:: sDELAY COUNT LOMIME: : 1PTR. .SBTTL LSOVTYP LIRPT o LSEXPS: : 002136 0 0 LAV LSOV L$DESC ESLOAD LSINIT LSCLEAN LSAUTO LS$PROT TO HIGH MEM DISPATCH TABLE LR : THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. s IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST. DISPATCH S 024156 LSDISPATCH: : Tl ' PROGRAM MEADER AND TABLES MACRO M1113 ' DISPATCH TABLE 30-NOV-83 10:17 C4 80 87 3333 025644 026500 026674 027054 SEQ 041 DESCRIPTIVE TEXT 338 .SBTTL joe 91 12 LINES OF TEXT PRINTED TO THE OPERATOR TO IDENTIFY THE DIAGNOSTIC AND THE DEVICE UNDER TES & 93 3 )4 S 89 101 ) 04 LSDESC:: DESCRIPT <DATA RELIABILITY TEST> .ASCIZ /DATA RELIABILITY TE 040 114 111 040 123 DEVTYP 123 065 <TSVOS> LSOVTYP:: .SBTTL .EVEN .ASCIZ DEFAULT HARDWARE P-TABLE /TSVOS/ .EVEN goe s THE 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 RUN-TIME P-TABLE. ... 104 002172 002172 002174 002174 107 002174 108 002176 002200 8GN DFPTBL LoMM;: .WORD L10000-L$MM/2 JHORD L10001-L8SW/2 OFPTBL:: 172320 LMORD LHORD .MORD 172520 224 O 1 7SOB ADDRESS. sVECTOR ADODRESS. |NIVE 0 FOR DEFAWLT L10000: .SBTTL SOFTWARE P-TABLE goe s+ THE SOFTWARE P-TABLE CONTAINS THE VALUES OF THE PROGRAM | PARAMETERS THAT CAN BE CHANGED BY THE OPERATOR. ... 000051 BGNSW SFPTBL PROGRAM MEADER AND TABLES . SOFTWARE P-TABLE MACRO M1113 D4 30-NOV-83 10:17 SEQ 042 CHAR:; CMDD:: .BYTE .BYTE CH.EAI . lg’%fi SWITCH TO REWRITE ON SAME SPOT &€ DETECT BAD TAPE ' 1DISABLE INTERRUPTS FLAG. 1 INMIBIT ERROR RECOVERY FLAG. .mym CMD SEQ TABLE FLAG. UMIT RESIDUAL FRAMECOUNT ERROR REPORT FLAG. 2 = PIRE:: 1ENABLE RECOVERABLE ERROR PRINTS FLAG. . .BYTE DINT:: IREC:: .BYTE CHGFLG:: .BYTE .BYTE tHALT AFTER EACH COMMAND FLAG. sggbinp? p) BADTSW: : ievTE 0000000000 r .BYTE 1CLEAR COUNTERS FAG tRESET RANDOM VARIABLES EACH PASS FLAG. » ERCVER:: .BYTE .BYTE .8Y ao«m:mxsucs CODE CDEFAULT = 40). 1COMMAND 2 (DEFAULT = REWIND). l'YTE COUNT INUMBER OF OPERATIONS aPA"EIN tCOMMAND 3 (DEFAMAT = WRITE) lIYTE coun (DEFAMAT = MAX BUFFER SIZE). INUMBER OF MTIWQ\LT = 32000). .PATm (WNIJ - 1COMMAND 4 (DEFALT » m REV). sNUMBER lPATTEM (DEFALT = RANDOM). OF OPERATIONS (DEFAWLT = 32000). (-Y-T-1-1-14 CLRFLG:: RRANV:: 1 m §§§§§§§§§§§§ [=3 8 LéSM:: SFPTBL:: tPATTERN (DEFALT = 1DEFAULT SWITCH SETTING ). READ BUFFERING 1ENABLE WR ITE BUFFERING IM AT 100IPS SWITCH 1EXTENDED FEATURES SOFTWARE SW 0=0FF ;1=ON 1BUFFER ENABLE SOFTWARE SW 0=0FF ;1=ON ' PROGRAM HEADER AND TABLES SOF THWARE P-TABLE 190 191 MACRO M1113 30-NOV-83 1C:17 E4 SEQ 043 .TITLE GLOBAL AREAS .SBTTL GLOBAL EQUATES SECTION L : Tl! GLOBAL EQUATES SECTION CNTAINS PROGRAM EQUATES THAT + ARE USED IN MORE THAN ONE T ... EQUALS b ¢ BIT DIFINITIONS [ 8IT15S== 100000 BIT14== 40000 B8IT13«= 20000 8IT12+== 10000 8ITil== B8IT10== 8IT09== B8IT08== BITO7== B8ITO6== BIT0S== BITO4== 8IT03== B8IT02== BITOle= B8IT00== 001000 4 4000 2000 1000 400 200 100 40 20 10 4 2 1 BIT9== BITO9 8IT2== B8ITi== B8ITO== BITO2 BITOL BITOO 000100 000020 000010 000001 & s+ EVENT FLAG DEFINITIONS s EF32:EF17 RESERVED FOR SUPERVISOR TO PROGRAM COMMUNICATION 000037 000035 000034 EF .START e EF RESTART=s EF .CONTINUE== EF .NEWes EF .PUR== 32. 31. 30, 29, %8, i ; s PRIORITY LEVEL DEFINITIONS 000340 000300 PRIO7== 340 PRIOG== 300 START COMMAND WAS ISSUED RESTART COMMAND WAS ISSUED CONTINUE COMMAND WAS ISSUED A NEW PASS MAS BEEN STARTED A POMER-FAIL/POMER-UP OCCURRE ' GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 000240 + 000200 000140 000100 000040 F4 30-NOV-83 10:17 SEQ 044 PRIOS== 240 PRIOA== PRIO3== PRIO2== PRIO1== 200 140 100 40 3 1OPERATOR FLAG BITS 8 000004 EVL e 000200 UAM== 000010 000020 000040 000100 000400 001000 002000 004000 010000 020000 040000 100000 4 LOTe= ADRe= IDY== ISRes BOE== PNTe=e PRI== IXEe= IBE== IERee LOE== HOE== 10 20 40 100 200 400 1000 2000 4000 10000 20000 40000 100000 + REGISTER USAGE. B i ' [ ' i ‘ i ' RO R1 R2 R3 R4 RS R6 - PASSES PARAMETERS TO/FROM DIAGNOSTIC SUPERVISOR. - COMMAND SEQUENCE TABLE POINTER. - GENERAL PURPOSE REGISTER. - GENERAL PURPOSE REGISTER. - GENERAL PURPOSE REGISTER. - CURRENT LOGICAL DEVICE NUMBER X 2. - STACK POINTER. R7 - PROGRAM COUNTER, s THE FOLLOWING ARE BIT DEFINITIONS FOR THE TSSR REGISTERS. 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 177717 177761 75.5C==100000 1S.UPE==40000 7S .SPE==20000 7S.RMR==10000 7S .NXM==4000 7S.NBA==2000 7S.A17+=1000 7S.A16=-400 7S.SSR==200 7S.0FL==100 TSC.FCC==177717 TSC.TCC==177761 +SPECIAL CONDITION BIT. tUNIBUS PARITY ERROR 1SERIAL BUS PARITY ERROR. |REGISTEI MODIFICATION REFUSED. sNON-EXISTENT MEMORY, tNEED BUFFER ADDRESS. aIUS ADORESS BIT 17. 1BUS ADORESS BIT 16. tUNIT READY BIT. 10FF LINE, .fAT& CLASS CODE MASK. s TERMINATION CLASS CODE MASK. 1 THE FOLLOWING ARE BIT DEFINITIONS FOR THE COMMAND WORD 100000 040000 020000 010000 ACK,C==100000 CvC.C==40000 OPP ,C==20000 SW8 .C==10000 1 ACKNOWLEDGE BIT 1CLEAR VOLUME CHECK. 1OPPOSITE 8IT 1SWAP BYTE BIT | GLOBAL AREASSEQ | GLOBAL EQUATES SECTION | | 251 253 . ' 254 255 . 257 g | | 256 30-NOV-83 10:17 004000 MOD.C3=+=4000 BRF ,C==4000 002000 001000 MOD.C2=-2000 MOD.C1==1000 MOD.CO0==400 IE.C==200 000400 000200 258 259 000100 000100 261 262 000040 000040 FMT.CO==40 000020 000020 000010 000004 000002 CMD.C4==20 DLY.C==20 CMD.C3==10 CMD.C2==4 CMD.Cle=2 CMD.CO=-1 260 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 g | SEQGMACRO M1113 000001 FMT.C1==100 VFY.C==100 G4 SEQ 045 tMODE BIT 3 1BYTE/RECORD/FILE COUNT FLAG BIT. NOT USED 18Y TSOS BUT USED INTERNALLY BY THIS PROGRAM ONLY. 1MODE BIT 2 tMODE BIT 1 +MODE BIT O 1 INTERRUPT ENABLE 1FORMAT BIT 1 tWRITE VERIFY FLIG BIT. INTERNAL USE ONLY. sNOT USED BY TSO0S .romm 8IT 0. 1 JUMP BIT-TO DIRECT THIS PROGRAM TO JUMP TO tA CERTAIN LOCATION IN THE COMMAND SEQUENCE sTABLE. INTERNAL USE ONLY. ;conwo BIT 4 T oeuuYs INTERNAL USE ONLY. 2 1COMMAND BIT ;COMMAND BIT 1 1BIT DEFINITIONS FOR DEVICE CHARACTERISTICS. 000200 000040 000020 000040 : 000040 000030 000020 CH.ESS==200 CH.EAI==40 CH.ERI==20 DF TSCHe=CH . EAI tENABLE SKIP TAPE MARKS STOP (STOP AT LOGICAL EOT). tENABLE ATTENTION INTERRUPTS. lME MESSAGE BUFFER RELEASE INTERRUPTS. 1DEFALT CHARACTERISTICS COOE. 1BIT DEFINITIONS FOR EXTENDED CONTROL WORD EF .HSS==40 EF .RWB==30 EF .RB0==20 1ENABLE HIGH SPEED SELECT 1ENABLE BOTH READ € WRITE BUFFERING 1ENABLE READ BUFFERING ONLY 1 THE_FOLLOWING MICQ;ES THE RELATIVE POSITIONS OF THE STATUS WORDS 1IN THE MESSAGE BUFF 000004 000006 000010 000012 000014 000016 MS.RFCe=4 MS.XS0==6 MS.XS1le==10 MS.XS2==12 MS.XS3==14 MS.XS4==16 tRESIDUAL FRAME COUNT. 1EXT STATUS REG O 1EXT STATUS REG 1 1EXT STATUS REG 2 1EXT STATUS REG 3 1EXT STATUS REG 4 s THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 0. 100000 040000 020000 010000 000100 000004 000002 000001 X0. TMK==100000 X0.RLS==40000 X0.LET==20000 X0.RLL==10000 X0.0ONL==100 XO0.WLK==4 X0.80Te==2 X0.EQT==} 1 TAPE MARK, sRECORD LENGTH SHORT, 1LOGICAL EOT. 1RECORD LENGTH LONG. 1ON LINE BIT. tWRITE LOCK BIT 180T BIT. 1EOT BIT. s THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 2. -—— ~ GLOBAL AREAS GLOBAL EQUATES SECTION ‘ ; i 308 309 310 311 100000 000200 000100 314 30-NOV-83 10:17 X2.0PM==100000 X2.EFE==200 X2.8FE==100 SEQ 046 1OPERATION IN PROGRESS, TAPE MOVING 1EXTENDED FEATURES ENABLED 1BUFFERING ENABLED s THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 3. 312 313 MACRO M1113 000010 157400 X3.0CKe=10 X3.RNY==157400 1DENSITY CHECK, 1CAPSTAN RUNAWAY UDIAG ERROR CODE. 1 THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 4. 100000 040000 X4 .HSS=+=100000 X4 .RCE== 40000 tHIGH SPEED SWITCH INDICATING 100IPS tRETRY COUNT EXCEEDED tTHE FOLLOWING DEFINITIONS SHOW THE RELATIVE POSITIONS OF THE COMMAND tPACKET ENTRIES. CP.CMD==0 CP.ADL==2 1CMOPKT +0==TS05 COMMAND. 1CMOPKT+2==BUFFER ADDRESS LOW. 1CMOPKT +4==BUFFER ADDRESS HIGH. 1CKDPKT +6==BYTE/FILE/RECORD COUNT sMISCELLANEOUS DEFINITIONS. INTPRI==PRIO7 SCHCNT==12 DIACNT==20 DATCNT==2048. 177740 000007 000020 000020 153624 032561 177774 177740 RNOPSC==177740 RANSC==32561 tPRIORITY TO BE USED IN INTERRUPT STATE. tARBITRARY BYTE LENGTH FOR CHARACTERISTIC tBUFFER LENGTH. (EVEN @) tMESSAGE BUFFER LENGTH IN BYTES. (EVEN #) .oxmsnc COMMAND BUFFER EXTENT. sMAXIMUM RECORD LENGTH IN BYTES, amsmmsnutmwass TO _INSURE 1PROPER READ/WRITE BUFFER ALLOCATION BY THE SUPER. tCONSTANT USED TO RESET RANDOM & GENERATOR BASE. sCONSTANT USED TO RESET RANDOM & SAVE LOCATION. 1NOT IN USE CODE FOR DEVICE STATE TABLE. NINUSE==177774 NCMD.C==ACK.C!CVC.C!O0PP.C!SWB. cmoo C3!M0D.C2!M0D.C1!MOD.CO!IE.C!FMT.C1FNMT.CO iNOT “COMMAND* BI 1 THE FOLLOWING DEFINES THE COMMAND WORD FOR EACH TSOS COMMAND. 100013 DRI== ACK.C!CMD.C3!CMD.C1:CMD.CO 104001 ROFe== ACK.C!BRF.C!CMD.CO 104401 RDR== ACK.C!BRF.C!MOD.CO!CMD.CO 104005 WRT== ACK.C!BRF.C!CMD.CO!CMD.C2 sDRIVE INIT. 1READ FORWARD tREAD REVERSE I1WRITE COMMAND ' GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 421 I4 30-NOV-83 10:17 SEQ 047 104105 WTV=e ACK.C!BRF.C!VFY.C!CMD.CO!CMD.C2 104010 SRF == ACK.C!BRF.C!CMD.C3 IWRITE VERIFY 1SPACE RECORD FORWARD 104410 ACK.C!BRF.C!MOD.CO!CMD.C3 105401 ACK.C!BRF.C!M0OD.C1!M0D.CO!CMD.CO 125401 ACK.C!BRF.C!0PP.C!M0OD.C1!M0D.CO!CMD.CO 105001 ACK.C!BRF.C!MOD.C1!CMD.CO 125001 ACK.C!BRF.C!OPP.C!M0OD.C1!CMD.CO 105005 ACK.C:r00.C1!BRF.C!CMD.C2!CMD.CO 102010 ACK.C!M0OD.C2:CMD.C3 100012 ACK.C!CMD.C3:CMD.C1 1SPACE RECORD REVERSE tREAD REV RETRY1 - REREAD NEXT REVERSE, IE. SPACE FWD, READ REVERSE tREAD REV RETRY2 - REREAD NEXT FORWARD, IE.READ FORWARD, SPACE REVERSE tREAD FWD RETRY1 - REREAD PREVIOUS FORWARD, IE. SPACE REVERSE, READ FORWARD tREAD FWD RETRY2 - REREAD PREVIOUS REVERSE, IE. READ REVERSE, SPACE FORWARD IWRITE RETRY sREWIND COMMAND tMESSAGE BUFFER RELEASE 100011 WTMes ACK.C!CMD.C3!CMD.CO 101011 WTR== ACK.C!MOD.C1:CMD.C3!CMD.CO 105010 SFFee ACK.C!BRF.C!MOD.C1:CMD.C3 105410 SFRe= IWRITE TAPE MARK, tWRITE TAPE MARK RETRY. 1SPACE FILE FORWARD ACK.C!BRF.C!M0OD.CO!MOD.C1!CMD.C3 1SPACE FILE REVERSE 100017 ACK.C!CMD.CO!CMD.C1!CMD.C2!CMD.CS 100411 ACK.C!MOD.CO!CMD.C3!CMD.CO 1GET EXTENDED STATUS 1ERASE 3 INCHES OF TAPE 100412 UNL=e ACK.C!MOD.CO!CMD.C3!CMD.CL tUNLOAD COMMAND 101012 CLN== ACK.C!MOD.C1!CMD.C3:CMD.CL 1ERASE TAPE. 140004 ACK.C!:CvC.C!CMD.C2 1SET DEVICE CHARACTERISTICS. 140006 ACK.C!CvC.C!:CMD.C2!CMD.CY IWRITE SUB-SYS MEM - GLOBAL AREAS GLOBAL EQUATES SECTION 422 423 MACRO M1113 J4 30-NOV-83 10:17 SEQ 048 100006 DIA== ACK.C!CMD.C2:CMD.C1 1DIAGNOSTICS. 000040 JMP== UMP.C 1JUMP TO “N"TH COMMAND 000020 OLY== DLY.C 1DELAY “N" MS, 17 END== 177777 1END OF COMMAND SEQUENCES .SBTTL GLOBAL DATA SECTION jee + THE GLOBAL DATA SECTION CONTAINS DATA THAT ARE USED s+ IN MORE THAN ONE TEST. .-. ' . . CMOPKT:: O 0 0 0 442 002330 * 443 002332 445 002336 451 002340 458 002344 472 002354 COMMAND PACKET. <, +3>E177774 MUST BE ON MOD 4 BOUNDRY. IIST WORD IS TSOS COMMAND. 12ND WORD IS THE BUFFER LOW ADDRESS. 13RD WORD IS THE BUFFER HIGH ADDRESS. M'I’H WORD IS THE BYTE/RECORD/FILE COUNT. ' GET STATUS COMMAND PACKET. . GSCPK:: . .WORD : MESSAGE BUFFER RELEASE COMMAND PACKET. 002344 . . <, +3>E177774 100012 BRCPK:: .WORD MBR [l REWIND COMMAND PACKET (USED IN ERROR RECOVERY ONLY) 002350 " e <, +358177774 102010 000001 RWCPK:: .WORD RWD [l WORK AREA FOR ANALYSIS OF MESSAGE PACKET CONTENTS. 002340 100017 MSGPKT:: .WORD .BLKW <, +3>E177774 GES tMUST BE ON MOD 4 BOUNDRY. tMUST BE ON MOD 4 BOUNDRY. 1MUST BE ON MOD 4 BOUNDRY, 1 8. 11ST WORD:: MESSAGE TYPE. 12ND WORD:: DATA FIELD LENGTH. +3RD WORD:: RESIDUAL FRAME COUNT. MYN WORD:: XSTATO 1STH WORD:: XSTATL 16TH WORD:: XSTAT2 $7TH WORD:: XSTATS ' GLOBAL AREAS GLOBAL DATA SECTION 479 MACRO M1113 :gg f 482 002374 483 002414 484 002434 MSGPKO:: MSGPK1:: MSGPK2:: &7 s fi 002454 MESSAGE PACKETS. .BLKW .BLKW .BLKW MSGPKS:: .BLKW 002374 SCHBK:: MSGPKO 491 002500 492 002502 000020 000040 MSGCNT CH.EAI :gz 002504 000000 :;g 499 002510 gg 002512 000000 000000 000000 558§ 8. IMESSAGE PACKET FOR DEVICE o3 +1ST WORD:: MSGPKT ADDR LOCSET UP BY EXCUTE ROUTINE). 12ND WORD:: 1STH WORD:: HSP & BUFFER CONTROL ON EXT'D FEATURES WRITE SUB-SYSTEM MEMORY CHARACTERISTIC BLOCK. WSMBK:: O 31ST WORD:: SEL O 0 0 12ND WORD:: SEL 2 +3RD WORD:: SEL 4 : TSOS REGISTER ADDRESSES. S04 002514 TSDB:: .BLKW 506 002534 TSVCT:: .BLKW ' ADDRESSES OF MESSAGE PACKETS. 002524 ssg; TSSR:: .BLKW 002514 509 gig 512 002544 513 002546 514 002550 giz 002552 002374 002414 002434 002454 gg 519 002554 520 002556 521 002560 % 002562 010042 010050 010056 % 526 002564 527 002566 528 002570 % 002572 535 002600 MSGPKA:: MSGPKO MSGPK1 MSGPK2 MSGPK3 TSSINT:: : 000000 000000 000000 000000 gg% S33 002574 534 002576 TSBA==TSDB ' 010034 000000 000000 000000 4 17SOS DATA BUFFER ADDRESSES. & 1 7SOS VECTOR ADDRESSES. 4 :TSOS STATUS REGISTER ADDRESSES. 1DATA BUFFER ADDRESS REGISTER. ' sDEVICE 0. ;DEVICE 1. 1DEVICE 2. 1DEVICE 3. ADDRESSES OF INTERRUPT HANDLING ROUTINES. TSSINO TSSIN TSSIN2 TSSINS 1DEVICE 0. +DEVICE 1. :DEVICE 2. 1DEVICE 3. TSOS CODE LEVELS, WILL BE STORED AFTER SCH CMD IN BASIC FUNCTION TEST TSSCL:: O 0 0 0 ' MSGPKT ADDR MI. 13RD WORD:: MSG BUFFER LENGTH (BYTES) .nn WORD:: CHARACTERISTICS WORD(SET BY SETUP ROUTINE). 0 : 498 002506 18TH WORD:: XSTAT4 IMESSAGE PACKET FOR DEVICE @0 tMESSAGE PACKET FOR DEVICE o1 {MESSAGE PACKET FOR DEVICE #2 0 000000 495 8. 8. 8. SEQ 049 SET CHARACTERISTIC BLOCK. 489 002474 490 002476 K4 30-NOV-83 10:17 1DEVICE ;DEVICE ;DEVICE sDEVICE O 1 2 3 TSOS EXT. FEA € BUF. ENA SW'S, WILL BE STORED AFTER SCH CMD IN BASIC FUNCTION TEST TSSSM:: O 0 () 1DEVICE 0 :DEVICE 1 1DEVICE 2 GLOBAL AREAS GLOBAL DATA SECTION ggg 002602 MACRO M1113 L4 30-NOV-83 10:17 000000 0 SEQ 050 sDEVICE 3 S38 3 UNIT NUMBERS OF ALL DEVICES BEING TESTED(1-4). ag 3 RS WILL ALWAYS CONTAIN THE PRESENT LOGICAL UNIT NUMBER X 2. DEVTBL:: .WORD .WORD .WORD .WORD S39 S42 SA3 S44 S4S 3 002604 002606 002610 002612 ;“} 002614 177774 177774 177774 177774 WHEN DEVICE IS NOT IN USE, 177777 548 549 . WORD H ggg BTADDR:: BTO 8T1 8T2 8T3 558 002626 CNTBGN=, 002666 S61 002726 3 WRBC:: WRREC:: WRUNR:: S64 00 RRREC:: S67 003036 RFUNR:: 565 003016 566 00 S68 003046 569 003120 S70 003172 S71 003244 S72 003316 73 574 003336 S75 003346 576 003356 S77 003366 S79 003376 S80 Ssg .BLKW 000550 S83 584 4 & 1RECOVERABLE WRI A sUNRECOVERABLE WRITE ERRORS. .BLKW 4 .BLKW .BLKW .BLKW .BLKW .BLKW BT70:: BLKW BT1:: BLKW BT2:: LBLKN BT3:: BLKN WRTYCT:: .BLKW PASCNT:: .BLKW :: JBLKW VFYCNT:: .BLKW 1 BLKW FTLCONT:: .BLKW TEND=, RECCNT:: .BLKW 4 4 4 21. 21. 21. 21. 4 4 4 4 4 4 4 CNTLEN==CNTEND-CNTBGN ] 1BYTES READ REV. 1BYTES READ FWD. s+FECOVERABLE REV . sUNRECOVERABLE READ REV ERRORS. sRECOVERABLE READ FWDERRORS. 3 COVERABLE Fil tUNIT O BAT TAPE SPOTS LOG sUNIT 1 BAT TAPE SPOTS LOG alNIT 2 BAT TAPE SPOTS LOG sUNIT 3 BAT TAPE SPOTS LOG tWRITE RETRY COUNTER 1PASS 1SPECIAL CONDITION COUNT. sCOUNT OF TSOS DATA C”ME ERRORS . |CMT OF MARD ERRORS. 1COUNT OF FATAL ERRORS. .Evo OF STATICTICAL COUNTERS. stNUMBER OF RECORDS FROM BOT: CLEARED tLENGTH OF STATISTICAL COUNTER AREA. THE FOLLOWING ARE THE DEFINITIONS OF VARIABLES 000000 DATAMT:: .WORD S89 003410 S90 003412 591 003414 592 003416 000000 000000 000000 000000 DATARD:: .WORD NCNT:: . NCNT1:: .WORD BRFCNT:: .WORD DIABLK==DATAWT tWRITE BUFFER ADDRESS. O 0 O O ON REWIND 1“ WHEN RESTARTING OR CONTINUING TEST 2. USED BY THE PROGRAM. S87 003406 003406 sBYTES WRITTEN. 20 20 ] & 20 .BLKW .BLKW RRUNR:: RFREC:: 003376 END COUNTER AREA. RRBC:: RFBC:: S62 002766 563 002776 NINUSE NINUSE NINUSE NINUSE “WRTY” TO LOG BAD TAPE SPOTS ON UNITS UNDER TEST 003046 003120 003172 003244 559 002626 -3, BAD TAPE TABLE POINTER: USED BY WRITE RETRY ROUTINE 3 SS2 002616 SS3 002620 SS54 002622 SS5S 002624 ggg IT,S LOCATION WILL = tWRITE BUFFER ALSO USED FOR DIAG CMD. tREAD BUFFER ADDRESS. 1STORAGE FOR VALUE OF N. 1TEMP STORAGE FOR VALUE OF N. 1STORAGE FOR BPCR VALUE. MACRO M1113 GLOBAL DATA SECTION 177777 177777 177777 i 000000 000000 153624 032561 30-NOV-83 10:17 CMOWRD:: CMDSAV:: PCMOWD WTMFLG:: §§§§§§§§§ g 8 i i BGNFLG=. RETRYC:: RPTCNT:: 003472 ENDERF =, .WORD mnom WRITE LENGTH MASK, TO BE SET UP BY TESTS 1RANDOM & GENERATOR BASE. tRANDOM @ SAVE LOCATION. 1 TIME COUNT 1. 1 TIME COUNT 2. l” COMMAND LOOP COUNT. JMP COMMAND LOCATION CM? |PATTERN SELECT CODE. 1CURRENT TERMINATION CLASS COOE. lLOCA?IOC FOR SAVING CURRENT DEVICE POINTER. 1CURRENT STATUS REGISTER. flRITE TAPE MARK FLAG O O 1# OF RECOVERY ATTEMPTS EXECUTED. tWRITE REPEAT ON SAME SPOT CNTR: 4 PER WRITE RETRY RECLOG:: .BYTE ERLOG:: .BYTE t: .BYTE UNREC:: .BYTE C:: .BYTE O O O O © sRECORD COUNT HAS BEEN UPDATED FOR THIS RECORD. tDATl BYTES AND ERRORS HAVE BEEN LOGGED FOR THIS RECORD. 1READ/WRITE ERROR HAS OCCURED. 1UNRECOVERABLE ERROR HAS OCCURED. .m RECOVERY MODE. WRTYFG:: TYER:: INTFLG:: EOTFLG:: 8TPT:: EXPBOT:: .BYTE .BYTE O O tWRITE RETRY ON SAME SPOT IN PROGRESS FLAG tWRITE RETRY ON SAME SPOT ERROR FLAG ADDITIONAL FLAGS, THESE FLAGS ARE CLEARED DURING INITIALIZATION. .BLKW .BLKW . .BYTE 4 4 0 O s INTERRUPT OCCURRED FLAGS FOR EACH DEVICE. tEOT/BOT FLAGS FOR EACH DEVICE (XSTATO). 1BAD TAPE SPOT POINTER TO BT0-BT3 VIA BTADDR 3001' IS EXPECTED, DO NOT ABORT ON BOT/FUNC RTI. SWBFLG:: .BYTE IRE:: .BYTE DROPED:: .BYTE TiSWB:: .BYTE ALLEOT:: .BYTE ERSFLG:: .BYTE O O O O O O 1ENABLES SWAP BYTE FUNCTION WHEN NOT EQUAL TO ZERO. 1 INHIBIT RESIDUAL FRAME COUNT ERROR REPORT. UNIT HAS BEEN DROPPED 1 TEST1 SWAP BYTES FLAG tALL UNITS @& EOT FLAG 1ERASE FLAG: DO ERASE AFTER A SPACE REV TO DELETE R :: VFYFLG:: RPTFLG:: .BYTE .BYTE .BYTE O O O tRANDOM EVERYTHING FLAG. lSET DURING WRITE/VERIFY COMMAND. 1PERFORMANCE REPORT HAS BEEN REQUESTED. 1BADLY WRITTEN RECORD. 1 TO 4 ERASES LEAVING tA 3 TO 12 INCH GAP MAY RESWLT, ENDFLG=. i 8 1 CURRENT COMMAND LOGGING COOE. ERROR FLAG AREA, THESE FLAGS ARE CLEARED DURING INITIALIZATION AND AFTER EACH COMMAND IS COMPLETED. € 8 & 1CONTAINS COMMAND WORD BEING EXECUTED PRESENTLY. 1SAVE LOCATION FOR CMD WORD DURING ERROR RECOVERY tCONTAINS PREVOUS COMMAND .WORD .BYTE § §§§§§§§§§§§ .WORD .WORD SEQ 051 ooooooooo§5eog =% ' GLOBAL AREAS M4 STAFLG:: ADDITIONAL FLAGS, THESE FLAGS ARE CLEARED ONLY AFTER BEING CHECKED. .BYTE O 1START FLAG - SET BY INIT CODE IF STARTING. § 650 003527 g§§§§ GLOBAL AREAS GLOBAL DATA SECTION MACRO M1113 N4 30-NOV-83 10:17 PUWRFLG:: .BYTE TRAPD4:: .BYTE MISCFG:: .BYTE TSUNT:: .WMORD O O O O 1POWER FAILURE FLAG - SET ONLY DURING INIT. 1 TRAPED AT 4 FLAG tMISCELLANEOUS FLAG tNUMBER OF THE UNIT UNDER TEST PLUS HSSPEBUF TSNP:: .WORD 3 : OPERATOR FLAG SETTINGS PASSED BY DIAG. SUPERVISOR IN A 16 BIT WORD SEE GLOBAL EQUATES SECTION FOR FLAG BIT LIST OPFLAG: : émm O SEQ 052 0 .roa PRINT OUT UNIT @ ONLY sREAD ONLY OPERATOR FLAG WORD s THE FOLLOWING IS THE COMMAND SEQUENCE TABLE. THE TABLE tHAS DEFAULT VALUES AT PROGRAM LOAD AS SHOWN. THESE VALUES 1CAN BE UPDATED BY A TEST OR BY OPERATOR INPUT. CMDSEQ:: .WORD LWORD MORD LHMORD CMDSE2:: .WORD LMORD LMORD .WORD .WORD .WORD 701 702 703 704 705 706 177777 177777 177777 177777 1777TT°7 LMORD .MWORD .MHORD .WORD .HORD .WORD .WORD .WHORD LWORD .WORD LMHORD LMORD LMORD .WORD .BLKW SEQEND:: .WORD .MORD LMORD .WMORD .MORD 100013 CMDTBL:: 003760 003762 104001 104401 104005 104105 003764 003766 104010 104410 SCH CH.EAI 1 O RWD 1SET CHARACTERISTICS. 1 RANP WRT ' . 1PATTERN. sWRITE. 1 sBYTE COUNT DATCNT s MAX 32000. RANP ROR DATCNT 32000. RANP ROF DATCNT 32000. RANP RWD 1 1 RANP 40. END END END END END LENGTH. 132,000 RECORDS. sRANDOM PATTERN. sREAD REV. tMAX BUFFER LENGTH. 132,000 RECORDS 1RANDOM PATTERN. sREAD FWD. sMAX BUFFER LENGTH. 132,000 RE! 1RANDOM PATTERN. WIND. 1BYTE COUNT, sONCE . .mmm tEXTENSTION TO DOUBLE BUFFER SIZE 1SOFT END OF SEQUENCE TABLE. 1HARD END OF SEQUENCE TABLE. s THE FOLLOWING IS THE TSOS COMMAND TABLE .WORD .WORD .WORD . WORD DRI 1DRIVE INIT. ROR .m REVERSE. ROF WRT .WMORD MTV .MORD .WORD SRF SRR 1READ FORWARD. WRITE nllITE/VEflIFY. C(WRITE ALL RECORDS, RDR AND 1CHECK DATA ON ALL RECORDS, RDF AND 1CHECK DATA ON ALL RECORDS.) 1SPACE “N* RECORDS 1SPACE “N” RECORDS REVERSE. ——— GLOBAL AREAS GLOBAL DATA SECTION 707 003770 MACRO M1113 LMORD .MORD RNR RNF JREAD NEXT REVERSE. x :.. SPACE FWD, READ REVERSE. JREAD NEXT FORWARD. READ FORWARD, SPACE REVERSE. 177777 .MORD JMORD ‘MORD .MORD JMORD JMORD .MORD JMORD JMORD .MORD JMORD JMORD JMORD JWORD MORD 'MORD 'MORD RPR WRR RWD MBR WTM WTR SFF SFR GES ERS UNL CLN SCM DIA P DLY END JREAD PREVIOUS REVERSE. I.E.. READ REVERSE, SPACE FORWARD JMRITE RETRY. 1REWIND, IMESSAGE BUFFER RELEASE IMRITE TAPE MARK JMRITE TAPE MARK RETRY. 1SPACE "N" FILES FORMARD. SPACE “N* FILES REVERSE. 1GET EXTENDED STATUS. 1ERASE 3 INCHES OF TAPE. ’ no UNLOAD. .cum mmzsucs .oxms IC COMMAND. 1 JAMP TO THE NTH COMMAND IN THE SEQUENCE. JDELAY “N* NS, 1END OF COMMAND TABLE JWORD 313 RABRSERR RRRER 123 755 004145 736 112 sREAD PREVIOUS roam ‘1.E., SPACE REVERSE, READ FORWARD THME FOLLOWING TABLE CONTAINS TME ASCII FOR EACH COMMAND. CMOASC:: .ASCII LASCII .ASCII ASCII .ASCII /DRI/ /ROF/ /ROR/ ART/ 1uTV/ ;ORIVE INIT. JREAD FORMARD. sREAD REVERSE. JMRITE JMRITE/VERIFY., LASCII /SRF/ sSPACE "N” RECORDS FORMARD. /SRR/ /RNR/ /RNF/ /RPF/ /RPR/ MR/ /RWD/ /"BR/ /NTW/ /WTR/ /SFF/ /SFR/ /GES/ /ERS/ ZUNL/ /CLN/ "ASCII /SCM/ , 763 004156 RPF ' "ASCII "ASCII \ASCII "ASCII \ASCII \ASCII "ASCII "ASCII JASCII "ASCITI "ASCII \ASCII .ASCIT .ASCII JASCIT "ASCIT 753 004142 760 761 004153 762 . s w + 103401 123401 104 122 122 127 127 738 004150 759 ——— 30-NOV-83 10:17 105001 754 - LASCII /DIA/ ASCII 7049/ 104 114 1351 LASCII /DLY/ 105 116 104 LASCII /END/ sON ALL RECORDS, (MRITE ALL RECORDS, ROR AND CHECK DATA ROF AND CMECK DATA ON ALL RECORDS.) +SPACE "N" RECORDS REVERSE. JREAD NEXT REVERSE. I.E.. SPACE FUD READ REVERSE. sREAD NEXT FORMARD, I.E.. READ FORMARD, SPACE REVERSE. sREAD PREVIOUS F IE.. SPACE REVERSE, READ FORMARD tREAD PREVIOUS REVERSE. IE.. READ REVERSE, SPACE FORMARD JMRITE RETRY. sRENIND., RELEASE JMRITE TAPE MARK JMRITE TAPE MARK RETRY. sSPACE "N FILES FORMARD. SPACE "N* FILES REVERSE. +GET EXTENDED STATUS. : 3 INCHES OF TAPE. .ueunc »o i .a.em SET mmxsucs. WHERE BRF =200 .su TSVOS/TSOSSEE PROGRAMMING srecxrxc&uou roi o:scanmou sOIAGNOSTICS., TSVOS/TSOS PROGRAMMING SPECIF ICATION {FOR DESCRIPTION. ODT MUST BE USED TO LOAD DIAGNOSTIC DATA +INTO THE WRITE BUFFER BEFORE THIS CMD IS ISSUED. 1JUMP TO THE NTH COMMAND IN THE COMMAND 1SE TABLE, WHERE N IS DEFINED IN :THE @ OF OPERATIONS. 1DELAY “N" MS, WMERE N IS DEFINED IN sTHE @ OF OPERATIONS. 1END OF COMMAND SEQUENCE . @ 30-NOV-83 10:17 - SEQ 0S4 [EVEN .SBTTL GLOBAL TEXT SECTION jee + THE GLOBAL TEXT SECTION CONTAINS FORMAT STATEMENTS, + MESSAGES, AND ASCII INFORMATION THAT ARE USED IN + MORE THAN ONE TEST. .-. 3 + FORMAT STATEMENTS USED IN PRINT CALLS ' LNLIST CODELM:: .ASCIZ SWSET:: .ASCIZ .EVEN HALTM:: .ASCIZ CMOPKXM:: .ASCIZ BEX /#NsSAUNIT sD1#A TSOS CODE LEVEL sO3#NsN/ /#NsSAUNIT #D1#A TSOS SWITCH SETTINGS sO3sNsN/ /XXX CMD - TYPE <CR> TO CONTINUE/ /7CMD PACKET ADR NOT ON MODULO 4 BOUNDARY: RELOAD!/ WTVERM:: .ASCIZ /DATA COMPARE ERROR/ NOINTM:: IZ .ASCIZ /FUNCTION REJE /FATAL SUBSYSTEM ERROR/ .ASCIZ /NO INTERRUPT/ IZ /TAPE STATUS ALERT/ ASCIZ /700 MANY INTERRUPTS/ /CAPSTAN ch'&“z' STATUS RESWLTS:/ /RECOVERABLE ERROR/ '\NIT WD19N/ ASCIZ ASCIZ ASCIZ I IZ Ascxg CRLFSP:: g ;- Ascg 5. FATSM:: g FUNRM; . : TOERM:: SCERM : 764 765 766 767 768 769 770 71 772 773 774 175 776 MACRO M1113 GARRe GLOBAL AREAS . GLOBAL DATA SECTION CS /4ARECOVERED ON RE /#ADRIVE wD1s#A OFF LINEwN/ /#AGET STATUS CMD RESULTS:WN/ /78NsABUS TRAP AT #06#N/ /#AINTERFACE BAD OR TSDB NOT SET TO ABOVE ADDRESSHN/ / 0000oTAPE IS WRITE-LOCKED AND WILL CAUSE ERRORSeessn/ .ASCIZ /wNsS?/ LIST BEX ' GLOBAL AREAS MACRO M1113 . GLOBAL ERROR REPORT SECTION 827 828 829 830 831 D5 30-NOV-83 10:17 .SBTTL SEQ 055 GLOBAL ERROR REPORT SECTION goe + THE GLOBAL ERROR REPORT SECTION CONTAINS THE PRINTB AND PRINTX CALLS + THAT ARE USED IN MORE THAN ONE TEST. IT ALSO INCLUDES THE ASCII MESSAGES + THAT ARE USED BY THE PRINTB AND PRINTX CALLS.. .-. BGNMSG DTAERM;; DATERM: :PRINTB OTAERM @STAER1, TSNP ,PASCNTCRS),RECCNT(RS) PRINTB @STAER? MOV MOV MOV JSR MOV MOV MOV MOV RS, TIMEL PC.RECTAP ¢RED RS,RECRED TIMEL, RS TIME2,R4 PRINTE EXIT @STAERG,RECRED MSG 1SAVE R2 1SAVE R3 1SAVE R4 {RETRIEVE RECORD READ {RESTORE R2 1SAVE RECORD READ +RESTORE ns ;RESTORE R4 sPRINT RECORD READ MOV MOV MOV MOV TRAP ADD .EVEN L10002: 104423 STAERM;; 003376 003326 STAERM; :PRINTB MOV MOV MOV MOV Moy MOV TRAP ADD MOV MOV MOV TRAP ADO .WORD necomus).-csn nscmcas). (sP TSNP, -( osuau. (sn 04, -(SP) ) CIPNTB 12,5 #STAER?, -(SP) o1,-(SP) SP.RO CSPNTB #4,5P RECRED, -(SP) OSTAERG, -(SP) 02, -(SP) SP,RO CSPNTB #6,5P JIJMP "WORD L10002-2-. TRAP CSMSG MOV MOV RECCNT(RS), -(SP) PASCNT(RS). -(SP) MOV #STAER], -(SP) STAERM @STAER1, TSNP ,PASCNT(RS),RECCNT(RS) v TSNP, -(SP) | ! | | 012746 010600 104414 062706 000012 012746 012746 000001 000004 174130 177740 PRINTB 8IC DE TST MOV PRINTB S00004 : PRINTX PRINTX 871 006332 000016 174000 173772 173764 006733 PRINTX PRINTX 006366 006372 006376 006412 SEQ 056 MOV MOV TRAP ADD #STAER? MOV MOV MOV TRAP CMOPKT,R2 #177740,R2 :g 300004 PC.RECTAP R3,RECTAP #STAERG ,RECRED SP,RO CIPNTB 012,5P OSTAER7, -(SP) SP,RO C$PNTB #4,5P +IF CMD IS A READ 1 AND 1 THEN RETRIEVE 1 TYPE RECORD READ #STAER2 "ow MOV MOV MOV TRAP ADD O#STAERS,CMOPKT ,8TSDB(RS) ,MSGPKT +MS .RFC, TSSREG,CT OSTAERA ,CMDPKT +2,CMOPKT +4 ,CMDPKT +6 MOV MOV MOV TRAP ADD 33adaaay §3aassasss . GLOBAL ERROR REPORT SECTION ES 30-NOV-83 10:17 RECRED, -(SP) OSTAERG, -(SP) 02, -(SP) CebnTe #6,SP #STAER2, -(SP) SP,RO COPNTX #4,5P SSREG, -(SP) MSGPKT +MS .RFC, -(SP) STSDBCRS), -(SP) CMOPKT , -(SP) OSTAERS, -(SP) SP,RO CIPNTX #16,5P SP, CIPNTX 012,5P #STAERS ,MSGPKT +MS , XSO, MSGPKT +MS, XS1 , MSGPKT +MS . XS2, MSGPKT +MS . XS3 ,MSGPKT +MS . XS 333338 MACRO M1113 (=] (g} ' GLOBAL AREAS MSGPKT +MS . XS4, -(SP) MSGPKT+MS . XS3, -(SP) MSGPKT+MS . XS2, -(SP) MSGPKT+MS . XS1,-(SP) MSGPKT+MS, XS0, -(SP) OSTAERS, -(SP) MACRO M1113 GLOBAL AREAS GLOBAL ERROR REPORT SECTION FS 30-NOV-83 10:17 006416 012746 000006 006422 010600 MOV MOV 06, -(SP) SP,RO 006426 062706 000016 ADD 016,5P 006424 873 006432 006432 104415 & 007066 TRAP EXIT 000167 000432 875 :;g 006436 045 878 006530 04S 879 006562 045 880 006616 045 881 006675 045 882 006733 045 883 006740 045 8384 006745 045 885 006753 045 886 007027 045 887 838 LHORD JMORD 101 101 123 116 117 117 117 117 101 117 130 120 061 045 066 066 066 066 130 066 NLIST STAER1: evsg'x‘z STAER7: .ASCIZ STAER6: .ASCIZ STAER2: .ASCIZ STAERS: .ASCIZ STAERA: .ASCII "ASCII "ASCIZ STAERS: .ASCII JASCIZ LIST -EVEN 007070 el 007070 104423 L10003: ENDMSG :gz .SBTTL GLOBAL SUBROUTINES SECTION O TRAP Py ) THE GLOBAL SUBROUTINES SECTION CONTAINS THE SUBROUTINES 899 e %08 . 900 901 4 :+ THAT ARE USED IN MORE THAN ONE TEST. IROUTINE TO DO A SOFT INITIALIZE OF THE CONTROLLER 905 906 :BY WRITING INTO THE TSSR REGISTER. AFTER THE INIT, ;THE TSSR REGISTER IS TESTED FOR ERRORS. ANY ERRORS gg: B 913 . ggz gg %; 916 917 3{3 920 921 ;DETECTED SHOULD BE TREATED AS DEVICE FATAL ERRORS. s INPUTS ; : RS CURRENT UNIT NUMBER ;OUTPUTS ; 1 : . : RO CARRY CONTENTS OF TSSR, IF ERROR SET IF INIT WAS OKAY CLEAR IF FATAL ERROR § sCALLING SEQUENCE ; JSR JSJMP L10003-2-. ;RECORD READ FROM TAPE 89 :3; COPNTX BEX 78AXXX CMD FAILED - UNIT #D1#S36APASS:s0S#S3SARECORD : SDSEN/ /#APREVIOUS CMD WAS XXX / /#S11sAs RECORD READ:#DS#A o mwxusz-nsansamc-smrssmsmrccw S2%06%S2%06%S 250 18N/ /#06N/ /#068N/ . /#068N/ . /WAXSTOMSAWAXSTI1SSANAXST2USANAXSTSHSANAXSTAUN/ /%068S2806%S 250655250685 2806%N/ BEX .WORD 891 007070 000000 MSG RECRED: 895 SEQ 057 PC,FIRSTU CSMSG . GLOBAL AREAS MACRO M1113 . GLOBAL swaoum:s SECTION G5 30-NOV-83 10:17 922 923 924 ; : ' 927 928 007072 SOFINIT:: 925 926 ! i- JSR B8CS ERRDF PC,SOFINIT CONTINUE SEQ 058 ;REPORT FATAL ERROR 929 930 007072 931 007100 932 007104 933 007110 012775 004767 012703 004767 000000 003574 000550 000070 007116 012727 000250 007124 016727 172766 MOV LSOLY,.CPC)e 005367 001375 005367 001367 005303 001357 017500 010004 177772 DEC BNE DEC BNE -6(PC) . -8 -22(PC) .-20 934 007114 935 007116 007122 007130 007132 007136 007140 007144 936 007146 937 007150 938 007152 939 007156 940 007160 941 007164 942 007170 943 007172 944 007174 945 007176 946 007200 m 007202 103416 000000 000000 042708 052704 020400 001402 000241 000401 000261 002524 24: MOV JSR MOV JSR 8CS DELAY 1 (SAVREG) SAVE THE REGISTERS s DO THE INIT. sWAIT FOR UNIT TO BE READY #0,8TSSR(RS) PC,WSSR 0360, ,R3 PC,MAITF : WAIT FOR SSR 3¢ 250 MOV .MORD L.MORD 177756 002524 38: 176277 002200 959 R3S 24 otssa(as> RO RO,R e BEQ cLC BR SEC R4,RO 5% 8IC BIS S8 108 000207 DEC BNE MOV MOV RTS 0'C<TS A17!TS.A16!TS. on.».m #TS.SSR!TS.NBA,R4 R4 MAS EXPECTED CONTENTS 1ONLY EXPECTED BITS SET ? 1BRANCH IF OKAY ;CLEAR THE CARRY FOR ERROR 160 TO EXIT 1SET THE CARRY BIT 10 PC ;RETURN TO CALLER ] + SUBROUTINE TO WAIT FOR THE SUBSYSTEM READY FLAG gssg H 1 INPUTS 954 955 b :ss; ;OUTPUTS ; 959 960 K 3 3 3 956 ; ' ?’3 i 104422 012746 017500 967 007220 100420 968 007222 007222 RS RO CARRY CURRENT UNIT NUMBER CONTENTS OF LAST TSSR READ SET - READY BIT SET CLR - TIMEOUT WAITING FOR READY § 964 007206 965 007212 966 007216 O 1GET THE TSSR REGISTER 1 TSSR CONTENTS 3552 963 007204 007204 #250,(PC)+ O 105700 012727 WAITF:: BREAK 005670 002524 FIT) MOV MOV 3000., -(SP) tssa(as).ao + 300 MSEC TIMER. tREAD THE TSSR REGISTER 38 + EXIT ON STOP FLAG. 1STE RO DELAY 25 BMI 000025 + DO A SUPVSR BREAK FIRST, TRAP C$BRK MOV 025,(PC). s TEST FOR READY BIT SET + WAIT , MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 007226 007230 000000 016727 000000 005367 001375 30- NOV-83 10:17 SEQ 059 .WORD O .MORD O 172662 MOV 177772 DEC BNE DEC BNE 177756 3: as: DEC BNE cLC BR SEC DEC (SP) 24 44 '('CSP)O LSOLY,(PC)e. 1REDUCE DELAY COUNT tRETRY UNTIL TIMER EXPIRES 3+ C = 0, CONTROLLER STILL RUNNING... 1...0R HUNG-UP AFTER 300 MSEC. 3 C = 1, CONTROLLER IS STOPPED. .aesroae STACK WITHOUT CHANGING CARRY BIT .0 § ;ROUTINE TO ISSUE A WRITE CHARACTERISTICS COMMAND AND CHECK FEATURES ' 1 INPUT: R4 RS ADDRESS OF COMMAND PACKET CURRENT UNIT NUMBER RO TSSR CONTENTS REQUIRES A CALL TO SOFINIT BE DONE PREVIOUSLY OUTPUT: CARRY SET - WRITE CHARACTERISTICS COMMAND OK CLR - WRITE CHARACTERISTICS FAILED IMPLICIT OUTPUT: SOFTWARE SWITCHES SET AS FOLLOWS: EXTFEA = EXTENDED FEATURES PRESENT BENBSW = BUFFER ENABLE SWITCH ON OR OFF SIDE EFFECTS: '- 1007 007270 1008 007270 1009 007274 1010 007300 1011 007302 1012 007304 1013 007306 1014 007310 1015 007312 1016 007320 1017 007322 1018 007326 WRTCHK :: 108: 002514 177704 408; 000200 172774 000012 454 MOV JSR B8CS BR R4 ,8TSDB(RS) PC.MAITF 404 604 1SEND OUT COMMAND sWAIT FOR SSR 1BR, IF SSR IS SET AND OK 1BR IF TROUBLE CARRY = CLEAR MOV MOV BIT BEQ INC (R4),R2 (R2),R3 X2 .EFE ,MS.XS2(R3) 454 EXTFEA 1POINT TO WRT CHARA DATA PACKET 1GET ADDRESS OF MESSAGE BUFFER 1EXTENDED FEATURES BIT SET? 1BR IF NO 1SET EXTENDED FEATURES SW SWITCH TST (R4). -6(PC) . -4 -22(PC) .-20 1STEP IV — | - HS D GLM AREAS e ——— MACRO M1113 OBAL SUBROUTINES SECTION 1019 007326 1020 007334 1021 007336 1022 007342 1023 007342 1024 007344 1025 007346 032763 001402 005267 000100 172762 30-NOV-83 10:17 BIT BEQ INC #X2.BFE ,MS.XS2(R3) S04 BENBSW SEC BR CcLC 704 000012 206 t S55¢: 604: 70%: 1026 007350 1027 007354 1028 1029 1030 1031 1032 IS5 MOV RTS 8TSSR(RS),RO PC SEQ 060 1BUFFER ENABLE SWITCH SET 1BR, IF SWITCH NOT SET 1SET SOFTWARE SWITCH FOR ENABLED 1SET CARRY NO TROUBLE $EXIT 1CARRY CLEAR = ERROR tRETURN TSSR CONTENTS tRETURN R ; tROUTINE TO CHECK WRITE LOCK CONDITION : 1 INPUT: . [l : : R4 ADDRESS OF COMMAND PACKET MOV JSR B8CS ER TST MOV MOV BIT R4 ,8TSDB(RS) PC,WAITF 404 60¢ (R4). (R4),.R2 (R2),.R3 X0 .WLK,MS . XSO(RS) RS [ CURRENT UNIT NUMBER '- 1042 007366 1043 007370 1044 007372 1045 007374 1046 007376 1047 007400 1048 007406 1049 007410 007410 007412 007414 007416 1050 007420 1051 007424 002514 177616 WLKCHK :¢ 10¢: 408: BEQ ERRMRD JSR 007554 -1 BR PC,DROPV 60¢ BR 708 RTS PC SEC gg:: : 55¢ 1,UNIWLK cLC 1SEND OUT tWAIT FOR SSR 1BR, IF SSR IS SET AND OK 1BR IF TROUBLE CARRY = CLEAR cSTEP I7 stPOINT TO WRT CHARA DATA PACKET 1GET ADDRESS OF MESSAGE BUFFER uIS UNIT WRITE LOCKED? sNO,PROCEED WITH TESTING lTAPE IS WRITE LOCKED 1OROP IT aEXIT WITH CARRY=0 1SET CARRY NO TROUBLE 1EXIT 1CARRY CLEAR = ERROR tRETURN R :RWTI'E TO ISSUE A WRITE CHARACTERISTICS COMMAND : s INPUT; : : 3 R4 ADDRESS OF COMMAND PACKET RS CURRENT UNIT NUMBER RO TSSR CONTENTS REQUIRES A CALL TO SOFINIT BE DONE PREVIOUSLY 3 sOUTPUT; 3 ' TRAP LMORD WORD .MORD CS$ERHRD 1 UNIWLK O MACRO M1113 GLOBAL AREAS GL OBAL SUBROUTINES SECTION 30-NOV-83 10:17 CARRY 1072 1073 1074 1075 1076 1077 1078 1079 JS SEQ 061 SET - WRITE CHARACTERISTICS COMMAND OK CLR - WRITE CHARACTERISTICS FAILED IMPLICIT OUTPUT: +SIDE EFFECTS: & b . = 002514 177536 WRTCHR: : 104: 208 MOV JSR 8CS BR : 604 : 708: SEC BR CcLC MOV RTS R4 ,8TSDB(RS) PC,WAITF S0¢ 604 1SEND OUT COMMAND sWAIT FOR SSR 1BR, IF SSR IS SET AND OKX 1BR IF TROUBLE CARRY = CLEAR +SET_CARRY NO TROUBLE 1EXIT 1CARRY CLEAR = ERROR tRETURN TSSR CONTENTS tRETURN 704 8TSSR(RS),RO PC 3 8 sROUTINE TO DO SET UP OF RUNNING CONDITIONS :DPUIS: : ] RS CURRENT UNIT NUMBER ] ;OUTPUTS $ ;CALLING SE 1113 1114 1115 1116 1117 1118 007466 007466 1119 007470 1120 007474 1121 007500 1122 007502 007502 007506 007510 007514 007516 : 3 ' : JSR 8CS ERROF JSR : PC,.FIRSTY PC,SOF INIT CONT PC,MDSET ;REPORT FATAL ERROR ] '. 104422 004767 004767 103416 012727 000000 016727 000000 005367 MDSET:: BREAK 000272 177656 000001 172402 177772 JSR JSR BCS DELAY : DO A SUPVSR BREAK rms;é"w PC, SETDEF PC, WLKCHK 14 1 tRESTORE DEFAULT 1CHECK WRITE LOCK 1C=1 IS 0.K. JWAIT MOV .WORD MOV . WORD DEC C$BRK -6(PC) MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 001375 005367 001367 IKS 30-NOV-83 10:17 SEQ 062 “ 177756 1BREAK TO SUPER 104422 104444 005767 001064 004767 100 CLEAN AND ABORT 000216 177514 172540 172526 1136 007606 1137 007612 1138 007614 1139 007620 1140 007622 1141 007630 1142 007634 1143 007636 1144 007642 1145 007646 1146 007652 1147 007654 1148 007660 1149 007662 1150 007670 1151 007674 1152 007676 1153 007702 1154 007706 1155 007712 1156 1157 007714 1158 1159 007722 1160 1161 1162 1163 1s: 172550 TST BNE 173742 24: JSR 172476 38: TST 'R JSR S¢: TST 172434 177524 016767 173612 172562 1 INVERT THE SWITCH sNOW SET THE MODES 100 IT 68: JSR 10¢: MOV TSUNT,SCHBK +10 1AND UNIT ¢ 11¢: RTS PC tRETURN 13 + SUBROUTINE TO INVERT SENSE OF EXT'D FEATURES SWITCH 8 ' sOUTPUTS: 140006 CS$OCLN 1RUN WITH READ BUFFERING? s1NO 1YES SET THE BITS u% WE SET? 3 000207 012767 TRAP tRUN WITH WRITE BUFFERING? s1NO sYES SET THE BITS sARE WE SET? s YES s INVERT THE SWITCH sNOW SET THE MODES 100 IT 1 INPUTS: 1173 007724 1174 007724 C$BRK 100 IT 173642 000022 004767 000403 TRAP s INVERT THE SWITCH sNOW SET THE MODES 173702 177564 172426 -22(PC) .-20 1 YES 000122 000160 177624 000030 172466 tRUN IN DEFAULT MODE? 1 YES,RETURN tRESTORE DEFAULTY 1GO DO SWITCH CHECK 100 WE RUN AT 100IPS? sNO sYES,SET THE BIT sARE WE SET? 172376 INVRT:: OWSM,CMDPKT+CP.CMD 1WRT SUB-SYS MEM .-‘ DEC BNE MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 1175 007732 1176 007740 1177 007746 1178 007754 1179 007760 1180 007764 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 010034 010034 1208 010034 012767 012767 012767 012704 004767 000207 002506 000006 100010 002330 177452 LS 30-NOV-83 10:17 172372 172370 172532 SEQ 063 SUSMBK , CMDPKT +CP . ADL 1MSG BUF ADDR 9100010, WSMBK 1 INVERT THE SWITCH #6,CMOPKT +CP .CNT OCMOPKT R4 PC,WRTCHR 1BYTE COUNT s 100 IT PC 1RETURN SETUP DEFAULT SET CHAR CMD ADDRESS OF COMMAND PACKET 012701 010167 012767 012767 012767 016767 012704 000207 #SCH,R1 tWRITE CHAR CMD #SCHBK , CMDPKT +CP ., ADL 1SET UP ADR LO TO POINT TO MSG BUF (MSGPKO) R1,CMOPKT+CP.CMD @SCHONT ,CMOPKT+CP.CNT QOFTSCH, SCHBK +6 TSUNT,SCHBK +10 OCMOPKT R4 1SET UP COMMAND ;SET BUFFER EXTENT 1STORE CHARACTERISTIC CODE IN SCH BLOCK. tUNIT ¢ +ADDRESS OF CMD PACKET tRETURN TO HANDLE TSOS INTERRUPTS. 173432 TSSINO:: L10004 173426 TSSIN1:: L1000S: 173422 TSSIN2:: L10006: 173416 TSSINS:: BGNSRV ENDSRV TSSINO INTFLG 1SET INTERRUPT OCCURRED FLAG. RTI BGNSRYV TSSINL INC ENDSRYV INTFLG+2 1SET INTERRUPT OCCURRED FLAG. RTI BGNSRY TSSIN2 INC ENDSRV INTFLG+4 1SET INTERRUPT OCCURRED FLAG. RTI TSSINS INC ENDSRV INTFLG+6 1SET INTERRUPT OCCURRED FLAG. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 010062 o 010062 1223 ! 1227 1228 : : 1232 010074 1233 010100 1234 010104 1235 010110 1236 010112 1237 010114 1238 010116 1239 010122 1240 010124 1241 010126 1242 010132 % 010134 1245 010136 1246 010136 1247 010140 2248 010144 1249 010146 1250 010150 1251 010150 1252 010152 1253 010152 1254 010154 1255 010154 1257 010160 % 010160 p : ! 032767 001430 000400 016702 066702 032702 001417 172260 173304 000001 142703 000303 005302 105767 001401 005302 177400 005202 111203 111204 142704 050403 000401 173326 177400 500024 : S0004$ : 173230 S00014: S0005¢: 000207 SUBROUTINE TO RETRIEVE RECORD COUNT READ FROM TAPE FOR ERROR PRINTS. INPUTS: OUTPUTS: REGISTERS: CALLS: RS = RECMD COUNT READ R2, R #M00.CO0,CMDWRD 500014 sREAD REV FETCH MOV ADD BIT BEQ MSGPKT+MS.RFC,R2 DATARD ,R2 #B8ITO00,R2 500024 B8ICB SKWAB DEC TST8 BEQ DEC #177400,R3 R3 R2 SWBFLG S0003¢ e INC MOVB S0003$: 000402 RTI RECTAP::BIT BEQ 173366 011203 017703 SEQ 064 L10007: 000002 1224 1225 1226 1230 010064 1231 010072 M5 30-NOV-83 10:17 MOV8 Re (R2),.R3 #177400,R4 R4 ,R3 MOV (R2).R3 B8R S0005¢ MOV S8DATARD,R3 RTS PC 10DD AD., REASSEMBLE tREC COUNT STARTING sWITH UPPER BYTE FETCH _ sLET R2 := R2 - 01 1IFB SWBFLG NE €0 THEN ;LOWER BYTE AD. iLET R2 := R2 - 01 (R2).R4 BICB BIS BR 1FIND LAST READ AD. sLOWER BYTE AD. ON SWAP tFETCH LOWER BYTE sLET R3 := (R2) sEVEN AD. FETCH tLET R3 := S8DATARD 1260 1261 1l s SUBROUTINE TO STORE A SET CHARACTERISTIC COMMAND AS THE FIRST ENTRY IN THE SEQUENCE T 1263 1264 1265 p : : OUTPUTS: REGISTERS: CALLS: 1262 1266 1267 010162 1268 010162 1269 010166 1270 010172 1271 010176 1272 010202 g;i 010204 1275 1276 : 012701 012721 012721 012721 005721 000207 003540 140004 000040 000001 SETCH:: ' 3 ;READ FWD FETCH INPUTS: MOV MOV MOV MOV TST RTS PC #CMDSEQ,R1 #SCH,(R1)+. ®OFTSCH,(R1)» 1,(R1)e (R1)» sINIT CMD SEQUENCE TABLE POINTER. 1 THIS CODE SETS UP A SET CHARACTERISTIC 1COMMAND AS THE FIRST COMMAND IN THE 1SEQUENCE TABLE. 1SKIP PATTERN LOCATION. SUBROUTINE TO STORE A REWIND COMMAND IN THE SEQUENCE TABLE INPUTS: GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 30-NOV-83 10:17 1277 ' 1278 1279 H ! 1281 010206 1282 010212 012721 012721 1284 010222 005721 1283 010216 gg 010224 012721 N5 102010 000001 000001 OUTPUTS: REGISTERS: CALLS: SETRM:: MOV MOV MOV TST 000207 SEQ 065 RTS ORWD,(R1)+ #1,(R1) 1CMD = REWIND. 1BRF, 19 OF OPERATIONS. #1,(R1)e (R1)+ 1SKIP PATTERN. PC tRETURN 1287 1288 1289 1290 ! : : : SUBROUTINE TO EXECUTE ALL COMMANDS IN THE SEQUENCE TABLE ON ALL DEVICES. INPUTS: OUTPUTS : R2 = TERMINATION INDICATOR (O=END OF TABLE,1=EOT) 1‘% ' CALLS: 1291 : REGISTERS: CMDAC, SETUP ,EXSUB , CKHAE ,NEXTU,FIRSTU,VFYDAT . 1294 010226 012701 003540 EXALL:: MOV #CMDSEQ,R1 1INIT SEQUENCE TABLE POINTER. 1296 010232 1297 010236 1298 010240 021127 00 004767 177777 cHP BEQ JSR (R1),4END S00074¢ PC,.SETUP sWHILE THERE ARE CMDS IN THE SEQUENCE TABLE. cHP BGE JSR TST8 NCNT ,NCNT1 S00114 PC, 1295 010232 1299 010244 010244 1300 010246 1301 010254 1302 010256 1303 010262 1304 010266 1305 010270 1306 010276 1307 010300 1308 010304 1309 010306 1310 010314 1311 010322 1312 010330 1313 010336 1314 010344 {g{g 010346 1317 010354 {g“ 010354 104422 026767 002116 004767 105767 001435 026727 001031 105767 001026 066767 S00068: . 000726 173140 S00104: BREAK 173140 173227 173124 104005 173212 046767 026727 002003 012767 173122 173112 173106 173074 173054 173116 173112 173066 173060 000022 000022 173042 016767 173036 171754 066767 016767 S0015¢: 133%0 010362 500144 : 1322 010362 1323 1324 010362 1325 010362 1326 010366 S0013¢: 004767 004767 000136 007106 iggg 010376 004767 006500 1327 010372 1330 010402 1331 010402 1332 010410 012702 026527 001426 S$0012¢: 000001 002604 177777 S00164: s DO A SUPVSR BREAK FIRST. TRAP sWHILE THERE ARE RECORDS REMAINING: C$BRK 1STORE CMD ASCII IN ERROR MESSAGE. sIF IN RANDOM MODE: BEQ cHP BNE 7ST8 BNE ADD ADD MOV BIC cP BGE MOV +RT S0013¢ VF S00144¢ RANS ,RANB KANB , RANS RANS ,BRFCNT LENMSK ,BRFCNT BRFCNT ,#18. S001S5¢ #18. ,BRFCNT MOV BRFCNT ,CMDPKT +CP.CNT 1MOVE BRF TO CMD PACKET. JSR JSR PC.EXSUB +CKHAE 1ISSUE CMD TO ALL ,AWAIT INTS C"ECK STATUS. C"ECK HALT AFTER EACH CMD F JSR PC,FIRSTY cHP BEQ DEVTBL(RS),#END S0017¢ MOV S0012¢ 1GO SETUP THE COMMAND BLOCK #1,R2 sIF CMD IS A WRITE THEN: +IF DATA IS NOT TO BE VERIFIED THEN: tLEY RANB := RANB ¢+ RANS sLET RANS := RANS ¢+ RANB sLET BRFCNT := RANS ;GENERATE ;RANDOM sLENGTH 1MASK RANDOM LENGTH. 100 NOT ALLOW BYTE COUNT OF LESS THAN 18 sCHANGE COUNT OF 0-17 TO 18. tLET R2 : 1SET ALL WITS AT BOT/EOT. lFIw FIRST UNIT. sWHILE THERE ARE MORE UNITS: : e MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 1333 010412 o — B6 30-NOV-83 10:17 000400 173000 000002 003302 003502 BIT %EO.M BNE CLR 300214 R2 BR 300224 BEQ 8IT 500214 000001 ———————— —— S00204; 172744 BIT +IF CMD IS REVERSE THEN: 500 #X0.80T,EOTFLG(RS) 1 IF NOT AT BOT THEN: 1ILET R2 := #0 ;CLEAR EOT/BOT FLAG. 1ELSE IF CMD IS NOT REVERSE: #X0.EOT ,EOTFLG(RS) BEQ 500234 CLR R2 BIT BNE SEQ 066 #CMD . CO, CMDWRD 50024¢ +IF NOT AT EOT OR NOT A MOTION CMD THEN: JCLEAR EOT/BOT FLAG. 500244: 004767 000746 1357 010472 {33. 010474 359 1360 010476 1361 010476 1362 010502 1363 1364 010510 1365 010512 1366 010512 1367 1368 1369 010516 1370 010520 1371 010520 1372 010522 1373 1374 1373 1376 1377 020227 001001 000412 0035267 016767 172710 172712 172714 000655 004767 JSR B8R S0017¢: e BNE B8R PC NEXTU $00164 R2,01 500254 EXARTN INC MOV B8R S50011¢4: JSR NCNT sLET NCNT := NCNT » 01 JUPDATE RECORD COUNT. CMOMRD , PCMOMD sSAVE PREVIOUS COMMAND WORD. $00104 PC,VFYDAT +IF LAST CMD WAS A WRITE VERIFY, THEN GO S00074: 005002 000207 B8R CLR EXARTN: RTS PC +IF ALL UNIT ARE AT EOT/BOT THEN: JRETURN WITH R2 = 01. JVERIFY THE LAST N RECORDS OF DATA. $0006 R2 JLET R2 := @0 ;SET NORMAL RETURN INDICATOR. JRETURN. SUBROUTINE TO ISSUE COMMAND TO ALL DEVICES, WAIT FOR ALL INTERRUPTS, AND CHECK ALL STATUS. INPUTS: OUTPUTS: REGISTERS: CALLS: 004767 1389 010550 JFIND NEXT UNIT 026527 001463 032767 001421 032765 006352 17 000400 172652 000002 003502 EXCUTE ,GOWAIT ,NEXTU,FIRSTU. JSR PC.FIRSTY 1SET UP FOR FIRST UNIT. cp BEQ DEVTBL(RS), #END 500274 tWHILE THERE ARE MORE DEVICES: :é; BIT ungoc.:o.cm 1IF CMD IS REVERSE THEN: #X0.80T,EOTFLG(RS) 1 IF NOT AT BOTY 500 MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 1390 010356 1391 010560 1392 010566 1393 1394 1395 1396 1397 000001 30-NOV-83 10:17 300314 #X0.EOT ,EOTFLG(RS) 500324 003502 ;Logggz 172730 010570 010574 010576 PC.EXCUTE 001252 S00334¢: 010602 500344 500324 : 001244 1BUT IF AT EOT tAND ALL OTHERS AT EOT 1 IF NOT THEN EXECUTE REV CMD ALL AT EOT, FREEZE UNIT(S) AT EOT 1 IF NOT AT BOT AND PC.EXCUTE tNOT AT EOT, EXEC REV CMD 500354 1ELSE IF CMD IS NOT REVERSE: S00344: S00314: 1409 010622 1410 010630 1411 1412 010632 1413 010640 1414 1415 010644 1416 010644 1417 010652 1418 010654 1419 010662 1420 010664 1421 1422 010664 1423 1424 010670 1425 010672 1426 010672 1427 010676 1428 010700 1429 {432 010704 1432 010704 14 33 1434 010704 1435 010704 1436 1437 010710 1438 010712 1439 010712 1440 010716 1441 010720 1442 010724 026727 001011 032767 001003 172536 004767 8IT BEQ BIT S50037¢: 172626 004767 001150 S0040¢: sCLEAR BAD SPOT COUNTS WHEN WRITING FROM BOT sLET BTPT := BTADDR(RS) iLET @BTPT := &0 #X0.EOT ,EOTFLG(RS) S0037¢ *CMD.CO,CMDURD S0040¢ PC.EXCUTE 001164 105767 500364 ;383207+EOTFLG(RS) BTADDR(RS),.BTPT 8BTPT 172652 003502 +IF NOT AT EOT OR NOT A MOTION CMD THEN: 1ISSUE CMD TO TSOS S0041¢ ALLEOT S00424 PC.EXCUTE 1IFB ALLEOT NE #0 THEN S00424; S00414; S00354: 004767 000707 105767 001403 105067 104424 1444 010726 004767 1445 010732 002616 172646 #2 CMDLG, 8IT 8EQ 003502 032765 010724 1443 010726 172610 001405 016367 005077 S00304 : 172601 500274 S00434; 500444; sFIND NEXT UNIT IN TEST CYCLE. 500264 ”Wls.(.; RPTFLG 172573 006150 PC.NEXTV PC.FIRSTY 1IF REPORT HAS BEEN REQUESTED THEN: 1ICLR THE FLAG, 1PRINT THE PERFORMANCE REPORT. 1SET UP FOR FIRST UNIT. TRAP CSDRPT - e e 2 MACRO M1113 - GLOBAL AREAS GLOBAL SUBROUTINES SECTION 1446 010732 1447 010740 026527 001450 1449 010750 001421 30-NOV-83 10:17 002604 177777 032767 000400 172450 1450 010752 032765 000002 003502 1452 010762 032765 000001 003502 1454 010772 1455 010776 1456 011000 105767 001402 004767 172526 1448 010742 1451 010760 1453 010770 1457 1458 011004 1459 1460 011004 1461 011006 1462 011006 001014 001406 1469 011014 1470 011014 1471 011022 1472 011024 1473 011032 1474 011034 1475 000402 004767 500464 BNE S0047¢ BEQ S00504 8IT BIT S00504 : 001352 S0047s;: 000420 032765 000001 003502 032767 000001 172366 001404 001003 004767 1478 011040 1479 011042 1480 011042 1481 011046 {fi 011050 000405 105767 001402 004767 &M0D . CO,CMDWRD +IF CMD IS REVERSE THEN: 0. IOT EOTFLGCRS) ;IF NOT AT BOT #X0.EOT ,EOTFLG(RS) 1ST8 BEQ JSR ALLEOT S0051¢ PC,.GOMWAIT BFR S00524 JSR PC,.GOMAIT BR S0053¢ I 1BUT IF AT EOT sAND ALL OTHERS AT EOT s THEN WAIT FOR CMD END sIF NOT ALL AT EOT, DO NOT WAIT . { sNOT AT BOT, AND NOT AT EOT sWAIT FOR INT,CHECK STAT S00464: 001324 S00554 001310 ®X0.EOT ,EOTFLGCRS) BEQ S0054 ¢ BNE S00SSs JSR PC.GOMAIT BR S0056¢ TST8 BEQ JSR ALLEOT S0057¢ PC.GOWAIT JSR PC.NEXTV BR S0044¢ RTS PC BIT S00544: 172456 BIT sELSE IF CMD IS FORWARD: oCMD.CO,CMDUWRD sIF NOT AT EOT OR NOT A MOTION CMD THEN: sWAIT FOR INT,CHECK STATUS. 1IFB ALLEOT NE #0 THEN S00574: S00564: i:g 011054 004767 1491 011060 1492 011062 {::2 011062 000724 006070 000207 1495 1496 1497 1498 1899 1500 S00534: S00454 [l B ' § § g 8 1501 1502 Bl - BEQ sWHILE THERE ARE MORE DEVICES: 500524: {:7? 011034 1484 011054 1485 1486 011054 1487 1488 011054 DEVTBL(RS), #END S00454¢ SEQ 068 S00514: 1466 1467 011012 cHP BEQ BIT 001360 1464 011012 1468 011012 D6 ———- ——————— — S——— 1sFIND NEXT UNIT IN TEST CYCLE. sRETURN. THIS SUBROUTINE STORES THE ASCII FOR THE CURRENT COMMAND AND PREVIOUS COMMAND IN THE STANDARD ERROR MESSAGE. ON ENTRY LOCATION CMDWRD CONTAINS CURRENT CMD AND LOCATION PCMDWD CONTAINS PREVIOUS CMD. INPUTS: OUTPUTS: REGISTERS: RS, R4, CALLS: GCMDA MACRO M1113 - GLOBAL AREAS - GLOBAL SUBROUTINES SECTION 1503 011064 016704 172330 CMDAC:: MOV 1505 011074 112367 175340 MOV 1507 011104 111367 175332 1508 011110 016704 172310 MOVB MOV 1511 011124 1512 011130 MOVB MOVB 1504 011070 004767 000042 1506 011100 112367 175338 1509 011114 004767 000016 1510 011120 112367 175430 g{z 011134 112367 111367 7 175425 175422 1515 1516 1517 : : 1518 1519 1520 {ssg 1523 011136 1524 011140 : : : : 005003 1525 011140 1526 011144 1527 011146 1528 011152 026304 003752 001403 062703 000002 000772 1530 011154 1531 011156 1532 011160 1533 011162 1534 011164 {3332 011170 010304 006203 000240 060403 062703 004040 000207 1529 011154 ggz 3%3';2 MOVE (R3)+,.STAER1+3 ' (RS)+,STAER1+2 (R3), snsam JSR MOV8 ccrdn cai)..snemoza RTS PC (R3)e+.STAER7+25 (R3),STAER7+26 INPUTS OUTPUTS: REGISTERS: CALLS: NOP ADD ADD RTS RS,R4 LET R4 ;= RS RS R4,RS OCMDOASC,R3 PC e BNE MOV CMOPKT , 0WTM $00624 #2,CMOLG .ngv 172150 $00624: +INTO MSG. JRETURN. GO EXECUTE NEXT FUNCTION. +INIT CMD TBL POINTER. CMOTBLCRS),R4 JUNTIL CURRENT CMD IS FOUND: S00614 #2,R3 JLET RS ;= RS + #2 sSEARCH CMD TABLE. S0060 R2,R3 oCMD.C3,R3 2¢ 100011 24: « PREVIOUS CMD BINARY. JGET CMD' ASCII sMOVE CMD ASCII sPOINT TO ASCII FOR THAT COMMAND JRETURN. THIS SUBROUTINE LOADS THE TSOS COMMAND PACKET FROM ONE ENTRY IN THE SEQUENCE TABLE. INPUTS: OUTPUTS REGISTERS: R2, RS. CALLS: GENPAT . MOV MOV 171074 1 INTO nsc RS;LET RS := 90 MOV 8IC MOV suB BNE 011167 JMOVE CMD ASCII R4 = PRESENT COMMAND WORD. RS = ADDRESS OF PRESENT COMMAND ASCII. 016702 171112 042702 177740 010203 162703 000010 001003 171130 172204 /R4 = CMD BINARY. SUBROUTINE TO FIND THE ASCII EQUIVILENT OF THE COMMAND IN R4. ADDRESS OF ASCII 1ST WORD IS RETURNED IN RS. SETUP:: CLR MOV 1555 011240 026727 171064 1556 011246 001003 {ggz 011250 012767 000002 1559 011256 sGET CMD ASCII. 172230 171126 1546 011202 011167 1547 011206 011167 1548 011212 1549 011216 1550 011222 1551 011224 1552 011230 CMOMRD,R4;LET R4 ;= CMOWRD PC,GCMOA ce 8EQ ADD B8R S00614: MOV ASR ' ' : ' SEQ 069 JSR GCMDA:: CLR S00604: 1537 1538 1539 1540 1541 {ag 1544 011172 005067 1545 011176 012167 E6 30-NOV-83 10:17 CMOLG (R1)+ ,CMOPKT JCLR CMD LOGGING CODECDISABLES LOGGING) ;LOAD THE COMMAND WORD. CMOPKT ,R2 oD 6, R2 :GET OMD. sCLR ALL BUT CMD BITS. 1SAVE IT TWICE. 1POSITION COMMAND? 18R IF NOT. CR1),CMOPKT +CP.ONT (R1).BRFCNT gl.u).mr.a sLOAD THE BYTE/RECORD/FILE COUNT. 1SAVE BRF FOR THIS COMMAND. tMOVE BPCR IN 2ND PKT WORD FOR POSITION CMD. +IF CMD IS A WRITE TAPE MARK THEN: +WTM LOGGING CODE IS 2. 1566 011304 1567 1568 011312 1569 011314 1570 011314 1571 1572 011322 1573 011322 1574 011324 1575 011326 1576 011332 1577 011334 1578 011342 1579 011350 172116 000400 171036 171026 012767 172104 1%: 170770 170766 171122 44 000006 1585 011374 1586 011402 1587 011410 1588 011412 1589 011416 1590 011422 1591 011426 1592 011430 1593 011434 000020 003406 1610 011530 1611 011532 1612 1613 011540 1614 011540 1615 011546 1616 011554 170734 170722 171776 171770 172020 3¢: 000005 171744 000106 1596 011450 1597 011456 1598 011464 1599 011466 1600 011474 1601 1602 011502 1603 011504 1604 011504 1605 1606 011510 S00634: S0064 4: 002474 12 171126 172152 170666 000002 000100 171750 170644 000001 000100 172022 170626 S4¢: 172006 016767 016767 171704 170606 171770 171706 171674 010000 170570 004000 170556 170562 171646 R2,R3 BNE 1 MOV BIT 172114 000403 83 000001 500664 : DATARD,CMOPKT +CP . ADL #M00D.CO,CHMOPKT BEQ MOV 500634 50064¢ 34 R2,R3 oCMD.C2.R3 8IS S00674: O?O.CO.RS 2853 §§§§§§E§§§3§§§§¥§§’§§§§¥§§5 1563 011266 1564 011274 1565 011302 o1 16270 001017 016767 032767 001404 012767 - 1560 011236 1561 011260 1562 011264 30-NOV-83 10:17 3 2 B MACRO M1113 (2] GLOBAL ARE . GLOBAL WMS SECTION @ - F6 8IC MOV SEQ 070 +IS IT A READ? 1BR IF NOT. +IF SO, LOAD THE BUFFER ADDR. +IF CMD IS A READ REV THEN: 4 1LOGGING CODE IS 1ELSE- IF CMD IS A READ FWD: #4,CMDLG #6,CMOLG 1LOGGING CODE IS 6. 4 #SCHBK,CMDPKT +CP . ADL @SCHCNT, CMDPKT +CP . ONT (nn SCHBK +6 SUNT, SCHBK +10 R2,R3 ;t.:m.cucm.cz.as QOIACNT ,CMDPKT+CP.CNT ”I)&K.WKTO@.“ lA SET CHARACTERISTICS CMD? 1BR IF NOT, 1SET UP ADR LO FOR SET CHAR. $1SET BUFFER EXTENT 1STORE CHARACTERISTIC CODE IN SCH BLOCK. I |CoNT oIS IT tA DIAGNOSTIC (DIA) CMD? 1BR IF NOT. 1LOAD BUFFER EXTENT. tLOAD BUFFER ADR LOM. lPOINT TO N (NUMBER OF TIMES TO EXECUTE THIS INS SAVE NUMBER OF OPERATIONS CLEM OPERATION COUNTER. +R3 m Co!CMD.C2,R3 DATM MYOCP ADL GENPAT #2,CMDLG . OVFY .C,CHOPKT 500654 #1,VFYFLG OVFY.C,CMOPKT ¢ 30066 a.;uswgtnnm CODE FOR CURRENT CMD. 3 1A WRITE? 1IBR_IF NOT. le WRITE BUFFER LO ORDER. 1G0 GENERATE THE WRITE PATTERN. llRITE LOGGING CODE IS 2. +IF DATA VERIFICATION IS REQUIRED: 1SET VERIFY FLAG. 1CLEAR VERIFY BIT(NOT USED BY HARDMWARE). +IF DATA VERIFICATION IS NOT REQUIRED: VFYFLG tCLR VERIFY FLAG. CMOWROD , PCMOWOD CMOPKT, CMDWRD SWBFLG 1SAVE PREVIOUS C'D WORD. 1SAVE PRESENT CMD WORD 1IF SWAP BYTES IS ENABLED: 500674 oS48 .C,CMOPKT #8RF ,C,CMOPKT ’CCMT.CPDSAV 1SET SWAP BIT IN COMMAND. 1CLR BRF BIT (INTERNAL ONLY). 1SAVE 1ST WORD OF COMMAND PACKET. tRETURN, ' GLOBAL AREAS MACRO M1113 - GLOBAL SUBROUTINES SECTION 1617 1618 1619 & 3 ] 1620 1621 1622 : ; § 1623 1624 1625 011556 1626 011562 1627 011564 1628 011570 1629 011572 1640 1641 1642 1643 1644 1645 1646 1647 THIS SUBROUTINE SETS UP AND CALLS THE APPROPRIATE SUBROUTINE TO GENERATE THE DESIRED PATTERN FOR THE WRITE AND WRITE/VERIFY COMMANDS. 3 OUTPUTS:: REGISTERS: CALLS: R2, R3, R4, PATRO - PATR? WAT”'A'S)z :g?ERN.RS 1SETUP PATTERN ROUTINE POINTER 171626 % “WCNT.RC 1SET LENGTH OF WRITE BFR 8IC #1.R4 tROUNDED UP TO NEXT WORD & 227::7&2 1tFOR RECORD COUNT SuB 171600 000002 JSR 011620 RTS #2,R4 PC.SPATTBL(RS) PC tWITH FIRST WORD RESERVED ;GO GENERATE THE APPROPRIATE PATTERN. IRETURN TO SETUP SUBROUTINE. 17SOS WRITE PATTERN LOOKUP TABLE. USED TO JSR TO THE 1CORRECT DATA PATTERN GENERATING ROUTINE. PATTBL: PATRO PATR1 PATR2 PATR3 PATR4A PATRS PATR6 PATR? PATRS 011622 011624 011626 011630 011632 011634 011636 011640 s INCREMENTING PATTERN. 1651 011642 1652 011646 1653 011652 1654 011654 1655 011656 1656 011662 1657 011666 1658 011670 1659 1660 011674 1661 011674 1662 1663 011676 1664 1665 1666 1667 011700 1668 011704 1669 011710 1670 011712 1671 011714 1672 1673 011716 SEQ 071 171664 000001 1630 011576 1631 011602 1632 011606 1633 011612 1634 011616 1635 1636 1637 1638 1639 011620 G6 30-NOV-83 10:17 PATRO:: MOV 18: 001002 001000 S0070¢: 24: O - 377. ®400,R3;LET R3S := #8400 SUB BMI MOV ADD cHP BNE MOV 2,R4;LET R4 := R4 - 02 ;DECREMENT WORD COUNT. 28 1BR IF DONE. R3,(R2). 1STORE DATA WORD. #1002,R3 tUPDATE PATTERN. R3S, #1000 1IF PATTERN HAS WRAPPED AROUND THEN: S0070¢ #400,R3 s1INIT THE PATTERN AGAIN. BR 14 1D0 IT AGAIN. RTS PC tRETURN, sALL ONE'S PATTERN. 012703 162704 100402 010322 000773 177777 000002 PATR1:: MOV ¢-1,R3 tALL ONES PATTERN; . BMI MOV BR 18 R3,(R2). ZROPAT 1DONE?,BR IF YES. s IF NOT LOAD NEXT BYTE WITH PATTERN. 100 IT AGAIN. RTS PC ZROPAT: SUB 1: #2,R4 1DECREMENT BYTE COUNT. tRETURN, MACRO M1113 GLOBAL AREAS . GLOBAL SUBROUTINES SECTION 1674 1675 1676 1677 011720 1678 011722 1679 011726 1680 1681 1682 1683 011730 1684 011734 1685 011740 1686 011742 1687 011744 1688 011746 1689 011750 1690 011752 1691 1692 1693 1694 011754 1695 011760 1696 011764 1697 1701 011766 1702 011772 1703 011776 1704 1705 1706 1707 012000 1708 012004 1709 012010 1710 012012 1711 012014 1712 012016 1713 1714 H6 30-NOV-83 10:17 SEQ 072 tALL ZEROES PATTERN. PATR2:: 177756 CLR JSR RTS R3 1CLR PATTERN REGISTER. PC tRETURN. PC,ZROPAT 1GO _GENERATE IT. tONE BIT WALKING FROM R TO L IN A FIELD OF ZEROES. PATRS:: MOV WLKZRO: SUB 1s: BMI MOV ASL ADC B8R RTS #401,R3 #2,R4,LET R4 ;= 14 R3,(R2)+ R3 R3 WLKZRO PC INIT PATTERN REGISTER. 4 - 02 1DECREMENT WORD COUNT. IF DONE. le DATA. s SHIFT PATTERN. 1ADD CARRY BACK INTO PATTERN. 100 _IT AGAIN. tRETURN. +ZERO BIT WALKING FROM R TO L IN A FIELD OF 1'S. PATRA: : MOV 177376 177750 JSR RTS #177376,R3 PC,WLKZRO PC s INIT PATTERN REGISTER. 1GO GENERATE ;IT. 1RETURN. tALTERNATING ONE AND ZERO BITS WITH ALTERNATE BYTES 1COMPLEMENTED. 012703 004767 000207 PATRS:: 125125 177706 MOV uzsxzs sINIT PATTERN REGISTER. RTS PC JRETURN. JSR i 1GO GENERATE IT. sALTERNATING BYTES OF 000 AND 377. 012703 162704 PATRG: : 1¢: 177400 000002 010322 000773 000207 MOV SuB BMI MOV B8R RTS #177400,R3 #2.R4 24 R3,(R2)+ 14 PC s INIT PATTERN REGISTER. +DE T WORD COUNT. 18R IF . sLOAD DATA. ;00 IT AGAIN. JRETURN. ;RANDOM PATTERN GENERATOR 162704 100411 066767 066767 016722 000764 000207 PATR?:: 171402 171372 171366 171376 171372 GIT: SuB 8MI ADD ADD MOV B8R RTS 02,R4 GIT RANS , RANB RANSB , RANS RANS . (R2)+ PATR? PC ;DECREMENT WORD COUNT 1BR IF DONE. 1GET NEW @. 1SAVE @. s CONTINUVE. sRETURN NO PATTERN GENERATION. PATRS; ; RTS PC JRETURN. THIS SUBROUTINE INITIATES TSOS COMMAND EXECUTION AND CHECKS FOR TSOS RESPONSE. INPUTS: ' GLOBAL ARE MACRO M1113 GLOBAL WMS SECTION 1731 1732 1733 1734 1735 012054 1739 012072 1740 012074 1741 012100 012100 012102 012104 012106 1742 012110 1743 012114 1744 1745 012116 1746 012116 1747 012124 1748 012126 1749 012134 1750 012136 OUTPUTS: REGISTERS: CALLS: 177 171354 171350 171344 EXCUTE:: MOV S007148: BNE JSR ERRDF 500724 : 000200 171266 1777 500744 : 000516 004762 171256 002544 \ S00754: 170272 S0073¢: 002544 S50076¢: 000020 177777 000002 50077¢: 167756 171200 lIN{; TIMEOUT COUNTER. TIMEL |lPDATE TIMEOUT COUNTER. +IF TIMED OUT: 500724 PC,MOVMSG 2,NSSRM,STAERM tMOVE CURRENT PACKET MSG. aREPGT TS0S NOT READY TRAP .MORD .WORD .WORD CSERDF 2 NSSRM STAERM PC,DROPU EXCRTN 1DROP THE UNIT. 1RETURN. BIT BEQ #7S.SSR,8TSSR(RS) 500714 tWAIT UNTIL DEVICE IS READY. BNE MOV JSR S00734 RS .RSSAVE PC.FIRSTV cp BEQ JSR JSR DEVTBL(RS),#END 500754 PC,WSSR PC.NEXTV BR 500744 MOV MOV RSSAVE,RS MSGPKA(RS) , SCHBK MOV CLR MSGPKA(RS),R3 R tADR OF THIS UNIT'S MSG PACKET. 1CLR COUNTER. cHP BEQ MOV ADD R2, #MSGCNT 500774 #-1,(R3). . tWHILE THERE ARE MORE LOCATIONS: B8R 500764 TST8 DINT 1ARE _INTERRUPTS DISABLED. ?I.'E’. ISOOJI;%?(RS).OI +IF MORE THAN ONE INTERRUPT HAS OCCURED: MOV STSSR(RS), TSSREG BNE 003472 ®-1,TIMEL JSR BR ce 140004 SEQ 073 R2, RS, DROPU, MOVMSG, FIRSTU, NEXTU, WSSR. ;REPEAT DE C TIMEL TST 000634 002604 1760 012170 1761 012174 1762 1763 012202 1764 012202 1765 012206 1766 012210 16 30-NOV-83 10:17 ERRDF . 14 15,TOOMM,STAERM +IF WE ARE DOING A SET CHAR CMD THEN: 1SAVE CURRENT DEVICE POINTER. tFIND FIRST UNIT. ;WHILE DEVTBL(RS) NE #END DO tWAIT FOR UNIT READY OR TIME OUT, sFIND NEXT UNIT. tRESTORE CURRENT DEVICE POINTER. 1SET UP ADR OF MSG PKT IN SCH BLOCK. +INIT THE MSG PACKET WITH ALL 1'S tUPDATE COUNTER. t'fl IF YES. tFREEZE THE CURRENT STATUS REG FOR PRINT lREPMT TOO MANY INTERRUPTS. TRAP WORD .WORD «WORD CSERDF 15 TOOMM STAERM GLGAL MACRO M1113 G..M WMS SECTION 1780 012264 i;:% 012270 004767 000434 004710 1783 012272 1784 012272 005065 003472 1786 012304 1787 012310 1788 012312 {;g 012316 105767 001005 005265 016577 171161 1785 012276 1791 012324 052767 30-NOV-83 10:17 50100¢: 000200 170024 003376 003376 171062 1792 012324 012775 002330 002514 1794 012332 032775 000200 002524 1796 012342 004767 000366 1793 1795 012340 1797 012346 012346 012350 012352 012354 ig 012356 1800 012362 {gg% 012362 001410 1%: 50101%: 004767 TSTB BNE INC MOV ERRRECUIFO ERRREC EQ #0 T!'EN +IF NOT RETRYING 50101 RECCNT(RS) 1LET RECCNT(RS) := RECCNT(RS) + 01 RECCNT(RS),S8DATAWT s THEN UPDATE REC COUNT TO WRITE IT ON TAPE MOV #CMDPKT ,8TSDB(RS) BIT #7S.SSR,8TSSR(RS) JSR PC,MOVMSG 8IS : [ 1808 1809 : : {:ig j 177777 171044 s 501024 3,TOERM,STAERM . 1CLR INTERRUPT FLAG FOR THIS DEV. 1SET INT ENABLE BIT. sLOAD TSDB WITH CMDPKT ADDRESS s THIS INITIATES COMMAND EXECUTION. lIF READY DID NOT DROP THEN: tMOVE CURRENT MESSAGE PACKET TO COMMON. sREPORT NO TSOS5 RESPONSE. TRAP PC,DROPV 1DROP THE UNIT PC tRETURN, .MORD .WORD .MORD CSERDF 3 TOERM STAERM THIS SUBROUTINE WAITS FOR THE TSOS INERRUPT OR DONE BIT TO SET AND ALLOWS THE OPERATOR TO TRANSFER CONROL TO THE SUPERVISOR. UPON APPEARANCE OF THE INTERRUPT OR DONE, CHECK TSSR FOR STATUS ERRORS, LOG ';TES AND ERRORS AND PERFORM ERROR RECOVERY IF NESSASARY. 2 OUTPUTS: REGISTERS: CALLS: GOWAIT:: MOV 50103¢: 1DROP THE UNIT tRETURN- UNIT HAS BEEN DROPPED. @IE.C,CMOPKT EXCRTN: RTS {:g_" 012767 INTFLG(RS) 50102¢: 000207 i [ P 1813 012372 CLR JSR 1803 1804 1805 1812 012364 PC,DROPYU EXCRTN ERRDF 004616 SEQ 074 JSR BR BEQ 104455 000003 004453 006120 J6 ;REPEAT R2, RS. ODROPU, MOVMSG, RECUD, CHKERR, LOG, CLRERR. ¢-1,TIMEL s INIT TIME OUT COUNTER. CHMOWRD , #4RWOD 1GO TO THE SUPER TO ALLOM TTY INPUT. TRAP C4BRK +IF COMMAND WAS REWIND THEN: 104422 026727 171020 012404 012727 000012 012412 016727 167500 MOV LSDLY,(PC)+ 005367 001375 005367 001367 177772 DEC BNE DEC BNE -6(PC) .-4 -22(PC) «.-20 1819 012434 026727 170760 105010 1821 012444 1822 012452 026727 001014 170750 105410 1816 012402 1817 012404 012410 012416 012420 012424 012426 012432 1818 012434 1820 012442 1823 012454 001014 000000 000000 001404 102010 BREAK tREPEAT UNTIL INTERRUPT OCCURES: 1814 012372 012372 1815 012374 cHP BNE DELAY 501044 10. tWAIT EXTRA MSECS EACH LOOP. MOV LMORD WORD 177756 501044 cHP CMOWRD , #SFF cHP BNE CMOWRD, #SFR 50106¢ BEQ 50105¢: 501054 €10.,.(PC). O O 1IF CMDWRD EQ #SFF OR CMDWRD EQ #SFR THEN . GLOBAL AREAS MACRO M1113 ' GLOBAL SUBROUTINES SECTION 1824 012454 012454 012460 012462 012466 012470 012474 012476 012502 1825 012504 012727 000000 016727 000000 005367 001375 005367 001367 000014 1826 012504 1827 012510 {% 012512 105767 001003 016502 167502 1830 012516 000406 1832 012520 1833 012524 1834 012526 012703 005103 017502 000200 1838 012534 1839 012540 1840 012542 005367 005702 001003 170676 1842 012550 1843 012552 001310 1831 012520 {:g 012532 1837 012534 1841 012544 040302 003472 005767 001022 016577 005377 004767 170660 003376 170614 000136 1044SS 000004 004670 006120 004767 012703 004366 003472 1854 012622 1855 012624 1856 012624 1857 012630 1858 012634 1859 012640 1860 012644 1861 012646 1862 012652 %&3 012656 000417 1865 012662 1866 1867 012662 1868 012662 004767 004767 004767 105767 001006 004767 012703 004767 50107¢: 002524 012552 012556 012560 012566 012572 012576 012576 012600 012602 012604 1850 012606 1851 012612 004767 12. TST8 BNE MOV DINT 501074 INTFLG(RS),R2 B8R S0110¢ MOV coM MOV OTS.SSR,R3 R3 8TSSR(R5),R2 1SET UP A MASK FOR THE DONE BIT. e=C TST BNE TIMEL R2 S0111¢ tUPDATE TIMEOUT COUNTER. tREPEAT UNTIL INTERRUPT OR READY OCCURES. BNE 501034 TST BNE MOV DEC JSR ERRDF JSR TIMEL +IF TIME OUT HAS OCCURRED: S0112¢ RECCNT(RS) ,8DATAWT SDATAWT PC,MOVMSG tMOVE CURRENT MSG PACKET TO COMMON AREA. 4 ,NOINTM,STAERM .mr NO INTERRUPT, TRAP CS$ERDF .MORD 4 . NOINTM .WORD STAERM PC,DROPU 1DROP THE UNIT. #ENDERF ,R3 tLET RS ;= PC,.CLRERR 1CLEAR ALL ERROR FLAGS BR S0113¢ JSR JSR JSR TST8 BNE JSR MOV PC,MOVMSG PC.RECUD PC,CHKERR WRTYFG 501144 PC,LOG OENDERF ,R3 RTS PC 177756 501064 : 8IC S501104: ST S01114: 170620 JSR MOV 000042 000104 000164 000350 170617 S0112¢: 002714 003472 000002 SEQ 075 DELAY 177772 170666 {:g 012616 30-NOV-83 10:17 167430 005767 1844 1845 1846 1847 1848 1849 K6 JSR R3,R2 1ADD DELAY FOR SPACE TAPE MARK COMMANDS MOV 012.,(PC)+ .WORD O MOV LSDLY,(PC). .MORD O DEC -6(PC) BNE .-4 DEC -22(PC) BNE .= 1 IF INTERRUPTS ARE ENABLED. ;FETCH INTERRUPT OCCURRED FLAG. tFETCH DONE BIT. TIMEL PC,CLRERR tMOVE CURRENT MSG. PACKET TO COMMON AREA. |lPDhTE THE RECORD COUNT. 1CHECK FOR STATUS ERRORS. UIFD WRTYFG EQ #0 THEN |Lw lYTES AND ERRORS. 1ILET R3 := OENDERF lCLEM ALL ERROR FLAGS S0114¢: 000207 S50113¢: tRETURN IF DONE. ' GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION L6 30-NOV-83 10:17 SEQ 076 1869 1870 i SUBROUTINE TO CLEAR FLAGS. 1872 1873 ' 3 OUTPUTS: REGISTERS: 1871 ! {:;; : 1876 012664 012702 1878 012670 1879 012672 1880 012674 005022 1877 012670 1881 012676 003460 S0115¢: 020203 001375 000207 1892 012706 1893 012706 012706 1894 012710 1895 012714 1896 012722 1897 012724 1898 012730 1899 012732 {m 012732 ' 3 104422 005367 032775 001003 005767 001366 177777 170522 000200 170530 S0116%: 170506 S0117%: 000207 : : 3 : : {gg: 1913 012746 1914 012752 1915 012756 1916 012762 1917 012766 1918 012770 WSSR:: 002524 1904 1905 1906 1907 1908 1911 012734 1912 012742 ' 017567 016702 042702 010267 006267 016503 005002 1919 012770 1920 012774 1921 012776 {:g 013002 020227 001405 012362 062702 1924 013006 000770 CLR RTS : 3 : 012767 ;REPEAT cHP BNE 1887 1888 1891 012700 CALLS: CLRERR:: MOV 1884 1885 1886 1889 1890 012700 INPUTS: 002524 170506 177761 170472 170466 002544 000020 002354 000002 170512 Rz ®BGNFLG,R2 tLET R2 := #BGNFLG (R2) R2,R3 S0115¢ tLET (R2)+ := &0 tUNTIL R2 EQ R3 PC SUBROUTINE TO WAIT UNTIL CURRENT UNIT IS READY OR UNTIL TIME OUT. INPUTS: OUTPUTS: REGISTERS: CALLS: MOV o-1,TIMEL 1 INIT TIMEOUT COUNTER. DEC BIT BNE sREPEAT UNTIL DEV READY OR TIMEOUT: 1BREAK TO THE SUPERVISOR. TRAP C$BRK TIMEL sUPDATE TIMEOUT COUNTER. orSs. SSR 8TSSRC(RS) ;UNTIL OTS SSR SETIN S8TSSR(RS) OR TIMEL EQ &0 SO117¢ RTS PC BREAK TST BNE TIMEL 501164 tRETURN, SUBROUTINE TO MOVE THE CURRENT MESSAGE PACKET TO THE COMMON AREA AND TO UPDATE THE CURRENT TERMINATION CLASS COCE. INPUTS: OUTPUTS: REGISTERS: R2, RS. CALLS: MOVMSG::MOV MOV $S01204: R3 = LWA TO BE CLEARED + 2. OTSSR(RS), TSSREG TSSREG,R2 1FREEZE THE STATUS REG CONTENTS 1EXTRACT THE TERMINATION CLASS CODE. BIC MOV ASR MOV CLR #1SC.TCC,.R2 R2,CTCC CTCC MSGPKA(RS),R3 Re tADR OF THIS DEVICE'S MSG. 1CLR COUNTER. cMHP BEQ MOV ADD R2, MMSGCNT S0121¢ (R3)+ ,MSGPKT(R2) 02,R2 tWHILE THERE ARE MORE LOCATIONS: . 1MOVE MSG TO COMMON AREA. 1UPDATE COUNTER. BR 50120% 1AND SAVE IT GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1925 013010 1926 013010 016767 1327 013016 000207 167346 170464 1929 1930 1931 1932 1953 1935 013020 1940 013042 1941 013050 1942 013052 501214 105767 170441 032767 001453 105267 100000 170410 167316 1IF PREV CMD MAS A FWD ALSO: B8R 501314 BIT #M0D . CO, PCMOWD 1IF PREVIOUS CMD WAS A REV ALSO: BIT BNE #X0.80T,EOTFLG(RS) 501334 IWHEN NOT AT BOT THEN BEQ € 1955 013124 005265 003376 1957 013130 1959 013130 000423 000400 170264 1963 013142 032765 000002 1964 013150 001013 003502 1962 013140 001417 1965 013152 1966 013156 105767 001406 105767 001403 105767 i¥68 013164 1969 013166 1970 013172 001002 1971 013174 005365 1972 013200 1973 1974 013200 1976 013200 1977 1978 013200 1979 1980 1981 013200 501264 501274 RECCNT(RS) 501304 1958 032767 501274 BEQ 170313 TST8 BEQ TSTE BEQ TST8 170332 170273 003376 \IF THIS IS A REWIND CMD: 1CLEAR RECORD COUNT, #M0D . CO, PCMDWD 501304 000400 1967 013160 501254 1SET RECORD LOGGED, BIT BHE INC 032767 001002 1961 013132 BR #X2.0PM, MSGPKT +MS , XS2 501234 RECLOG 170302 000400 1960 013132 CMOMRD, 501244 RECCNT(RS) JLET RECCNTCRS) := RECCNT(RS) - 01 1IF TAPE MOVED 1IF A FORMARD CMD: 032767 1953 013114 1954 013122 cHe BNE CLR 1IF RECORD HAS NOT BEEN LOGGED: #M0D . CO,, CMDWRD 1951 013104 001007 501224 RECCNT(RS) #8IT0,CTCC 501234 BIT 170316 1952 013112 RECLOG 170306 004000 001436 MOVE XSTATO TO EOT FLAG. \ #BRF . C, CMOWRD 032767 1950 013102 PC BIT 1949 013074 501244 MSGPKT +MS . XS0, EOTFLG BHE DEC BIT BNE BIT BEQ INCB 170407 SEQ 077 SUBROUTINE TO ADJUST THE RECORD COUNT. INPUTS; OUTPUTS: REGISTERS: CALLS: RECUD:: TSTB 1943 013056 026727 170336 102010 1944 013064 001003 1345 013066 003376 1947 013072 000442 1948 013074 MOV RTS ' " " ; ; 1936 013024 001070 1937 013026 003376 1938 013032 032767 000001 1939 013040 001057 M6 30-NOV-83 10:17 24: 104: 501334 50132¢: 501314; 501264: BHNE DEC S0132¢ ERRREC 24 VFYFLG 24 RECLOG 104 RECCNT(RS) 1IF BRF USED, UPDATE RECORD COUNT. 1 INCREMENT RECORD COUNT. +IF REVERSE CMD: 1CHECK THE ERROR RETRY INDICATOR 48R, IF WE ARE NOT NOW IN ERROR RETRY 1CHECK THE WRITE VERIFY INDICATOR 18R, IF WE ARE NOT IN WRT/VFY MODE 1CHECK IF THIS RECORD MAS BEEN COUNTED 1BR, IF HAVE ALREADY BUMPED RECORD CNTR. 1DECREMENT RECORD COUNT. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1982 1983 013200 1984 1985 013200 {m 013200 1988 013206 igg: 013206 30-NOV-83 10:17 S0125¢: 016577 003376 170200 2009 013242 2010 2011 013242 2012 013242 2013 013250 2014 013252 2015 013260 2016 013262 2017 013262 2018 013270 2019 013272 2021 013276 2022 013300 2023 013300 ' : : : 3 3 3 3 : 032767 001441 026727 001405 105767 001002 005265 100000 170236 170224 000002 170235 003336 2031 013312 032767 001004 032767 001412 032767 001003 012702 004000 170204 040000 170174 100000 167076 012702 RTS PC sLET SDATAWT := RECCNT(RS) sRETURN, THIS IS THE ERROR CHECK SUBROUTINE. AFTER INTERRUPT THIS SUBROUTINE IS CALLED TO CHECK THE TSOS STATUS. IF SPECIAL COND IS SET THEN THE TCC HANDLING SUBROUTINE IS ENTERED. IF THE RFC IS NON ZERO FOR A COMMAND REQUIRING A BPCR, THEN AN ERROR RFC IS REPORTED, S: OUTPUTS : REGISTERS: R2. R4, CALLS: TCCO-TCCY. #7S.SC, TSSREG S0134¢ CTCC,# S0135¢ ERRREC S01364 SCCNT(RS) +IF SPECIAL COND STATUS IS SET THEN: 1IF TCC IS NOT 2 THEN: +IF NOT IN ERROR RECOVERY: 1INC SC COUNTER. 501354 S01374: S01414: 000004 BIT BNE BIT BEQ #TS.NXM, TSSREG S0137¢ oTs. WE.TSSREG BIT BNE MOV 082.0" MSGPKT +MS . XS2 S0141¢ #5,R2 BR S0142¢ MO\ o4, ,R2 BR S0143¢ MOV CTCC.R2 ASL JSR R2 PC,.S8TCCRACR2) BR S0144¢ 1WHEN NON-EXISTANT MEMO 50140 sAND TAPE NOT MOVED 1SET TCCS INDEX 1 TAPE MOVED, SET TCC4 INDEX S01424: 000402 016702 006302 004772 2035 013320 2036 013322 000426 2038 013330 RECCNT(RS),8DATAWT CHKERR:: BIT BEQ cP BEQ TST8 BNE INC 000005 000402 2032 013312 228;2 013314 2037 013322 MOV S0136¢: 2025 013304 2027 013304 2028 013306 g‘gz 013306 501234 501224 : 000207 1991 1992 1993 1994 1995 1996 1997 1998 % 2001 013210 2002 013216 2003 013220 2004 013226 2005 013230 2006 013234 2007 013236 SEQ 078 032767 001422 S01404: 170136 S01436: 013414 004000 170070 S01344: BIT BEQ #8RF ,C,CMDWRD 501454 1SET DETECTED TCC INDEX 1CURRENT TCC X 2. 1GO TO THE TCC HANDLING SUBROUTINE. 1IF BRF IS USED IN THIS CMD THEN: MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 2039 013332 2040 013336 2041 013340 2042 013344 003767 001417 105767 001403 2044 013352 001411 2043 013346 105767 B7 30-NOV-83 10:17 167022 170151 IST HSGRKI.NS.RFC TSTE RANDOM BEQ 170144 TST8 S0147%; 170141 003356 SO147¢ JIF THERE IS AN RFC THEN: 1IFB RANDOM EQ 90 ORB VFYFLG NE #0 THEN VFYFLG BEQ S0150¢ I INC me HROCNTCRS) ERRMRD SEQ 079 IF NOT IN RANDOM OR IF CMD IS WTV: VIF RFETERROR AEPORTS ARE ALLOED: JUPDATE MARD ERROR COUNT 13, RFCERM, STAERM JREPORT RFC ERROR TRAP .MORD "WORD WORD CSERMRD 13 RFCERM STAERM S01514: S01504: S01464: 2058 2060 2061 013376 2062 2063 013404 2064 2065 2066 206 2068 S0145¢: 103767 170065 016767 170012 001403 S01444; 166716 S01524: IsTe mem MOV CMOSAV,CMOPKT RTS PC JIF A READ/MRITE ERROR MAS OCCURRED THEN: JRESTORE CMD PACKET AFTER ERROR RECOV. JRETURN. ‘ ADORESSES OF TCC MANDLING ROUTINES FOR TERMINATION CLASS CODES O - 7. TCCRA: TCCO T¢C1 T¢C2 TCCS TECa T6CS 1CC6 TCC7 003356 ' : : ‘ " 3 SUBROUTINE TO HANDLE TERMINATION CLASS CODE O, UNDEFINED SPECIAL CONDITION ERROR. INPUTSs OUTPUTS; REGISTERS: CALLS: TCCO:: INC ERRHRD HROCNT(RS) S, SCERM, STAERM . JUPDATE HARD ERROR COUNT. JREPORT SPECIAL CONDITION ERROR. TRAP MORD "WORD +JWORD COERMRD S SCERM STAERM o MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 2088 013450 2089 2090 2091 —— e — ¢ C7 30-NOV-83 10:17 SEQ 080 RTS PC 000207 1RETURN, SUBROUTINE TO HANDLE TERMINATION CLASS CODE 1, ATTENTION CONDITION. THIS TCC INDICATES THAT THE DRIVE HAS UNDERGONE A STATUS CHANGE SUCH gs GOING OFFLINE OR COMING ONLINE. ! OUTPUTS: REGISTERS: CALLS: TCC1:: 104455 004767 000207 ERROF JSR RTS 003512 R2,R4 DROPY 6,ATTNM,STAERM tREPORT ATTENTION-UNIT OFF LINE. TRAP PC.DROPY PC 1OROP THE UNIT. IRETURN, .MORD LMORD .MORD CSEROF 6 ATTNM STAERM SUBROUTINE TO HANDLE TERMINATION CLASS CODE 2, TAPE STATUS ALERT. A STATUS CONDITION HAS BEEN ENCOUNTERED THAT MAY HAVE SIGNIFICANCE 70 tr:s PROGRAM. BITS OF INTEREST INCLUDE TMKX, RLS, LET, RLL, BOT, EOT. INPUTS: OUTPUTS : REGISTERS: CALLS: 2111 013470 2112 013476 2113 013500 21{; 013504 032767 105767 001401 166664 TCC2:: 170010 2134 013550 2135 2136 013554 2137 0133556 2138 013556 2139 2140 0133562 032767 170002 166644 501534 001427 TC2RTN BIT #XO.RLS!XO.RLLIXO.TMKIXO.LET!XO0.BOT ,MSGPKT oMS. XSO BEQ SO0154¢ RANDOM 167771 TSTE 105767 001421 167764 TST8 105767 001016 105767 001403 105267 167761 Q 167714 501604 : S0161¢: S0153¢ JIF AT BOT AND BOT IS EXPECTED: JRETURN-TCC2 CAUSED BY EXPECTED B0T. JIF @X0.RLS1X0.RLL 1XO. TMK1XO.LET1X0.BOT SETIN MSGPKTsMS.XSO THEN 501554 JIF TCC2 CAUSED BY ANYTMING BUT EOT: +IFB RANDOM EQ 60 ORS VFYFLG NE 90 THEN VFYFLG BEQ S01564 TST8 IRE BNE S0157¢ BEQ 501606 TST8 167723 301534 ea 105767 301354 #X0.80T ,MSGPKT +MS . XS0 EXPBOT BEQ 2119 013506 2118 013510 2119 013510 2120 2121 2122 013516 2123 2124 0133520 8IT BEQ TST8 ERRREC UNREC S01614 SCCNTCRS) T IN RANDOM OR IF CMD IS WTV: \IF RFEERROR REPORTS ARE ALLOVED: JIF WE ARE IN ERROR RECOVERY THEN: JSET UNRECOVERABLE FLAG FOR LOG. JELSE - IF NOT IN ERROR RECOVERY: JINCREMENT THE SPEC COND COUNTER. e —— ———————— & o ' GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION -————-- INC 000207 TC2RTN: : 2156 ] ggz : : 2138 104455 000010 004622 006120 a—— ————————— —— ———————— - JREPORT TAPE STATUS ALERT. TRAP JMORD 'WORD .WORD CHERHRD 7 TSAM STAERM : ’ H 2177 2178 2183 013616 026727 2184 013624 001125 105767 2186 013632 001522 2187 013634 105767 2188 013640 001007 105767 167604 000002 166356 167631 166341 R2.R4 DROPY 8,FUNRM, STAERM sREPORT FUNCTION REJECT. PC.DROPY PC .oaov ne UNIT TRAP .WORD - WORD 'MORD CERDF STAERM SUBROUTINE TO MANDLE TERMINATION CLASS CODE4, RECOVERABLE ERROR. TAPE POSITION IS ONE RECORD BEYOND WMMAT ITS POSITION WAS WHEN THE FUNCTION MAS INITIATED. RE IS T0 LOG THE ERROR AND I IATE RETRY . 2 WRITE-ERROR-RECOVERY ALGORITHMS CAN BE SELECTED: THE FIRST ONE. VIA BADTSN SWITCM, DOES DETECT BAD SPOTS ON TAPE. IT CALLS A MRITE RETRY SUBR UNTIL THE RECORD IS RECOVERED oaaomsrorsmvemu. ON REACHING 20 BAD SPOTS LOGGED, A BAD TAPE OVERFLOM MSG IS PRINTED AND THE UNIT DROPPED. : WP TO 16 TIMES BEFORE DROPPING THE UNIT OR PROCEEDING : : p OUTPUTS; REGISTERS: CALLS: TCCA:: CMP BNE TSTB 8EQ TSTB BNE : 2179 2180 jflg H BITS OF INTEREST ARE ; : 2176 CALLS: JSR RTS 2172 2173 2174 S: ERRDF : 2175 THE SPECIFIED FUNCTION WAS NOT INITIATED. TCCS:: 2169 2170 JRETURN, SUBROUTINE TO MANDLE TERMINATION CLASS CODE 3, FUNCTION REJECT. RECISTERS : : : - 2171 PC ] . 2165 2166 2167 2168 RTS : 2162 013610 004767 003364 g{s 013614 000207 - JUPDATE HARD ERROR COUNT. S01544: 2154 2189 013642 7, TSAM, STAERM 501564 2152 2153 2185 013626 HROCNT(RS) S0157¢: g{g 013576 2161 013600 013600 013602 013604 013606 SEQ 081 ERRMRD 104456 000007 004705 006120 2144 013576 2145 2146 013576 2147 2130 013576 —— 30-NOV-83 10:17 2141 013562 005265 003356 2142 013566 013566 013570 013572 o148 013574 - THE SECOND ALGORITHM ISSUES THE TSOS WRITE RETRY COMMAND WITH THE NEXT RECORD ON RECOVERY. INPUTSs TST8 R2,R4. RTLE, EXCUTE, GOWAIT, DROPU, WRTY CMOLG, #2 $0162¢ +IF CMOLG EQ 02 ANDB BADTSM NE @0 THEN BADTSM $0162¢ ERRREC $01634 ERCVER ;IFB ERRREC EQ 00 ANDB ERCVER NE €0 THEN MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 104457 TRAP 000011 005017 006120 .WORD .WORD .MORD 501634: 167377 167566 1673561 ERRREC WRTYER WRTYFG tRETRY FLAG FOR EXCUTE SUBR: DON’'T UPDATE REC CN tREWRITE ERROR FLAG FOR WRTY SUBR tFIRST RETRY ON THIS RECORD: SUBSEQUENT 167510 166412 166412 167335 167525 CMOWRO, ,MTYWRD ;SAVE WRITE COMMAND PACKET CMOPKT.WTYCMD CMOPKT +CP . CNT, WTYBRF 501654 501664 : WRTYCTC(RS) RETRYC RPTCNT PC,WRTY WRTYER &3 167512 cP 8LO 002514 S0170¢: 167334 32 3oafy PRINTB 015177 000001 ;LOG SUBR FLAG: COUNT WRT ERRORS IRETRY IN PROGRESS FLAG REPEAT 50167¢: 105067 105267 016767 tRETRIES WITH TCC4 ERRORS BY-PASS THIS SECTION RWERR WRTYFG 167522 ;COUNT GLOBAL WRITE RETRIES ;CLEAR @ OF RETRIES PER RECORD iCLEAR @ OF REPEATS X {CALL WRITE RETRY sREPEAT RETRIES ON SAME RECORD $01674 SBTPT, 840, $01664 JUNTIL RECOVERED OR 20 BAD SPOTS ;{g’z‘m. {WHEN 20 BAD SPOTS LOGGED #BTMSG2 sPRINT BAD TAPE OVERFLOW MSG MOV MOV MOV TRAP ADD 1ERASE BAD RECORD RECCNT(RS) 000402 167372 50164¢: #BTMSG2, -(SP) o.-(5P) SP,RO CSPNTB #4,5P PC ,DROPY ;OROP UNIT ORWCPK, BTSDB(RS) sREWIND UNIT WRTYFG MISCFG WTYWRD , PCHOWD \RETRY COMPLETE FLAG :D0 NOT HALT ON THIS CMD FLG JRESTORE ORIGINAL WRT CMD AFTER RECOVERY RECCNT(RS) 501654 105267 RERM STAERM +IFB IREC EQ €0 THEN 501644 003316 1673512 167510 000660 167502 012746 012746 010600 104414 062706 004767 003365 004767 005063 012773 CSERSOFT 9 IREC 166327 2217 2233 2234 014070 2235 014072 2236 014072 2237 SEQ 082 501634 T 9.RERM,STAERM ERRSOF 001404 2213 013762 2214 013764 2215 013772 2216 013774 2218 013774 2219 014002 2220 014004 014004 014010 014014 014016 014020 2221 014024 2222 014030 30-NOV-83 10:17 33 2190 013646 2191 013650 013650 013652 013654 013656 2192 2193 013660 2194 013660 2195 013664 2196 013666 2197 013672 2198 013676 2199 013702 2200 2201 013704 2202 013712 2203 013720 2204 013726 2205 013732 2206 2207 013736 2208 013736 2209 013742 2210 013746 2211 013752 2212 013756 E7 S0171¢ UNREC JLET UNREC :B= UNREC + 01 MACRO M1113 - GLOBAL AREAS GLOBAL SUBROUTINES SECTION 30-NOV-83 10:17 SEQ 083 S0171s: 2238 014076 2239 2240 014076 2241 014100 2242 014100 2243 014104 2244 014112 2245 014114 2246 014120 2247 014122 2248 014126 2249 014130 2230 2251 014136 2252 2233 014136 2254 014136 22355 014142 2256 014144 2257 014150 2258 014152 014152 014154 014156 S01624: 000404 167316 501724 J PC,RTLE 000020 cHe BLE Hov CMOLG, #2 S01734 :gneu..aa 167332 ao; gg{gxg.aa 020000 8IS 166172 JCHECK FOR RETRY LIMIT EXCEEDED. +IF READ CMD THEN: sR2=READ RETRY COUNT LIMIT / 2 +IF RETRY COUNT IS MORE THAN HALF LIMIT: .C,CMOPKT 1SET OPPOSITE BIT FOR RETRY2. 501744 S0173%:; 167316 166037 ST BNE RETRYC S01754 TST8 +IF THIS IS THE ORIGINAL ERROR THEN: Q $01754 ERRSOFT 9,RERM,STAERM ;REPORT RECOVERABLE ERROR TRAP coenson - WORD RERM STAERM .WORD " 014160 "MORD 2260 014162 2261 014162 2262 014166 2263 014174 167272 001000 166013 S0175¢: 166134 RETRYC sUPDATE RETRY COUNT. TST8 IREC +IF ERROR RECOVERY ENABLED: #M0D.C1,CMOPKT BNE 175636 176142 167240 INC 8IS 167263 2270 2271 014222 2272 014224 2273 014224 2274 2275 014230 2276 2277 014230 014230 ;PROVIDED OPERATOR HAS ENABLED THE REPORT S0176¢: 501764 INCB gx ERRREC Esp;o.az JSR P B8R PC,EXCUTE GOMAIT 501774 INCB UNREC ML ;SET RETRY BIT IN CMD PACKET. +SET ERROR RECOVERY FLAG. 1POP 2 RTN ADRS FROM STACK. 1GO EXECUTE THE RETRY COMMAND. 1GO WAIT FOR INTERRUPT + CHECK STATUS. 1ELSE IF ERROR RECOVERY IS NOT ENABLED: +SET UNRECOVERABLE ERROR FLAG. S0177¢: S0172¢: RTS PC sRETURN SUBROUTINE TO HANDLE TERMINATION CLASS CODE 5, RECOVERABLE ERROR. TAPE POSITION HAS NOT CHANGED. RECOVERY PROCEDURE IS TO LOG THE mmsflb RE-ISSUE THE ORIGINAL COMMAND. $ OUTPUTS: 2286 2287 2288 014232 2289 014236 2290 014242 REGISTERS: CALLS: 004767 005767 001004 000252 167216 TCCS:: JSR TST BNE PC,RTLE RETRYC 502004 R2,.R4. RTLE, EXCUTE, GOWAIT, DROPU. 1CHECK FOR RETRY LIMIT EXCEEDED 1IF THIS IS THE ORIGINAL ERROR THEN: MACRO M1113 _ GLOBAL AREAS GLOBAL SUBROUTINES SECTION 2291 816244 ERRSOFT 10,RERM,STAERM 104457 000012 005017 006120 502004: 167200 165727 TST8 BNE INCB INC MOV MOV MOV JSR 167177 003376 003376 2301 014310 2302 014314 e 303 2304 014320 2305 014322 2306 014322 2307 2308 014326 2309 014326 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 014330 2324 014336 2325 2326 014340 2327 014344 2328 014346 2329 014352 2330 2331 014356 2332 014356 014356 014360 014362 014364 2333 014366 2334 2335 014372 2336 014374 2337 014374 2338 014400 2339 014404 G7 30-NOV-83 10:17 167102 175540 176044 ) 50201¢: 167142 502024: SEQ 084 ;REPORT RECOVERABLE ERROR. TRAP LMORD "WORD .WORD CHERSOFT 10 RERM STAERM RETRYC JUPDATE RETRY COUNTER. IREC +IF ERROR RECOVERY IS ENABLED: 502014 ERRREC 1SET ERROR RECOVERY FLAG. RECCNT(RS) JUPDATE REC COUNT RECCNTCRS), BDATAWT JAND INSERT IT INTO WRT BFR (SP)+,R2 sPOP 2 RTN ADRS FROM STACK. (SP)+,R2 PC,EXCUTE :GO RE-ISSUE THE COMMAND. IT B8R 502024 INCB UNREC RTS PC 1GO MAIT FOR INTERRUPT + CHECK STATUS. ;ELSE IF ERROR RECOVERY IS NOT ENABLED: 1SET UNRECOVERABLE ERROR FLAG. JRETURN. SUBROUTINE TO HANDLE TERMINATION CLASS CODE 6, UNRECOVERABLE ERROR. TAPE POSITION HAS BEEN LOST. THE ONLY VALID RECOVERY PROCEDURE IS TO REWIND AND START OVER AT BOT UNLESS THE TAPE HAS LABELS OR SEQUENCE NUMBERS. THIS DIAGNOSTIC WILL REWIND AND RETRY THE COMMAND ONLY IF DENSITY CHECK IS SET, OTHERWISE THE UNIT WILL BE DROPPED FROM THE TEST SEQUENCE. INPUTS: OUTPUTS:: REGISTERS: CALLS: 163454 166032 TCCé6:: 167062 167115 167112 S02044; 000110 167054 502034 : R2, R4 RTLE, WSSR, EXCUTE, GOWAIT, DROPU 30167 gégg:.nscmr.ns.xss.xr X3.D0CK NOTSETIN MSGPKT+MS.XS3 TST CMOLG BEQ INCB INCB 502044 RWERR UNREC ERRDF 11,URERM,STAERM JSR PC.DROPU BR 502054 JSR PC,RTLE ;'Sif gfioggzs THEN 1IF_THERE IS NO DENSITY CHECK THEN: +IF CMD IS A READ OR WRITE THEN: 1SET RD/WR ERROR FLAG, 1SET UNRECOVERABLE ERROR FLAG. ;REPORT UNRECOVERABLE ERROR. TRAP JHORD JWORD JWORD CSERDF 11 URERM STAERM tREPORT ERROR + DROP UNIT. 1ELSE-IF T'ERE Is uNSITV CHECK:: 1CHECK FOR RETRY LIMIT EXCEEDED. 1IF THIS IS THE ORIGINAL ERROR THEN: MACRO M1113 GLOBAL AREAS - GLOBAL SUBROUTINES SECTION 2340 014406 014406 014410 014412 014414 2342 014416 2343 014416 2344 014422 2345 014426 2346 014430 2347 014434 2348 014442 2349 014446 2350 014450 2351 014452 2352 014456 H7 30-NOV-83 10:17 ERRSOFT 11,URERM,STAERM 104457 000013 SEQ 085 tREPORT DENSITY CHECK ERROR TRAP .WORD .WORD .WORD 005041 006120 005267 105767 001016 502064 : 167036 167073 167035 002350 176232 002514 175376 175702 2354 014462 2355 014464 2356 014464 167000 S02074: 2358 014470 502104 : 2360 014470 2361 014470 502054 : INC TST8 BNE INCB MOV JSR MOV RETRYC IRE 502074 ERRREC ORWCPK ,8TSDB(RS) PC,WSSR (SP)+,R2 JSR JHP PC.EXCUTE GOWAIT BR 502104 INCB UNREC RTS PC CSERSOFT 11 URERM STAERM sUPDATE RETRY COUNT. +IF ERROR RECOVERY IS ENABLED THEN: 1SET ERROR RECOVERY FLAG, 1ISSUE A REWIND COMMAND, tWAIT FOR SUBSYSTEM REMY. 1POP 2 RTN ADRS FROM STACK. sREISSUE THE COMMAND, tWAIT FOR INTERRUPT tELSE-IF ERR REC DISABLED: 1SET UNRECOVERABLE ERROR FLAG. 1RETURN SUBROUTINE TO HANDLE TERMINATION CLASS CODE 7, FATAL SUBSYSTEM ERROR. THE SUBSYSTEM IS INCAPABLE OF PROPERLY PERFORMING COMMANDS OR AT LEAST ITS INTEGRITY IS SERIOUSLY QUESTIONABLE. REFER TO THE FATAL CLASS CODE FIELD IN THE TSSR REGISTER FOR ADODITIONAL INFORMATION ON THE TYPE OF FATAL ERROR. INPUTS: OUTPUTS: REGISTERS: CALLS: 2373 014472 TCC7:: 014472 014474 014476 014500 ERROF R2. R4 12,FATSM,STAERM 1REPORT FATAL SUBSYSTEM ERROR. TRAP .WORD .MORD 2374 014502 2375 014506 JSR 002472 RTS PC,DROPV PC 1DROP THE UNIT. CSERDF 12 FATSM STAERM 1RETURN, SUBROUTINE TO CHECK FOR RETRY LIMIT EXCEEDED PRINTS ERROR MESSAGE IF EXCEEDED AND DROP UNIT UNLESS COMMAND IS A READ. INPUTS: OUTPUTS: REGISTERS: CALLS: 2385 014510 2386 014514 2387 014516 014516 005767 001010 104455 166712 RTLE:: ;.SEY ERRDF CMDLG R2, R4, DROPY 1IF CMD IS NOT A READ OR WRITE THEN: - 502114 11,URERM,STAERM ;REPORT UNRECOVERABLE ERROR. TRAP CS$ERDF MACRO M1113 GLOBAL AREAS ' GLOBAL SUBROUTINES SECTION 014520 014522 014524 30-NOV-83 10:17 000013 005041 006120 2388 014526 004767 002446 2389 014532 012602 gggg 014534 000437 2392 014536 2393 014536 2394 014542 2395 014550 2396 014552 2397 014560 2398 014562 2399 014566 014566 014570 014572 014574 2400 014576 2401 014602 2402 014604 2403 2404 014604 2405 014606 2406 014606 2407 014614 2408 014616 2409 014622 014622 014624 014626 014630 105267 026727 001016 026727 001011 105267 000413 026727 166646 000020 001007 S02134: $02124: 166646 000207 PC,DROPU (SP)+,R2 RTLRTN INCB cHe BNE cHP BNE RWERR CMOLG, #2 $02124 RETRYC,OWRECL $02134 502154 502144 ;DROP THE UNIT, {POP RTN ADRS FROM STACK. ;AND RETURN. PC,DROPU (SP)+,R2 B8R oM BNE S02144 RETRYC,#RRECL 502154 MOV RTLRTN: RTS TRAP .WORD - WORD - WORD ;DROP THE UNIT, sPOP 2 RTN ADRS FROM STACK. JELSE - CMD IS A READ: UNREC 1SET UNRECOVERABLE FLAG 14 ,RLEXM,STAERM ;REPORT RECOVERABLE ERROR. (SP)+,R2 TRAP .WORD - WORD - WORD sPOP 2 RTN ADRS FROM STACK. PC sRETURN : : : : ' p ; : : : SUBR TO REWRITE A BAD, BUT RECOVERABLE MRITTEN RECORD. REWRITE RECORD ON SAME SPOT: REPEAT 4 TIMES. IF ALL 4 REPEATS GOOD, RECORD IS RECOVERED AND A RECOVERABLE WRITE ERROR IS LOGGED. IF ANY OF 4 REPEATS BAD, ERASE BAD RECORD, LOG SUSPECTED BAD SPOT, RETRY AGAIN. RETRY 4 TIMES, UP TO 4 REPEATS EACH. IF RECORD NOT GOOD AFTER & RETRIES, ERASE IT, EXIT WITH ERROR FLAG WRTYER SET, PRINTING RETRY FAILED. THIS ALL SCHEME IS REENTERED 20 TIMES MAX, IE 20 BAD SPOTS MAX ARE ALLOWED. 2427 2428 2429 g:gg ; : : : INPUTS; OUTPUT REGISTERS: CALLS: WRTY:: BEGIN RETRY 2432 014636 ) CSERDF RLEXM STAERM ;IF RETRY COUNT HAS REACHED LIMIT: 2416 2417 2418 2419 2420 2421 2423 2424 2425 2426 11 URERM STAERM 1SET neno/uurs ERROR FLAG. F CMD IS A WRT OR WTM: ;IF RETRY COUNT MAS REACHED LIMIT: UNREC 1SET UNRECOVERABLE FLAG 14,RLEXM,STAERM ;REPORT RETRY LIMIT EXCEEDED. JSR MOV INCB ERRMRD SEQ 086 . WORD - WORD - WORD JSR MOV B8R INCB ERRDF 104456 000016 004556 006120 gg 014634 g{; 014634 502114 166702 004767 002376 012602 2410 014632 012602 2413 014634 166725 166660 000002 166702 000020 104455 000016 004556 006120 105267 17 R3,R4 BORERS, REWRT JREPEAT CS$ERMRD RLEXM STAERM ' GLOBAL ARE MACRO M1113 . GLOBAL WMS SECTION S02174: 2434 014636 2435 2436 2437 014636 2438 014636 S02214: 000454 166616 000620 166600 166572 502224 : JSR CLRB JSR INCB cMPB BEQ PC,BORERS WRTYER PC.REWRT RPTCNT RPTCNT 4 S02224 TSTB BEQ TSTB PRINTB 166524 010477 020427 101005 016703 060304 016514 166476 003376 1BACKSPACE/ERASE ONE RECORD tCLEAR WRITE RETRY ERROR tREWRITE RECORD ON SAME SPOT 1COUNT REPEATS tLIMIT: 4 REPEATS OR RECOVERED 1END REPEAT BEQ 502254 : 1REPEAT S02214 BNE BR 502234 : SEQ 087 WRTYER TSTB 014706 014710 014710 014714 014716 014716 014720 014724 014730 014734 014740 014742 014744 2458 014750 2459 014750 2460 014756 2461 014760 2462 014766 2463 014772 2464 014776 1BEGIN REPEAT 502204 : 166560 166560 2452 2453 2454 2455 2456 2457 J7 30-NOV-83 10:17 RETRYC ;COUNT RETRIES 502234 3502164 JEXIT RETRY LOOP IF RECOVERED WRTYER ERCVER 1IFB ERCVER NE €0 THEN 502254 #BTMSG1,RETRYC, <B,RPTCNT> cHp BNE MOV MOV ADD MOV cHP BHI MOV ADD MOV RETRYC,#1 502264 BTADDR(RS),BTPT SBTPT.R4 #2,R4 R4 ,88TPT R4, " S0227¢ BTPT.R3 R3.R4 RECCNT(RS),(R4) INCB CLRS CLRB ERSFLG RWERR RPTCNT cHP BNE RETRYC,#4 S0217¢ tPRINT SUSPECTED BAD SPOT CLR -(SP) BIS8 MOV MOV RPTCNT,(SP) RETRYC, -(SP) #8TMSG1, -(SP) MOV TRAP ADO SP,RO C$PNTB 1ON FIRST RETRY, LOGG BAD SPOT 18TPT_IS BOTH THE BAD SPOT COUNTER 1AND THE LOGGING INDEX 1IF R4 LOS #40. THEN 1STORE FIRST 20 ng SPOTS ILET R4 := R4 . ILET (R4) 1= RECCNT(RS) . ' S0227¢: 105267 105067 2478 015036 2479 015036 2480 015044 2481 2482 015046 026727 001274 502264 : 166477 166435 166424 166416 000004 S02244; 502164: 1END RETRY €10,5P 1ERASE FLAG TO ERASE BAD RECORD iC L “LOG" ERROR FLAG ON FAILING RET REPEAT COUNT FOR NEXT RETRY 1CLEAR 1LIMIT: 4 RETRIES MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 2483 015046 105767 166412 TST8 105767 165127 Tgl’l BEQ 012746 012746 010600 104414 062706 015247 000001 001413 001410 IK7 30-NOV-83 10:17 PRINTB WRTYER 502304 ERCVER 502314 #BTMSG3 ;IFB WRTYER NE €0 THEN 1IFB ERCVER NE #0 THEN 1PRINT RETRY FAILED MOV #BTMSG3, -(SP) MOV TRAP ADD SP,RO CS$PNTB 04,5P S02314: 502304 : 2491 015102 2492 015102 2493 2494 015104 2495 015106 2496 015110 2497 2498 015112 2499 015177 gesks 32 3S8ERERER GERBERERN 015115 015120 RTS PC WTYCMD: WTYWRD: WTYBRF : MORD MORD MORD O O O BTMSG1: .ASCIZ /#ASUSPECT BAD SPOT AFTER #D1sA RETRY, sD1sA REPEATSN/ BTMSG2: .ASCIZ /#NeABAD TAPE OVERFLOW: CHANGE TAPE !#NsN/ BTMSG3: .ASCIZ /#ARETRY FAILED ON BAD SPOT...ERASED!#N/ 1STORAGE FOR WRITE CMD WHILE RETRYING 1STORAGE FOR WRITE CMD WORD WHILE RETRYING 1STORAGE FOR WRITE BPCR WHMILE RETRYING 101 MACRO M1113 - GLOBAL AREAS . GLOBAL SUBROUTINES SECTION 015266 015271 015274 040 104 120 056 105 123 041 000 [l SUBR TO BACSPACE ONE RECORD IF THE ERASE FLAG IS SET, THEN ERASE THAT RECORD 3 OUTPUTS: ' : i 166100 166066 164770 164762 INPUTS: CALLS: 8IC ] EXCUTE, GOWAIT, CKHAE CMOMRD ., PCMDMD #SRR, CMDMWRD ,CMDOPKT #8RF .C,CMDPKT ;SET COMMAND TO SPACE REV sLET CMDWRD := #SRR ;LET CMDPKT := CMDWRD CLR.BY #BRF.C CMDPKT ,CMDSAV T CMDSAV := CMOPKT ; #1,CMDPKT+CP, ADL aLET CMOPKT+CP.ADL. := 91 CMOLG JLET CMDLG := 3 PC.CMDAC a PC.EXCUTE : PC.GOWAIT ’ PC,.CKHAE 3 ERSFLG sWHEN ERASE FLAG IS SET, DO ERASE S02324 CMDWRD , PCMDWD sLET PCMDWD := CMDWRO ; #ERS , CMDWRD sLET CMDWRD := #ERS CMDWRD , CMDPKT sLET CMOPKT := CMDWRD ; CMOPKT ,CMDSAV sLET CMDSAV := CMDPKT ; JSR JSR JSR CLR8 PC.EXCUTE PC.GOMAIT PC.CKHAE ERSFLG RTS PC,CHDAC ; 1LET ERSFLG :8= @0 PC SUBR TO REWRITE A BADLY WRITTEN RECORD REWRT:: MOV LPCMOMD ;RESTORE WRITE COMMAND PACKET MOV MOV MOV MOV MOV WTYWRD,CMDWRD ;LET CMOMWRD := WTYWRD WTYCMD , CMDPKT |LET CMOPKT := WTYCMD l CMOPKT ,CMDSAV ;LET CMDSAV := CMDPKT DATAMT ,CMOPKT +CP . ADL tLET CMOPKTCP. GDL 1= DATANT WTYBRF ,CMDPKT +CP .CNT 1LET CMOPKT+CP.CNT := WTYBRF JSR JSR JSR PC.EXCUTE PC.GOWAIT PC,CKHAE :'Is"\‘ ———— 1 = DO ERASE MOV MOV CLR JSR JSR JSR JSR TST8 BEQ MOV MOV MOV MOV JSR S02324: ERSFLG REGISTERS: BORERS : : MOV MOV MOV 164750 U SEQ 089 .EVEN : 2546 015550 2547 015554 2548 015560 2549 015564 L7 30-NOV-83 10:17 :%.OII.G sLET CMDLG := #2 tRE-WRITE RECORD ' ' | GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2550 2551 2552 2553 33 2555 25255557 105767 001126 105267 016704 005704 001520 162704 010502 165674 2567 015622 062702 002626 , 2569 015632 3570 015640 2571 015642 026767 101002 166712 164522 165556 2573 015646 2574 015646 2575 015650 010208 062703 2577 015654 2578 015654 2579 015660 2580 015662 2581 015666 021227 003404 162712 005213 016052 2568 015626 066712 165564 010302 062702 021327 003404 162713 0052 TSTE BNE INGB MOV TST BEQ SUB MOV ERLOG 50233¢ ERLOG CMOLG.R4 Re 502344 #2,R4 RS.R2 ADD OCNTBGN,R 010203 062703 2599 015730 2600 015732 2601 015736 003404 162712 005218 001747 ADD S02368: 502374 001747 001750 S02426: 001750 2603 015740 000771 165521 JIF DATA AND ERRORS MAVE NOT BEEN LOGGED THEN: JSET LOG DONE FLAG. 1GET CURRENT CMD LOGGING CODE. 'IF THERE IS A CODE THEN: JADJUST THE CODE FOR TABLE INDEX. tR2 = ADR OF BYTE COUNT LSW. nsenams RFC.BRFCNT 502354 MSGPKTMS.RFC,(R2) MOV ADD R2,R3 #10.RS ;ADD BRF TO LSW. ;IF THE RFC IS LOWER OR THE SAME AS BRF THEN JSUBTRACT RFC FROM EXPECTED BRF. JR3 = ADR OF 2ND WORD. JWMILE C(R2) GT #999. DO CP (R2),9999. BLE So237¢ SUB #1000.,(R2) JUPDATE BYTE COUNT INC (RS) JLET (R3) := CR3) + @1 BR 502434 BR MOV ADD o 12ND WORD. 502364 WV R3.R2 JLET R2 := RS + 910 ADD €10.R2 S02408: yWMILE CR3) GT 995, 00 P (RS),0999 BLE S024i¢ SUB #1000.,(R3) JUPDATE BYTE COUNT IN (R2) JLET (R2) 1= CR2) + @1 502418 000010 amc(an 2 BRFCNT R3) e BHI SUB 001750 000010 CALLS: ADD 000010 2598 015724 021227 001747 105767 001440 | 502354 : 5593 015714 000771 2594 015716 5595 015716 2596 015720 2597 015724 2604 015742 2605 015742 2606 015746 LOG:: 164512 2583 015670 000771 2584 015672 2585 015672 2586 015674 2587 015700 2588 015700 2589 015708 2590 015706 3591 015712 SUBROUTINE TO LOG BYTES READ/WRITTEN. ALSO UPDATES READ/WRITE ERROR COUNTERS. INPUTS OUTPUTS: REGISTERS: R2, RS, R4. 165666 165622 000002 SEQ 090 : : : : f 2558 015566 2559 015572 5560 015574 2561 015600 2562 015604 2563 015606 2564 015610 2565 015614 2566 015616 M7 30-NOV-83 10:17 tR2 = ADR OF 3RD WORD. +SRD WORD. 502408 R2,RS JLET RS := R2 + 010 010.RS JWMILE CR2) GT #999. DO JRS = ADR OF 4TH WORD. CR2),0999. BLE SUB IN S0243¢ #1000..CR2) JUPDATE BYTE COUNT (RS) JLET C(R3) 1= (R3) + @1 BR s0242¢ TSTBE BEQ RMERR 502444 J4TH WORD. +IF R/M ERROR, UPDATE ERROR COUNT. \ | GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2607 015750 2608 015752 2609 015756 2610 015762 2611 015766 2612 015770 2613 015774 2614 2615 015776 010502 066402 062702 105767 001404 062702 005212 2617 016000 2618 016002 2619 016006 005212 105767 001020 2616 016000 2620 016010 2621 016014 2622 016016 2623 016022 2624 016024 016024 016030 016034 016040 016042 016044 30-NOV-83 10:17 016060 002766 165502 000010 000424 S02454: 164205 105767 001015 105767 001412 165506 016746 012746 012746 010600 104414 062706 165430 005422 000002 164165 S02474: 2631 016050 502464: 2633 016050 502444 2635 016050 502344 2641 016052 [ 000000 Q00040 2645 016060 2646 016062 2647 016064 000000 000020 000040 2643 016056 S02334: 000207 0 BR 502464 INC TST8 BNE (R2) IREC S02474 SEQ 091 tR2 = ADR OF COUNTER. 1IS THE ERROR UNRECOVERABLE? sYES, POINT TO NEXT COUNTER. stUPDATE THE ERROR COUNTER IELSE - IF ERROR IS RECOVERABLE: tUPDATE THE ERROR COUNTER +sIF ERROR RECOVERY IS ENABLED: DROPED 502504 ERCVER 502504 $IF UNIT HAS NOT BEEN DROPPED: @NURTY1,RETRYC sPRINT @ OF RETRIES TO RECOVER MOV MOV MOV MOV TRAP ADD 000006 2628 016050 2640 RS.R2 EINCC(R4),R2 OWRREC, UNREC 502454 #10,R2 (R2) PRINTB S02504: ggg 016050 MOV ADD ADD TST8 BEQ ADD INC TST8 BNE TST8 BEQ 2626 016050 2637 016050 N7 BINC: 000100 2 EINC: sPROVIDED PRINT HAS BEEN ENABLED RTS PC INDEXES TO BYTE COUNTERS. 0 40 1WRITE. sREAD REV. 100 ,m‘m FWD. 0 20 40 IWRITE. tREAD REV. sREAD FWD. INDEXES TO READ/WRITE ERROR COUN ’ ] 2651 2652 'l ' READ FORWARD, CHECK DATA, THEN CONTINUE TO NEXT COMMAND. INPUTS: [l REGISTERS: ] 2653 l 2654 2632 2657 016066 ' 105767 165424 IF A WRITE/VERIFY COMMAND IS ISSUED, S. 2649 2650 RETRYC,-(SP) ONURTYL, -(SP) 92,-(SP) SP, CSPNTB #6,SP CONTROL IS THEN TRANSFERRED TO THIS SUBROUTINE TO flém REVERSE, CHECK DATA, OUTPUTS: CALLS: VFYDAT::TSTB VFYFLG VFEXC. +IF DATA IS TO BE VERIFIED: 2638 016072 2639 016074 2660 016102 2661 016110 2667 ' | ' i } i i MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 30-NOV-83 10:17 163320 104401 000004 000030 163272 104001 000006 000002 163322 163310 163310 163274 165262 2668 016150 502514 SEQ 092 BEQ MOV MOV MOV JSR MOV MOV MOV JSR 302314 CMOMWRO , PCMOWD OROR, o4, CMOLG PC,VFEXC . PCMOWD OROF , CMDWRO 06,CMOLG PC.VFEXC RTS PC 1SAVE THE MVIM COMMAND WORD. 1COMMAND IS READ REV, lSGT UP CMD LOGGING INDEX. 1GO READ ALL THE RECORDS REV. 1SAVE THE PREVIM COMMAND WORD. 1COMMAND IS READ FuWD. 1SET P _CMD LOGGING INDEX, 1GO READ ALL RECORDS FWD. tRETURN. snno.snm TO EXECUTE THE READ AND VERIFY, FORWARD OR REVERSE. INPUTS: QUTPUTS: REGISTERS: CALLS: 2680 016132 2681 016160 2682 016166 2683 016172 2684 016174 2683 2686 016202 2687 016202 2688 016210 2689 016216 2690 165242 165326 164150 164142 010000 164126 164122 1€3174 165170 165212 164114 VFEXC:: CMOWRD ,CMDPKT TST8 8EQ 8IS SHBFLG 502324 #5u8 . C, CMOPKT MOV MOV CLR CMOPKT , CMDSAY DATARD , CMOPKT +CP . ADL NCNT 8IC 8GE JSR JSR F . C , CHOPKT OBR ;COMMAND PACKET = READ REV OR FWD. 50254 ’CCMDAC FIRSTV 1IF BYTES ARE TO BE SWAPPED: 1SET SWAB BIT IN CMD PACKET. 1SAVE .‘}SAVE COMMAND PACKET 1ST WORD. FER START ADDRESS. [ NUMBER OF OPERATIONS. tWHILE THERE ARE RECORDS REMAINING: 1STORE CMD ASCII IN ERROR MSG. 1SET WP rm FIRST UNIT. WHILE&VTI.(RS) NE ®END DO llflILE THERE ARE DEVICES REMAINING: 17777 BEQ 8IT 165140 003502 502614 DEVTBL(RS3), #END TST8 BEQ JSR 302364 #M00 . CO, CMDWRD 302574 #X0.80T ,EOTFLG(RS) 502604 #X0.EOT ,EOTFLG(RS) 302614 ALLEOT 302624 PC.VFISVU BR 302634 JSR PC.VFISV BEQ 8IT BNE B8IT 8EQ 003502 2706 016306 2707 016310 2708 2709 016314 2710 2711 016314 2712 016316 2713 016316 2714 MOV gu NCNT LT NCNT1 DO NCNT ,NCNT1 165164 2703 016272 2704 016300 2705 016302 R2 CMDAC, FIRSTU, VFISU, NEXTU, CKXMAE. 1IF CMD IS REVERSE THEN: 1IF NOT AT BOT 1BUT IF AT EOT 1AND ALL OTHERS AT EOT 1 THEN READ VERIFY 1IF NOT ALL AT EOT, FREEZE UNIT(S) 1IF NOT AT BOT AND INOT AT EOT, READ VFY MACRO M1113 GLOBAL ARE aoeu. w S SECT ION 2715 016322 2716 2717 016322 2718 016322 2719 016324 2720 016324 2721 016332 2722 016334 2723 016342 2724 016344 27235 2726 016344 2727 016350 2730 016350 016350 C8 30-NOV-83 10:17 $02634 S02604: 000412 0327635 000001 003502 032767 000001 165056 001002 S02574: 502654 004767 $0264 ¢ JELSE IF CMD IS NOT REVERSE: BIT #X0.EOT,EOTFLGCRS) JSR PC.VFISU BEQ 8IT BNE $02654 #CMD, CO, CMOWRD $02664 +IF NOT AT EOT OR NOT A MOTION CMD THEN: +ISSUE CMD, CHECK STATUS AND DATA. S02664: S02644 : 016354 016356 016356 2736 016362 016366 000732 2739 016374 016376 016376 000712 JSR B8R S02564: JSR INC MOV B8R 000207 RTS 004767 004767 003267 016767 000574 001116 65024 165026 165030 S02544; 164774 177777 173424 165066 173722 165054 000002 PC,NEXTU $0255¢ PC, CKHAE NCNT CMOWRD , PCMOWD $0253¢ 4GO FIND THE NEXT UNIT. PC JRETURN. JCHECK FOR HALT AFTER EACH CMD. JUPDATE THE RECORD COUNT. 1SAVE PREVIOUS COMMAND WORD. ; : : ' SUBROUTINE TO ISSUE COMMAND, AMAIT INTERRUPT, CHECK STATUS, CHECK DATA. INPUTS; OUTPUTS: S02714: 1ST8 BNE 8IT BNE ; REGISTERS: R2 ; CALLS: EXCUTE, GOMAIT, CKDATA. VFISU:: g o.gng.az +INIT READ BUFFER POINTER. S02674: JMMILE R2 NE DATARD DO JUNTIL 8 BYTES HAVE BEEN SET, o R2,DATARD $02704 8EQ MOV e-1,-(R2) +INIT READ BUFFER. S0267¢ B8R $02704: JSR PC,EXCUTE 1GO EXECUTE THE COMMAND. TSTE DROPED +IF UNIT HMAS NOT BEEN DROPPED THEN: S02714 BNE JSR PC.GOMAIT 1GO WAIT FOR DONE BIT. 165004 000010 2767 016450 2768 016456 2769 016460 2770 2771 016464 SEQ 093 003502 JSR 000002 502734 +IF UNIT MAS NOT BEEN DROPPED THEN: S0272¢ #X0.80T,EOTFLGCRS) JWHEN NOT REVERSED INTO BOT, THEN 502734 PC,CXDATA 1GO VERIFY DATA, MACRO M1113 - GLOBAL AREAS GLOBAL SUBROUTINES SECTION 2772 2773 016464 2774 016464 3176 S02724: 000207 2777 ¢ 27179 2780 2781 g;g ] ' : § 2778 ' 2784 016466 2785 016472 016703 166703 2787 016500 001015 2786 016476 2788 016502 016502 016504 016506 016510 2789 016512 005703 164724 163662 005337 000001 016526 062706 000004 2791 016534 2792 016534 2793 016540 2794 016542 101417 016544 016546 016550 2795 016552 000021 004430 005752 016562 016566 012746 010600 016542 164656 016552 016556 016746 012746 163560 005360 016570 016572 104414 062706 000006 2797 016576 2798 016600 2799 016600 2800 016604 2801 016610 000536 2603 016616 005067 005002 016703 2605 016626 26806 016632 105767 001401 2002 016614 0 2807 016634 2809 016636 016704 000272 000266 R2, RS, R4, GCMDA BRFCNT ,R3 MSGPKT +MS.RFC,R3 sCOMPUTE REC LENGTH READ R3 PRINTB sWHEN NO DATA RECEIVED S02744 17,WTVERM,DTAERM @DTAER4 sPRINT ERROR AND EXIT TRAP CSERMRD MOV MOV MOV S®OTAERA, -(SP) 20,-(SP) RO ADD o4,5P .WORD .WORD .WORD 1COMPARE ROUTINE TRAP S02744: BR S02754 cp R3,BRFCNT BLOS S0276¢ ERRHRD 17,WTVERM,DTAERM 104456 010367 005367 INPUTS: OUTPUTS: REGISTERS: CALLS: ERRMRD 012746 012746 010600 2790 016532 SUBROUTINE TO COMPARE DATA BETWEEN READ AND WRITE BUFFERS AND PRINT ERROR MESSAGE ON MISCOMPARE. ST 000021 004430 005752 SEQ 094 PC CKDATA: : MOV SuUB 104456 104414 RTS BNE 016512 016516 16522 016524 D8 30-NOV-83 10:17 PRINTB @DTAERS,CMDPKT+CP.CNT S02764: 000264 164564 164562 S0277¢ MOV DEC RS, CKDCNT CKDCONT CLR CLR MOV CKOFF R2 TSTS BEQ T1SW8 503004 MV 164671 000313 SWAR $0300¢: DATAMT R3S DATARD ,R4 (R3) CSPNTB 1WHEN REC READ IS LONGER 1 THAN EXPECTED, PRINT TRAP WORD WORD .WORD 1AN ERROR MESSAGE $AND EXIT ROUTINE CS$ERHRD 17 WTVERM ODTAERM . e MOV MOV CMDPKT+CP.CNT, -(SP) QOTAERS, -(SP) TRAP ADD CS$PNTB 6,5P MOV MOV BR 17 WTVERM ODTAERM 0®,-(SP) SP,RO 1SAVE VERIFICATION LENGTH - 1. 1CLEAR @ OF BYTES IN ERROR COUNTER. 1INIT BYTE COUNTER 1GET WRITE BUFFER ADDRESS. 1GET READ BUFFER ADDRESS. 1WHEN RUNNING TEST1-SUB 12, 1SWAP FIRST WORD OF WRT BFR tWHICH CNTAINS THE RECORD COUNT ' GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 203016 2810 2811 016636 2812 016636 2813 016642 2814 016644 2815 016650 ES8 30-NOV-83 10:17 020267 001011 105767 001406 032767 001002 105723 105724 1REPEAT : 000234 SEQ 095 164650 000001 cHpP BNE TST8 BEQ BIT BNE TST8 TSTB R2,CKDCNT 503024 SWBFLG 503034 #BIT00,CKDCNT 503044 (R3)+ (R4 sREPEAT UNTIL ALL DATA IS COMPARED: 1 IF THIS IS THE LAST BYTE THEN: 1 IF BYTE SWAPPING IS ENABLED THEN: 1 IF RECORD LENGTH IS ODD THEN: sLAST BYTE WILL BE IN s THE UPPER BYTE. S03044: S0303¢: 121314 S03024: BEQ TST BNE INC INC (R3),(R4) 3 CKOFF 28 VFYCNT(RS) HROCNT(RS) ERRHRD 17,WTVERM,DTAERM 248: 2835 016730 2836 016736 2837 016742 2838 016750 2839 016756 2640 016760 016760 016762 INC MOV 8IC MOVB 024 2847 017030 2848 017032 2649 017036 2850 017042 2851 017044 017044 1BR IF SO. |1 ST TIME THRU? 1BR IF NOT. 1 INC THE VERIFY ERROR COUNTER. sINC THE HARD ERROR COUNT. smt WRITE/VERIFY ERROR. TRAP WORD *LETCKDFF := CKDFF + @1 (R4), 0171400 TII'EI (R3),T nez .WORD .WORD CS$ERHRD 17 WTVERM OTAERM s INCREMENT @ OF BYTES IN ERROR. SAVE WAS DATA FOR TYPOUT. EAR GARBAGE. |SAVE SHOULD BE DATA FOR TYPOUT. B8IC cP 9177400, TIME2 mefifl.l. PRINTX @DTAER2,R2,<B,TIMEL1>,<B,TIME2>;PRINT ACTUAL €& exggm M{e’) S03054: 3¢: sARE THEY EQUAL. TST8 TST8 7ST8 BLE INC TST BEQ PRINTB tCLEAR GARBAGE. +IF ERROR BYTE COUNT IS LESS THAN 11: 8IS8 CLR B8IS8 MOV MOV TIMEL,.(SP) R2,-(SP) ®OTAER2, -(SP) MOV TRAP ADD SP,.RO CSPNTX €12,5SP (R3)e (R4 ) (R2)¢ tUPDATE WRITE BUFFER ADDRESS. tUPDATE READ BUFFER ADDRESS. llPOlTE BYTE COUNTER. S03014 CKDCNT 1CKDCNT EQUALS RECORD LENGTH. R2, CKDFF S0306¢ @DTAER3,CKDFF ,CKDCNT TIME2,(SP) -(SP) 1END OF DATA COMPARE REPEAT LOOP. 1 IF COMPARE ERROR MAS OCCURED THEN: tPRINT @ OF BYTES IN ERROR. MOV CKDCNT, -(SP) . GLOBAL AREAS MACRO M1113 ' GLOBAL SUBROUTINES SECTION 017050 017054 017060 017064 017066 017070 2853 017074 2854 2855 017074 2856 2857 017074 016746 012746 012746 010600 104414 062706 F8 30-NOV-83 10:17 000024 005275 000003 SEQ 096 MOV MOV i MOV MOV TRAP 000010 ADD 503064: 502774 22338 017074 000207 2860 017076 % 017100 000000 000000 S02754: RTS PC 1OTHERWISE, RETURN. CKDCNT: CKOFF: .WORD .WORD © O +1® OF BYTES TO BE VERIFIED -1. +1® OF BYTES IN ERROR COUNTER. 2863 [l SUBROUTINE TO FIND THE FIRST DEVICE IN THE TEST SEQUENCE. 2867 ] 2864 2865 2866 2869 017102 2870 017106 2871 017110 2872 017116 2873 017120 2874 017124 287S 017126 2876 017126 2877 017134 2878 017136 : : ' 105067 005005 026527 001003 062705 000771 026527 001001 ”» 017136 104444 2880 017140 2881 017140 22‘82‘.3 017146 016567 000207 164414 002604 002604 177774 177777 162726 2885 2886 2887 2888 2893 017154 2094 017154 2895 017160 2896 017166 2897 017170 26898 017176 2899 2900 2901 S0310¢: SO03114: 3 3 5 H 2889 2891 017150 3 105067 062705 026527 001772 016567 000207 164346 000002 CALLS: CLR S0307¢: O 000002 002604 INPUTS: OUTPUTS: REGISTERS: FIRSTU:: CLRB 2884 2892 CKDFF,-(SP) ODTAERS3, -(SP) #3,-(SP) SP,RO CSPNTB #10,5P BNE ADD B8R 002604 177774 002604 162676 S0310¢ #2,.RS S0307¢ sCLR DEVICE POINTER. sWHILE DEVICES ARE NOT IN USE: tLET RS := RS « 82 DEVTBL(RS),#END S0311¢ MOV RTS DEVTBL(RS),LSLUN PC stPOINT TO NEXT DEVICE. $IF ALL UNITS HAVE BEEN DROPPED THEN: 100 CLEAN CODE AND TERMINATE PASS. TRAP CSDCLN $SET UNIT @ IN "HEADER” FOR ERROR REPORT sRETURN WITH 1ST DEVICE IN RS. SUBROUTINE TO FIND THE NEXT UNIT IN THE TEST CYCLE. INPUTS: 2 REGISTERS: CALLS: sREPEAT ADD cHP BEQ MOV RTS i sCLR UNIT DROPPED FLAG cHP BNE DOCLN NEXTU:: CLRB 503124 DROPED RS DEVTBL(RS ), NINUSE DROPED tCLR UNIT DROPPED FLAG #2,.RS tUPDATE DEVICE TABLE POINTER. DEVTBL(RS), ONINUSE 503124 DEVTBL(RS),LSLUN PC sREPEAT UNTIL THE NEXT DEVICE IS FOUND. sUNTIL DEVTBLCRS) NE ONINUSE 1SET UNIT @ IN "HEADER" FOR ERROR REPORT tRETURN, SUBROUTINE TO DROP A DEVICE FROM THE TEST SEQUENCE. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 30-NOV-83 10:17 2902 2903 2904 2905 H ] ! : 2907 017200 2908 017204 2909 017210 2910 017214 2911 017220 016704 042704 016503 003366 163160 000377 002544 2913 017222 020227 000020 2915 017230 012723 177777 2912 017222 2914 017226 001405 000770 2920 017242 2921 017250 2922 017254 2923 017260 012775 004767 004767 020427 2919 017242 2924 017264 2925 017266 017266 2926 017270 017272 017274 2927 017276 2928 017300 2233 017300 2931 017304 2932 017304 2933 017310 2934 017312 ggz 017316 2937 017322 2938 017322 017322 2939 017324 2940 017330 2941 017332 2943 017336 2944 017336 294S 017344 2946 017350 017350 22:; 2949 017352 2950 017360 2951 017362 2952 017366 001005 002340 173424 173454 157400 INPUTS: OUTPUTS: REGISTERS: CALLS: DROPU:: INC MOV 8IC MOV S0313¢8: 002514 503144 FTLCNTCRS) 1 INCREMENT THE FATAL ERROR COUNT. MSGPKT+MS.XS3,R4 ;GET UDIAG ERROR CODE FROM XSTATS, ®377.R4 , MSGPKACRS),R3 sADR OF THIS UNIT'S MSG PACKET. R2 tLET R2 := #0 sCLR COUNTER. . BEQ S03144 ADD .fiz T #-1,(R3). 004767 000106 105767 001404 105267 004767 164155 164204 176244 MOV JSR JSR cHP OGSCPK ,8TSDB(RS) PC.WSSR PC.MOVMSG R4, #X3 . RNY sINITIATE A GET STATUS COMMAND. sWAIT A WHILE FOR SSR=1 sMOVE MSG PACKET TO COMMON AREA. 1IF WE HAVE A CAPSTAN RUNAKWAY THEN: ERRDF 16 ,RNYM,STAERM sREPORT CAPSTAN RUNAWAY WITH TACH CNT. S0315¢ 104424 005765 001402 005365 016767 016700 003326 DROPUA: 003326 164172 164164 000044 7ST8 BEQ INCB 503204: TRAP $ELSE-IF NOT A RUNNAMWAY: .WMORD .WORD .WORD CSERDF 16 RNYM STAERM PC.PRXST 1PRINT EXTENDED STATUS REGISTERS. RECLOG S0317¢ DROPED PC.LOG +IF THE RECORD HAS BEEN LOGGED THEN: DORPT TST BEQ DEC PASCNT(RS) S0320¢ PASCNT(RS) MOV MOV TSNP , DROPN TSNP ,RO DODV 104451 026527 001410 105767 001005 503164 JSR S03174: sUPDATE COUNTER. S0313¢ S031S¢: S03164: sINIT THE MSG PACKET WITH ALL 1'S sLET R2 := R2 + #2 004753 006120 000402 sWHILE THERE ARE MORE LOCATIONS: BR BNE 104455 SEQ 097 MOVMSG, PRXST, LOG ;WHILE R2 NE #MSGCNT cHP MOV gig 017234 062702 000002 2918 017240 G8 RO 1SET UNIT DROPPEDFLAG. 1LOG DATA BYTES ¢+ RD/WR ERRORS. 1PRINT PERFORMANCE REPORT TRAP 1 IF PASCNT(RS) NE €0 THEN CSDRPT tLET PASCNTC(RS) := PASCNT(RS) - #1 1SAVE @ OF UNIT TO BE DROPPED. 1RO=LOGICAL DEVICE NUMBER 1DROP THE UNIT TRAP C$000V 1EXEC BGNDU-ENDDV CODE IF IDU = O 002604 162625 177774 cHP BEQ TST8 BNE DEVTBL(RS ), #NINUSE S0321¢ IREC 503224 1IF UNIT NOT DROPPED 1+IF RECOVERY IS ENABLED THEN: ———— . GLOBAL AREAS MACRO M1113 - GLOBAL SUBROUTINES SECTION 2953 017370 2954 017372 2955 017374 2956 017376 2957 2958 017402 2959 2960 017402 2961 017402 2962 017406 2963 000240 000240 000240 105267 —— . H8 30-NOV-83 10:17 NOP NOP NOP INCB 164124 ——— . ———— So— STAFLG SEQ 098 1SET START FLAG TO ENABLE REWIND, 503224 105267 000207 164114 2964 017410 2965 2966 2967 2968 2969 2970 2971 503214 DRORTN: INCB DROPED 1SET UNIT DROPPED FLAG. RTS PC tRETURN. .MORD O 1@ OF UNIT TO BE DROPPED SUBROUTINE TO PRINT EXTENDED STATUS REGISTERS. INPUTS: OUTPUTS: REGISTERS: CALLS: 2972 017412 PRXST:: PRINTX OGETSTM MOV MOV MOV TRAP 2973 017432 PRINTX 017470 017472 2974 017476 OGETSTM, -(SP) ,-(SP) SP,RO CIPNTX o4 ,SP @STAERS,MSGPKT +MS.XSO,MSGPKT+MS . XS1,MSGPKT +MS.XS52,MSGPKT +MS . XS3 ,MSGPKT +MS . XS MOV MOV MOV MOV MOV MOV MOV MOV TRAP ADD RTS PC MSGPKT +MS . XS4, -(SP) MSGPKT +MS.XS3,-(SP) MSGPKT +MS . XS2, -(SP) MSGPKT+MS.XS1, -(SP) MSGPKT +MS . XS0, -(SP) #STAERS, -(SP) #6,-(SP) SP,RO CSPNTX #16,SP SUBROUTINE TO HALT AFTER EACH COMMAND. INPUTS: OUTPUTS: REGISTERS: CALLS: 162502 164017 163674 171406 164552 164544 TST8 BEQ TST8 BNE R3, R4 HAE;IFB HAE NE #0 THEN 5032348 MISCFG 503244 1IF HALT FLAG IS SET: 1 IFB MISCFG EQ €0 THEN 1+ IS MANUAL INTERVENTION ALLOWED? BNCOMPLETE CKMRTN 1BR IF NOT. CMDURD ,R4 1LET R4 ;= CMDWRD C(R3)¢ ,HALTM (R3)¢ ,HALTM.1 (R3),HALTM.2 1MOVE CMD ASCII ILET NALTHd 18+ (R3). 1 INTO MESSAGE. MOV8 MOVB MOVB JSR PC,GCMDA : 1FETCH ADR OF CMD ASCII. TRAP C$MANI sCOMMAND WORD. . GLOBAL AREAS MACRO M1113 - GLOBAL SUBROUTINES SECTION i 18 30-NOV-83 10:17 GMANIL HALTM,TIME1,1,YES 104443 | 000404 003436 000130 004306 000001 SEQ 099 tHALT - WAIT FOR AN OEPRATOR INPUT. TRAP BR .WORD .WORD CS$GMAN 100004 TIMEL T4CODE D;ALTH 10000% : 10000¢: 000402 105067 503244 : 163743 BR 503254 CLRB MISCFG sLET MISCFG :8= @0 : 503254 505234 CKHRTN: RTS .EVEN PC tRETURN ENDMOD .TITLE MISCELLANEOUS SECTIONS .SBTTL REPORT CODING SECTION goe s+ THE REPORT CODING SECTION CONTAINS THE s "PRINTS” CALLS THAT GENERATE STATISTICAL REPORTS. '.. L$RPT:: 177777 BGNRPT JSR RS .RSSAVE PC,FIRSTU cP BEQ DEVTBL(RS), #END 503274 S03264: ;WHILE oevi‘u.(n) NE #END DO PRINTS PRINTS P s & ~a——— —— 017654 017660 017664 017670 017674 017676 1 SAVE CURRENT DEVICE POINTER. 1FIND THE FIRST UNIT. sWHILE THERE ARE MORE DEVICES: ORPT1A,DEVTBL(RS) ,PASCNT(RS) ,RECCNT(RS) ORPT18,WRBC+30(RS),WRBC+20(RS),WRBC +10( ;3333333 §383333¢ 3018 017570 017570 3019 017570 ), WRBC RECCNT(RS), -(SP) PASCNT(RS), -(SP) DEVTBL(RS), -(SP) ORPT1A, -(SP) SP 017700 3026 017704 017704 017710 017714 017720 017724 062706 017740 3027 017744 017744 017750 017754 017760 017764 017770 017774 017776 062706 020000 3028 020004 020004 ADD 062706 016546 020024 012746 020034 010600 104416 062706 020040 020044 020050 016546 016546 016546 014, SP ORPT1C,RRBC+30(R5),RRBC+20(R5),RRBC+10(R5),RRBC(RS) PRINTS MOV MOV MOV MOV MOV RAP #14,SP ADD ORPTID.RFBCoBO(RS).RFBCozo(RS).RFBCdO(RS).W(:FS PRINTS ORPT1F ,WRREC(RS),RRREC(RS),RFREC(RS) PRINTS ORPT1G,WRUNR(RS ) ,RRUNR(RS) ,RFUNR(RS) — 016546 016546 016546 016546 012746 012746 010600 104416 016546 012746 SEQ 100 PRINTS 012746 010600 104416 016546 020030 000014 016546 016546 016546 016546 012746 020010 020014 020020 350-NOV-83 10:17 020735 000004 000012 003036 003016 002776 021006 000004 000012 162110 TST8 BEQ S503308: 003346 003366 003356 NE €0 THEN 1IFB BADTSW BADTSW 503304 JSR PC,BTRPT 1GO PRINT BAD TAPE SPOTS WHEN ENABLED ORPTLI,SCCNT(RS),HROCNT(RS) ,FTLCNT(RS),VFYCNT(RS) PRINTS g3d 82 017730 017734 017736 MACRO M1113 83 REPOR T CODING SECTION "§382333% 83333339 Byaglg ' MISCELLANEOUS SECTIONS J8 MOV 003336 021203 000005 VFYCNT(RS),-(SP) FTLCNT(RS), -(SP) HROCNT(RS), -(SP) SCCNT(RS), -(SP) ORPTLI, ;(SP) SP,.RO CS$PNTS 000014 176776 JSR BR PC,NEXTVU 503264 tFIND THE NEXT UNIT. #14,SP | MISCELLANEQUS SECTIONS REPORT CODING SECTION 3039 020154 3040 020154 3041 020160 020160 020162 016705 MACRO M1113 30-NOV-83 10:17 503274: 163272 000167 001130 : ' ' . 020164 020170 020174 020200 020202 020204 016546 012746 012746 010600 104416 062706 3051 020222 3 3049 020210 3050 020216 3052 020224 3053 3054 3055 3056 3057 016567 017703 020224 020226 020232 020236 020240 010346 012746 012746 010600 104416 020246 020250 020252 020256 020260 005703 001457 020327 101402 012703 020242 3059 020264 3060 020264 020264 020270 020274 020276 020300 3061 020304 3062 020310 3063 020314 3064 020316 3065 020316 020316 020320 020324 020330 020332 020334 3066 020340 3067 020342 3068 020 3069 020352 3070 020354 062 002616 163270 163274 016704 062704 011446 012746 012746 010600 104416 062706 062704 020227 001014 tRESTORE CURRENT DEVICE POINTER. RPT WORD .WORD @ORPT1E,WRTYCT(RS) 1PRINT GLOBAL WRITE RETRY COUNT MOV MOV BTADDR(RS) ,BTPT 88TPT,R3 1BTPT IS BOTH THE BAD TAPE SPOT COUNTER 1AND THE LOGGING INDEX PRINTS @ORPT1J,.R3 R3 1PRINT @ OF BAD TAPE SPOTS 021107 000002 000006 TST B8EQ cP BLOS MOV 000024 000024 005744 000001 000004 163202 000002 PRINTS MOV BTPT,R4 1IF R3 HI €20. THEN 000012 INC ADD cHP BNE R2 #2,R4 MOV MOV MOV MOV TRAP RS, -(SP) ORPT1J, -(SP) «-(SP) SP.RO CSPNTS #6,SP : 120 BAD SPOTS IS THE LIMIT ;LET R4 H := BTPT + #2 ORPTIK,(R4) MOV MOV MOV TRAP ADD 1R2 = PRINT COUNT PER LINE: ' tPRINT A BAD SPOT ID tLET R2 := R2 + #1 tLET R4 := R4 +» 42 #CRLFSP, -(SP) o1,-(SP) SP,.RO CSPNTS o4,5P ;FETCH A BAD SPOT ID 021174 000002 000002 WRTYCT(RS), -(SP) ORPT1E, -(SP) 02, -(SP) SP,.RO CSPNTS . 1PRINT RECORD @ IF BAD SPOTS DETECTED OCRLFSP ADD #2,Re CLR R2 S03338: REPEAT MOV MOV MOV MOV TRAP ADD ADD R3 503314 3,420. 503324 ©20..R3 PRINTS 000006 JS$JMWP L10010-2-. SUBR TO PRINT BAD TAPES SPOTS DURING THE REPORT PRINTS WRITE RETRIES: CUMULATIVE COUNT BAD TAPE SPOTS: COUNT PER TAPE PASS ONLY, NOT CUMULATIVE. COUNT OF RECOVERABLE WRITE ERRORS EXCLUDES BAD TAPE SPOTS. ASR 503324 012746 012746 010600 104416 062706 SEQ 101 RSSAVE ,RS BTRPT:: PRINTS 003316 021057 000002 000006 MOV EXIT 3043 3044 3045 m 3048 020164 IK8 ;;COUNT PRINTS NEXT 10 MAX MOV MOV MOV MOV TRAP (R4),-(SP) #RPTIK, -(SP) 02,-(SP) SP.RO CSPNTS 6,SP R2,910. 1IF R2 EQ €10, THEN ; 503344 PRINTS @CRLFSP 1GO TO NEXT PRINT LINE PAST 10 PRINTS MISCELLANEOUS SECTIONS REPORT CODING SECTION MACRO M1113 020354 020360 020364 012746 012746 010600 005744 000001 020370 3071 020374 062706 162703 000004 000012 020 g;g 020400 3074 020404 3075 020404 g;g 020406 3078 020410 3079 020410 020410 020414 020420 020422 020424 mso.g 020430 3082 3083 020432 3084 020507 3085 020560 3086 020631 3087 020701 3088 020735 3089 021006 3090 3091 3092 3093 3094 3095 3096 021057 021107 021174 021203 021257 104416 162702 021314 SUB SuB S0334¢: 012746 012746 010600 104416 062706 000207 005741 000001 045 045 045 116 101 101 045 102 102 045 123 062 101 116 104 101 123 127 045 065 123 063 045 045 cHe BNE 045 045 045 045 045 104425 000004 101 101 010.,R3 tLET RS := R3 - #10. 010. ,R2 1ILET R2 := R2 - #10. 122 125 CSPNTS ADD 04,SP 1ADJUST BAD SPOT COUNT sADJUST PRINT COUNT R2,R3 50333 tUNTIL R2 EQ R3 sLIMIT: @ OF BAD SPOTS 3 PRINTS #CRLF [ RTS PC 102 OCRLFSP, -(SP) 21,-(SP) SP,RO 3 SO0331%: 3097 3098 021314 021314 TRAP 000012 101 SEQ 102 MOV MOV MOV 020203 001343 045 L8 30-NOV-83 10:17 RPT1A: RPT1B: RPT1C: .NLIST .ASCIZ RPT1D: RPTIF: RPT1G: .ASCIZ .ASCIZ /#ARECOVERABLE ERRORS #DS#S2¢DS#S2¢DS#N/ /#AUNRECOVERABLE ERRORS #DS#S2#DS#S2#DSe#N/ .LIST : BEX RPT1E: RPT1J: RPTIK: RPT1I: L10010: .ASCIZ .ASCIZ .ASCIZ .ASCII .ASCIZ OCRLF , -(SP) #1,-(SP) SP,RO CSPNTS 04,5P BEX /#NeNSAUNIT s#D1#S3#APASS :#DS#S3SARECORD : 5DS#N/ .ASCIZ .ASCIZ .ASCII .ASCIZ MOV MOV MOV TRAP ADD /#ABYTES WRITTEN «D3#A,#Z36A,sZ36A, 8Z38N/ /#ABYTES READ REV wD3#A,s8Z3#A,sZ3sA ,%2Z38N/ /#ABYTES READ FWD wD3#A,#Z3«A, +SZ38N/ /#S23sAWRTSSASARDRESASARDF #N/ /#AMRITE RETRIES#S8#DS#N/ /#NsD2#A BAD SPOTS THIS TAPE PASS PRECEDING RECORD #:/ /#D5«S1/ “s#ASPEC COND#S3sSAHARDSS 38AFATALSS3SSACOMPARESN" /uS3uD5#S3sDSHS3sDS8SISDSHENSEN/ ENDRPT TRAP CSRPT g{a“i .SBTTL 3102 jee g{g 1 THE SUPERVISOR USES THE TBL TO WARN THE OPERATOR WHEN ME TRIES TO TEST THE LOAD DEV 3103 1 TABLE FOR SUPERVISOR TO IDENTIFY THE P-TBL FOR THE LOAD DEV '-- 3106 3107 021316 108 021316 3109 021316 3110 021320 3111 021322 L$PROT:; 000000 177777 177777 .WORD 0 .WORD -1 .WORD -1 g{g 021324 3114 LOAD DEVICE PROTECTION TABLE ENDPROT .SBTTL INITIALIZE SECTION 1P-TBL OFFSET OF TSDB 1P-TBL OFFSET OF MASS BUS UNIT @: -1 = NOT A MASS BUS DE 1P-TBL OFFSET OF DRIVE @: -1 = NONE, THREE DRIVES PER CONTRO | MISCELLANEOUS SECTIONS | INITIALIZE SECTION MACRO M1113 M8 30-NOV-83 10:17 SEQ 103 joe + THE INITIALIZE SECTION CONTAINS THE CODING THAT IS PERFORMED 1 AT THE BEGINNING OF EACH PASS. 120 3121 021324 021324 3122 3123 021324 LSINIT:: 000003 3126 021344 002330 BGNINIT INIT10: géz 000310 gg;g:BITI.WKT 1IF CMD PACKET IS NOT ON MODULO 4 BOUNDRY: ERRSF 1,CMDPKM 1PRINT ERROR MSG, DELAY 200. .WORD 1 CMDPKM .WORD .WORD O 1GO TO SUPERVISOR, WAIT 2 SECONDS. 160540 | e ————— 3152 021454 3153 021454 021454 021460 3154 021462 021462 3155 021464 001367 CSERSF MOV 8200..(PC)0 MOV 177772 0213 3127 021374 3128 3129 021376 3130 3131 021376 3132 021402 3133 021404 3134 021410 3135 021412 3136 021412 3137 021416 3138 021420 3139 021424 3140 3141 021430 3142 021432 3143 3144 021432 3145 3146 021432 3147 021436 3148 021440 TRAP O BNE DEC BNE .-4 -22(PC) .-20 DEC 177756 B8R INIT10 . LSOLY,(PC)+ .WORD -6(PC) S0335¢: 105767 160602 105067 005002 160574 020227 001405 005062 062702 000550 001413 TST8 BEQG CLR8 CLRFLG +IF CLR COUNTERS FLAG SET: S03364 CLRFLG $1INIT CLR FLAG. R2 iLET R2 := @0 S03374¢: sWHILE R2 NE OCNTLEN DO cHP R2,#CNTLEN 503404 BEQ CLR WRBC(R2) sCLR ALL STATISTICAL COUNTERS. ADD #2,R2 iLET R2 := R2 + #2 002626 000002 000770 503404 : BR 503374 ;2;. ggm. 503364 : 105767 160547 012767 153624 161764 MOV S®RANBC , RANB tRESET RANDOM BASE @. 012767 032561 161760 MOV S#RANSC ,RANS tRESET RANDOM SAVE LOCATION. READEF #EF.START S03414: 012700 104447 103057 105267 000040 BNCOMPLETE 162036 INCB STAFLG 1IF RESET RANDOM VARIABLE FLAG IS SET THEN: INIT1S tREAD START COMMAND EVENT FLAG. 1BRANCH IF NOT STARTING. 1SET START COMMAND FLAG. MOV TRAP #EF .START RO CSREFG 8CcC INIT1S MISCELLANEOUS SECTIONS INITIALIZE SECTI 3156 021470 3157 021474 3158 021474 3159 021502 3160 021506 3161 021510 3162 021512 3163 021520 3164 gxsza MACRO M1113 012705 000006 012765 162705 005705 001371 022767 001425 177774 000002 000001 503424 : ®%,RS MOV SUB ONINUSE ,DEVTBL(RS) 1BY STORING NOT IN USE IN EACH LOCATION. #2,RS tLET RS := RS - @2 1REPEAT TST 160272 RS s INITIATE UNIT NUMBER TABLE tUNTIL RS EQ #0 sONLY ONE UNIT ALLOWED 10K @AUDRUN DELAY 000025 JLET RS := #6 503424 #1,LOUNIT 50344 PRINTF 005146 000001 SEQ 104 MOV BNE cMP BEQ 000004 s TELL THE MAN 25 sWALT 104421 160212 O 161670 161665 3183 021652 3184 021656 105767 001020 161651 021660 1664 3186 021666 3187 021670 3188 021674 3189 021676 021676 021702 012700 161632 000037 -6(PC) .-4 -22(PC) .'20 CSOCLN S03434: 1REPEAT 1STORE ALL UNIT SUB #2,.R3 jLET RS := RS - @2 sNUMBERS IN DEVTBL. MOV RS,DEVTBL(RS) sLET DEVTBL(RS) := RS SHIFT -1 ASR DEVTBL(RS) 'L‘;LNIT.RS RS 503434 tLET RS := LSUNIT SHIFT 1 tUNTIL RS EQ #0 INIT1S: READEF #€EF .PWR 1HAS THERE BE A POMER FAILURE? MOV TRAP OEF .PUR RO CSREFG 8CC INIT16 BNCOMPLETE INIT16 1BRANCH IF NOT. INCB INCB STAFLG PWRFLG 1IF SO - SET THE START FLAG. OPFLAG tREAD AND STORE FLAGS SET BY OPERATOR TRAP CSRFLA MOV RO, OPFLAG INIT16: RFLAGS 161666 LSOLY,.(PC)» &V TST 010067 012700 104447 .WMORD S0344: BNE 000034 925,(PC)+ O “ 1ABORT &4,5P LMORD DEC BNE DEC 02 103014 105767 001010 SP,RO CSPNTF 177772 162705 010565 006265 005705 001370 103004 105267 105267 MOV TRAP ADD MOV DOCLN 012700 104447 SAUDRUN, -(SP) 160342 3166 021;72 016705 006305 MOV MOV 177756 02 72 3167 021574 3168 021600 3169 021602 3170 021602 3171 021606 3172 021612 3173 021616 3174 021620 3175 3176 021622 021622 021626 3177 021630 021630 3178 021632 3179 021636 3180 3181 021642 021642 N8 30-NOV-83 10:17 CLR TST8 BNE R3 PWRFLG tLET R3 1= 80 503444 READEF #EF .NEW 8CC 503454 BNE 503464 TST8 1IF SO - SET THE POMER FAIL FLAG. STAFLG READEF #EF .RES 1CLEAR EVENT FLAG +IF POWER FAIL HAS NOT OCCURRED THEN: tUPDATE PASS COUNT WHEN MOV TRAP 1SUPERVISOR IS IN NEW PASS OEF .NEW,RO CSREFG 1AND DIAG WAS NEITHER STARTED s NOR MOV TRAP #EF .RES.RO CSREFG SCELLANEOUS SECTIONS INITIALIZE SECTION 021704 021706 103402 005103 021710 o21712 021712 000401 3202 3203 021720 3204 3205 021720 3206 3207 021720 3208 021720 3209 021724 3210 021726 - —— ——— D . A P S - S — 005203 S——— - B9 30-NOV-83 10:17 S03474: =+ SEQ 105 503474 8cs comM R3 BR 503504 INC R3 503514 1 IFCOND CC THEN tLET R3S : R3 175156 1 STARTING 100 NOT UPDATE IT ON CONTINUE 1OR ON POMER FAIL PC.FIRS R2 ILE DEVTBL(RS) 177 LET R2 := &0 NE ¢END DO DEVTBL iILET R2 := R2 ¢« 01 g. tLET RO := RS SMIFT -1 RO,RO S0354¢ i {GET HARDWARE P TABLE FROM SUPER. TRAP CSGPHRD grcom CS THEN (RO), TSDBC(RS) ggog;g?sagas) 1SAVE TSDB ADORESS. 1SAVE TSSR ADDRESS. (RO)+, TSVCT(RS) 1SAVE INTERRUPT VECTOR ADORESS. (RO), g s INIT DEVICE POINTER. s INIT DEVICE COUNTER. . 303S3 R 3338338 gEQR 3213 021736 3214 021740 3215 021742 3216 021744 021744 3217 021746 3218 021750 3219 021754 3220 021760 3221 021766 3222 021772 3223 021776 3224 ;00 IT 1SET _1ST PASS IF NEW PASS AND S03454: 004767 tRESTARTED 1RESTARTING S03S14¢: S03444; := COMP R3S 1SET _1ST PASS IF NEW PASS AND S03504: S03464: S——| S———— (2] 3197 021714 3198 3199 o21714 3200 021716 3201 021716 MACRO M1113 .~ Blsce 3190 3191 3192 3193 3194 3193 3196 ——— Z5 . TSUNT( 1SAVE NUMBER OF DRIVE (RO), TSNP TSVCTCRS), TSSINTCRS ), 1SAVE FOR PRINT OUT'S INTPRI 002534 000003 000010 000001 p " g 8 EFRaBaC 003472 003326 S03574¢; S03554: INTFLG(RS) RS S035S$ RS S03564 PASCNT(RS) S0357¢ @1 ,PASCNT(RS) MOV MOV MOV MOV TRAP ADD SINTPRI, -(SP) TSSINT(RS), -(SP) TSVCT(RS), -(SP) 03, -(SP) CSSVEC €10,SP 1SET UP INTERUPT PROCESSING CONDITIONS. JCLEAR INTERRUPT FLAGS. sACTUAL PASSCOUNT UPDATE PER R3 - +IF RS LT 00 THEN d g JLET PASCNTCRS) := PASCNT(RS) + 01 ¢ JLET PASCNT(RS) := 01 005065 004767 503544 003376 175060 CLR RECCNT(RS) BR 303524 TST R2 JSR 000716 50353¢: BNE PC,NEXTY 503604 PRINTF @AUDRPM st 3251 N 30-NOV-83 10:17 000004 DELAY 200. 000310 SEQ 106 1CLEAR RECORD COUNT 100 IT FOR ALL DEVICES. 1 IF THERE ARE NO UNIIS: 1PRINT ALL UNITS DROPPED, MOV MOV MOV SOAUDRPHM, -(SP) o,-(SP) SP, .HWORD O .MORD O TRAP CIPNTF ADD o4,SP 1GO TO SUPERVISOR, WAIT 2 SECONDS. MOV 9200. ,(PC)+» 157766 DEC BNE q.e‘c 177772 177756 BREAK 1GO TO SUPERVISOR, CHECK TTY, TRAP 100 CLEAN CODE + ABORT PASS. TRAP OOCLN -6(PC) .4 -22(PC) CSBRK CSOCLN S03604: SETPRI #PRIOO ~160027 161342 174700 L7777 TST8 IREC BIT ®ADR , OPFLAG BNE 503624 161312 BNE JSR 14 PC.FIRSTV cp BEQ CLR8 DEVTBL(RS), #END 14 TRAPD4A SETVEC 000340 023730 000004 000003 14 &4,0TRAPA,#INTPRI 000010 MOV 161164 16: B8R JP 01,TIMEL 503634 503634 s1LOMER CPU PRIORITY TO O MOV TRAP +IF ERROR RECOVERY IS ENABLED #PRIOO,RO CSISPRI 1AND AUTO-DROP NOT CALLED, THEN SET UP FOR FIRST tWHILE THERE ARE MORE DEVICES: 1CLEAR TRAP FLAG 1SET VECTOR 4,PRIORTY 86 Spaaas . MISCELLANEOUS SECTIONS - INITIALIZE SECTION MACRO M1113 1START 3.3 MINUTE COUNTER 1INCR TIMEL FROM @1 TO @25 BY 01 @INTPRI, -(SP) OTRAPA, -(SP) CS$SVEC €10,5P 30-NOV-83 10:17 503664 161152 002340 TIMEL 503654 161146 SEQ 107 I?fil..fl aOgSCPK.OTSDB(RS) 002514 000025 sAND GET UNITS STATUS sWALIT SR MACRO M1113 157602 177772 177756 1CLEAR VECTOR AT 4 A NE #0 THEN 1IFB TRAPD (RS) #NODEV, TSSR(RS) 175004 DEVTBL(RS),DROPN R3,RO RO RO EOuY.U’C)o -22(PC) 04 ,RO CSsCVEC tLET FTLCNT(RS) := FTLCNT(RS) » L) 1PRINT ERROR Joieae -y FTLCNT #25,(PC)» 1SAVE @ OF UNIT TO tRO=LOGICAL DEVICE NUMBER 1OROP THE UNIT TSSR(RS), -(SP) ONODEV, -(SP) SP,RO COPNTF #6,5P C$D00V s EXEC BGNDU-ENDOU CODE IF IDU = o 100 CLEAN EABORT 161110 000340 023730 000025 DELAY ®INTPRI, -(SP) OTRAPA, -(SP) 1CLEAR TRAP FLAG $SET VECTOR 4,PRIORTY 86 STSSR(RS) a5 1CHECK FOR ADDRESS IMAIT 157432 177772 177756 C.RVEC CS$DCLN TRAPDA 04, 0TRAPS , 0INTPRI 000004 000003 000010 002524 TRAP g %§3§§§§§ §3dda3 INITIALIZE SECTION = - MISCELLANEOUS SECTIONS D9 1CLEAR VECTOR AT 4 825.(”)0 o -22(PC) .-20 . MISCELLANEOUS SECTIONS ) | INITIALIZE SECTION 104436 105767 001424 005265 016546 012746 012746 010600 104417 062706 016567 010500 006200 MACRO M1113 161014 TST8 BEQ 003366 INC PRINTF 002524 005543 000002 000006 002604 3 30-NOV-83 10:17 174634 MOV MOV ASR o000V 104451 - FTLCNT(RS) ONODEV, TSSR(RS) DEVTBL(RS),DROPN “s.no RO RO 48 B8GT 503674 3s: JSR MOV PC.SETDEF gg.OTSOB( RS) DELAY 000025 1IFB TRAPD4 NE 00 THEN TRAP tLET FTLCNT(RS) := FTLCNT(RS) + 01 tPRINT ERROR MOV MOV MOV MOV TRAP ADD 1SAVE @ OF UNIT TO BE DROPPED. sRO=LOGICAL DEVICE NUMBER 1DROP THE UNIT TRAP MOV .MORG O DEC 177756 DEC 002514 MOV DELAY OGSCPK ,8TSDB(RS) a5 sAND GET UNITS STATUS IWAIT -6(PC) ... MOV .MORD O DEC BNE DEC 002524 BIT BNE BR S03714: PRINTF @OFLINM, TSNP #25,(PC)e» O 177772 #7S.SSR,8TSSR(RS) 503704 #7S.0FL ,8TSSR(RS) S0371¢ 503644 «* .MORD MOV 177756 -22(PC) n 157250 000006 LSOLY,(PC). " 000025 000002 025,(PC)+ O 177772 160622 C$D00V .MORD MOV 000100 TSSR(RS), -(SP) ONODEV, -(SP) 92,-(SP) SP,RO COPNTF 6,SP $SET UNIT NUMBER 157306 002340 CsCvEC s+ EXEC BGNDU-ENDDU CODE IF IDV = O 100 CLEAN EABORT TRAP C$DCLN DOCLN 165174 002514 SEQ 108 BNE L$OLY,(PC). 1IF @TS.SSR SETIN STSSR(RS) THEN -6(PC) .4 -22(PC) .'20 +IF @TS.OFL NOTSETIN @TSSR(RS) THEN 1EXIT COUNTER WHEN UNIT ON LINE tPRINT UNIT OFF LINE EVERY 10 SEC MOV TSNP, -(SP) MOV QOFLINM, -(SP) MOV 02, -(SP) MOV RO TRAP CSPNTF ADD #6,SP | MISCELLANEOUS SECTIONS MACRO M1113 INITIALIZE SECTION SEQ 109 503724 016546 062706 50370¢: B8R 503734 PRINTF ONRDYM,DEVTBL(RS) 002604 023700 000002 333333 000412 000006 000001 160452 160444 160440 000013 S50373s¢: MOV B8R S037S4¢: INC 503744 01, TIME2 50374+ TIME2 DELAY 503764 tWAIT FOR UNIT TO BE SET ON-LINE 100. 157100 177772 177756 tALLOW TERMINAL INTERRUPT BREAK 177214 B8R S50376¢: *P S0367¢: S03644: 000004 167646 170360 503754 503664 CLRVEC cHe BLE 160360 TIMEL, 825 $03774 JSR PC,MOVMSG JSR PC.TCCL JSR PC,NEXTU 177100 3358 023102 3359 023102 3360 023102 3361 023106 3362 023110 023110 160421 503634 503614 M 503624 TST8 P\ll;%? BNE 1CLEAR VECTOR AT 4 o4 S0377¢: 174052 SP,RO CIPNTF #6,5P TIME2, 013 e 8GT 000144 DEVTBL(RS), -(SP) sINCR TIME2 FROM €1 TO 013 BY 01 504 MEMORY DATAWT § RERRgEsd 3324 3325 022732 3326 3327 022732 3328 022734 3329 022734 022734 FO 30-NOV-83 10:17 TRAP 1IF OFF LINE FOR 3.5 MINUTES 8100..(")0 ‘L’Om.v.(PC)o e -22(PC) C$BRK &4 ,RO CSCveC 1GET MESSAGE PACKET 1PRINT ERROR AND DROP OFF LINE UNIT tREPEAT UNTIL ON LINE OR TIMED OUT. 1SET UP FOR NEXT UNIT. 1IFB PWRFLG EQ €0 THEN tREQUEST MEMORY FROM SUPER FOR RD/WR BUFFERS. TRAP CSMEM MISCELLANEOUS SECTIONS INITIALIZE SECTION 023112 3363 023116 3364 023124 3365 023132 010067 016767 062767 027727 002011 012746 012746 010600 104417 062706 MACRO M1113 160270 160264 004000 160250 3371 3372 023164 3373 3374 023164 3375 023170 3376 023174 3377 023200 3378 3379 023204 MOV ADD 160264 160256 004000 DATAWT,DATARD @DATCNT ,DATARD g& &A(T’:\:T.ODATCNT PRINTF OMEMOM 023210 000001 000004 3369 3370 023164 G9 30-NOV-83 10:17 DOCLN SEQ 110 ;SET RD BFR ADDRESS MOV RO ,DATAWT tWHEN NOT ENOUGH FREE MEMO AVAILABLE 1WARN OPERATOR sAND ABORT PASS MOV OMEMOM, -(SP) MOV TRAP ADD CIPNTF TRAP CS$DCLN SP,RO 04,SP 1DIAG MUST BE RE-LOADED IN A CPU WITH LARGER MEMO S04014: S0400¢: 157024 003526 167464 160323 3381 CLRS MOV JSR CLRB CHGFLG SENDFLG,R3 PC,CLRERR PWRFLG EXIT INIT 1CLR CHANGE CMD SEQ TBL FLAG. tLET R3 := GENDFLG 1CLEAR ALL FLAGS. 1CLEAR THE POWER FAIL FLAG. .ASCII /#AFREE MEMO TOO SMALL FOR RD-WR BFRSs#N/ .ASCIZ /#ARE-LOAD IN LARGER MEMOSN/ TRAP CSEXIT TRAP CSINIT .WORD L10012-. .EVEN L10012: .SBTTL gee ENDINIT AUTO DROP SECTION MISCELLANEOUS SEmC‘TIMS AUTO DROP SECTI MACRO M1113 3389 3390 3391 3392 3393 3394 023314 023314 3395 3396 023314 3397 023320 3398 023320 3399 023326 3400 023330 H9 30-NOV-83 10:17 SEQ 111 1SECTION EXECUTED AFTER THE INIT CODE WHEN "ADR” FLAG IS SET BY OPERATOR DROPS UNIT IF NO RESPONSE 1SECTION CHEKS FOR A VALID INTERFACE LOCATION, 1FROM INTERFACE LS$AUTO: : 177777 : 024 BGNAUTO JSR PC,FIRSTU sWHILE DEVTBL(RS) NE #END DO ' DEVTBL(RS), #END 504034 TRAPDA 1LET TRAPD4A :B= #0 cHP BEQ CLR8 SETVEC 4,0TRAP4,QINTPRI MOV 8TSDB(RS),R2 CLRVEC &4 TST8 BEQ INC 173750 002340 167216 000200 002514 TRAPDA S04044 FTLCNT(RS) MOV DEVTBL(RS),DROPN ooV RO BR 504054 MOV gé; +SET VECTOR 4 :8."0 MOV MOV MOV ®INTPRI, -(SP) OTRAPA, -(SP) o4, -(SP) TRAP CS$SVEC MOV TRAP C$CveC s ADDRESS TSOS INTERFACE 1CLEAR VECTOR AT 4 1IFB TRAPDA NE €0 THEN PRINTF @AUTODM, TSDB(RS) "?'V. 504044 : tFIND FIRST UNIT #4,RO sLET FTLCNT(RS) := FTLCNT(RS) +» 01 1PRINT ERROR MOV MOV MOV MOV TSDB(RS), -(SP) SAUTODM, -(SP) 02, -(SP) RO TRAP CIPNTF ADD #6,SP 1SAVE @ OF UNIT TO BE DROPPED. RO-LWICAL DEVICE NUMBER 1DROP THE UNIT: EXEC BGNDU-ENDDV CODE IF IDV = O TRAP C$DO0V #GSCPK ,8TSDB(RS) 1SEND GET STATUS COMMAND OYS.S‘:'R.OYSQ(RS) lIF #TS.SSR SETIN STSSR(RS) THEN JSR PC,WSSR sWAIT 000100 g; OTS.%’L.ITSSR(RS) 1IF @TS.OFL SETIN STSSR(RS) THEN 003366 INC FTLCNT(RS) sLET FTLCNT(RS) := FTLCNT(RS) + 01 160022 PRINTF QOFLINM, TSNP MOV MOV MOV TSNP, -(SP) SOFLINM, -(SP) 2,-(SP) TRAP CSPNTF MOV 02 3423 023532 #10,SP 000006 173566 JSR PC,DROPUA ADD SP,RO #6,SP . MISCELLANEOUS SECTIONS . AUTO DROP SECTION , 3424 3425 023536 3426 3427 023536 3428 023540 MACRO M1113 005265 003366 023544 023550 023554 016546 012746 012746 002604 023700 000002 023562 023564 104417 052706 004767 000006 173530 g% 023570 3433 023574 34324 3435 023574 ggg 023574 004767 3438 023600 000647 3439 023602 30-NOV-83 10:17 . 000416 3429 023540 3430 023544 : BR 504104 INC FTLCNT(RS) PRINTF ONRDYM,DEVTBL(RS) tLET FTLCNT(RS) := FTLCNT(RS) + 01 ! JSR PC,DROPUA MOV MOV MOV TRAP ADD DEVTBL(RS), -(SP) ONRDYM, -(SP) 92, -(SP) SP,RO CSPNTF #6,5P S50410%: 50405¢: 173350 50403¢: 023602 023602 104461 3443 023604 045 101 323 3444 023627 045 101 111 023657 023662 023665 023670 124 105 124 101 126 117 102 105 3445 023700 045 101 3446 SEQ 112 5040741 504064 : 3441 023602 023632 023635 19 116 L10013: 124 106 AUTODM: 105 10! JSR PC,NEXTY BR 504024 ENDAUTO TRAP .ASCII /#ABUS TRAP AT s#06%N/ .ASCIZ /#AINTERFACE BAD OR NOT SET TO ABOVE ADsN/ ,ASCIZ /#AUNIT #D1sA NOT ROYsN/ 123 040 117 1222 NRDYM: .EVEN C$AUTO ' MISCELLANEOUS SECTIONS | AUTO DROP SECTION MACRO M1113 J9 30-NOV-83 10:17 SEQ 113 l | DEVICE BUS TRAP HANDLER OUTPUT: TRAPDA BYTE 1: TRAPED AT 4 [ : H 3452 023730 3453 023734 105267 157574 O: NO TRAP TRAPY:; ; I?TCI' .SBTTL TRAPD4;;LET TRAPD4 :B= TRAPD4 + 01 CLEANUP CODING SECTION jee 3+ THE CLEANUP CODING SECTION CONTAINS THE CODING THAT IS PERFORMED s+ AT THE END OF EACH PASS. .-- LSCLEAN:: 34 3473 023770 3474 023772 3475 3476 023772 004767 173140 026527 001410 004767 002604 016500 002534 004767 173160 177777 S0411¢: 166722 JSR PC.FIRSTU ;WHILE DEVTBL(RS) NE #END DO cHP DEVTBL(RS),#END BEQ S0412¢ JSR PC,WSSR CLRVEC JSR 000764 S04124: 104432 000002 TSVCT(RS) PC,NEXTV BR S04114 EXIT CLN sFIND FIRST UNIT. sWAIT FOR UNIT READY OR TIMEOUT, sRELEASE INTERRUPT VECTORS FOR ALL DEV. sFIND NEXT UNIT. MOV TRAP TSVCT(RS).RO C$CVEC TRAP CSEXIT TRAP CS$CLEAN .WORD .EVEN L10014: 104412 .SBTTL L10014-. DROP UNIT SECTION *e : THE DROP-UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE s+ TO NO LONGER BE TESTED. THAT CODE SHALL BE EXECUTED WHEN DOODU tMACRC IS CALLED WHILE IDU FLAG IS NOT SET BY OPERATOR '-- L$DV:: 010005 006305 012765 177774 016500 002534 002604 "2\( :g.RS 1RS = LOGICAL DEVICE NUMBER X 2. MOV ONINUSE ,DEVTBL(RS) 1SET NOT IN USE FLAG FOR THE DEVICE. CLRVEC TSVCT(RSS tRELEASE THE INTERRUPT VECTOR. MOV - TSVCT(RS).RO MISCELLANEOUS SECTIONS DROP UNIT SECTION 024016 3495 024020 024020 024024 024030 024034 024044 024046 MACRO M1113 30-NOV-83 10:17 104436 016746 012746 012746 010600 104417 062706 IK9 173364 005065 000002 000006 000167 000000 PRINTF ODROPDM,DROPN EXIT OV .EVEN L1001S: 104453 .SBTTL SEQ 114 TRAP sPRINT DROP DEVICE MESSAGE CSCVEC MOV MOV MOV MOV TRAP ADD DROPN, -(SP) SOROPOM, -(SP) 02,-(SP) SP,RO CSPNTF #6,5P LHORD "WORD JS$JMP L10015-2-. TRAP CSDU E ADD UNIT SECTION goe : THE ADD-UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE : TO BE CA) TESTED FOR THE FIRST TIME, OR (B) RESUMED IN TESTING. + "EF.AUNIT* IS SET, THE UNIT WILL BE TESTED AS A NEW UNIT. IF '-- LSAV:: :gz :g.ns sRS = LOGICAL DEVICE NUMBER X 2. 002604 MOV RO,DEVTBL(RS) sSTORE UNIT @ IN DEVICE TABLE. 002514 002524 000002 002524 002534 003532 157416 000340 002554 002534 000003 000010 003472 MOV MOV ADD MOV MOV MOV (RO), TSDBCRS) (RO)+, TSSRCRS) 02, TSSRCRS) CRO), TSVCTCRS) (RO). TSUNT(RS) (RO) . TSNP EXIT AU GPHARD RO.RO 1GET HARDWARE P TABLE FROM SUPER. TRAP C$GPHRD LMORD JSJMP TRAP CSAV 1SAVE TSDB ADDRESS. 1SAVE TSSR ADDRESS. ;SAVE INTERRUPT VECTOR ADORESS. :SAVE NUMBER OF DRIVE :SAVE FOR PRINT OUT'S SETVEC TSVCTCRS),TSSINTCRS),®INTPRI MOV @INTPRI, -(SP) MOV TSSINT(RS), -(SP) MOV TSVCT(RS), -(SP) MOV o3, -(SP) TRAP C$SVEC ADD €10,5P 1SET UP INTERUPT PROCESSING CONDITIONS. CLR INTFLGCRS) 1CLEAR INTERRUPT FLAGS. .EVEN 104452 L10016: 3 | MISCELLANEOUS SECTIONS ADD UNIT SECTION MACRO M1113 L9 30-NOV-83 10:17 3529 3530 3531 SEQ 115 3552 3534 3535 3536 .TITLE HARDWARE TESTS .SBTTL TEST 1: BASIC FUNCTIONS. 1es : 3538 S on 3537 3 TEST TO EXECUTE ALL TSOS FUNCTIONS. 3539 3340 024136 BGNMOD 3542 024156 ssqs 024156 3544 024156 3545 024162 3547 024166 024166 Ti:: 105067 105067 157333 157326 T1.1: 104402 3549 024170 3550 024174 3551 024200 3552 024202 024202 007767 004767 103404 024206 024210 004536 006120 024212 024216 024222 024226 024232 004767 012702 004767 004767 004767 163250 025074 002604 3563 024252 026527 001451 016502 062702 3565 024262 042765 177700 002564 177477 002574 3554 3555 3556 3557 3558 3559 024236 3560 024236 3561 024244 024246 3564 024256 3566 024270 172706 162672 016546 002564 104417 062706 3569 3570 024332 177777 002544 000012 024302 024324 024326 TRAP PC,FIRSTY PC,SOFINIT 114 2,NSSRM, STAERM 118: 163774 172644 002574 024322 010600 tSUBTEST 1 - SET CHAR, DRIVE INIT, GET STATUS. JSR PC,MDSET MOV #BFSEQO,R2 JSR PC,BFSEQ JSR PC,EXALL JSR__ PC,FIRSTY S0413¢: ;WHILE DEVIBL(RS) NE @END DO CHP DEVTBL(RS), BEQ S0414¢ MOV MSGPKACRS),R2 ADD #12.R2 LET R2 = R2 MOV (R2), TSSCLCRS) BIC MOV BIC 177700, TSSCL(RS) _ sREPORT TSOS NOT READY TRAP 024332 016546 002574 COERDF 2 NSSRM STAERM 1GO DO SETUP'S 1ADR OF CMD SEQ. 1SET UP CMD SEQ. 1EXECUTE CMD SEQ ON ALL DEVICES. tFIND THE FIRST UNIT. ;WHILE THERE ARE MORE DEVICES: 1GET MSG PACKET ADR, ¢ 012 1GET XSTAT2 ADR, 1STORE CODE LEVEL FROM DTR BYTE, (R2), TSSSW(RS) 1STORE #177477,TSSSW(RS) PRINTF #CODELM,DEVTBL(RS), TSSCL(RS) 002604 004162 000003 000010 C4BSUB sFIND THE FIRST UNIT. s INIT DEVICE .WORD .MORD 011265 016546 012746 012746 1CLR THE RANDOM OPERATIONS FLAG. 1CLR EXPECT BOT FLAG. .MORD 042765 024306 024312 024316 BGNSUB ERROF 3567 024274 3568 024302 RANDOM EXPBOT JSR JSR BCS 104455 011265 BGNTST CLR8 CLR8 024166 024204 . SWITCH SETTINGS MOV DEVTBL(RS),-(SP) @CODELM, -(SP) #3,-(SP) TRAP ADD _ CPNTF #10,SP MoV TSSSM(RS), -(SP) MOV 1PRINT THE TSOS MICROCODE LEVEL. PRINTF #SWSET,DEVTBL(RS), TSSSWC(RS) TSSCL(RS), -(SP) MOV MOV MOV SP,RO | MARDMWARE TESTS TEST 1: 3571 MACRO M1113 SASIC FUNCTIONS. 024336 024342 024346 024352 024354 024356 3572 024362 016546 012746 012746 010600 104417 062706 gg;z 024362 004767 3575 024366 000723 3576 024370 3577 3578 024370 C24370 — 024370 M9 30-NOV-8% 10:17 002604 004231 000003 000010 172562 L10020: 104403 PC.NEXTVU BR 3582 024374 012702 025146 MOV 004767 163616 JSR 3585 024410 3586 024414 024414 3387 024414 105067 157112 L10021: 104403 3588 0244{: 3590 3591 3592 3593 104402 024420 024424 024430 024434 024434 012702 004767 004767 — 024434 012702 004767 004767 601 024454 +ADR OF CMD SEQ. PC,.EXALL +EXECUTE CMD SEQ ON ALL DEVICES. PC,.BFSEQ CLR8 ENDSUB STAFLG 1CLEAR START FLAG 025160 000420 163572 MOV JSR JSR ENDSUB #BFSEQ2,R2 PC,.BFSEQ PC,.EXALL #BFSEQ3,.R2 PC,.BFSEQ PC.EXALL BGNSUB 104402 3604 024460 3605 024464 012702 004767 MOV JSR CS$ESUB 1SUBTEST S - SPACE FILES. TRAP 025324 000360 csBsus +ADR OF CMD SEQ. 1SET UP CMD SEQ. tEXECUTE CMD SEQ ON ALL DEVICES. TRAP 3602 ozuoz“g C$ESUB 1SUBTEST 4 - WRITE TAPE MARK, ERASE. TRAP MOV JSR JSR ENDSUB csesus +ADR OF CMD SEQ. 1SET UP CMD SEQ. 1EXECUTE CMD SEQ ON ALL DEVICES. TRAP 025252 000400 163552 C$ESUB 1SUBTEST 3 - WRITE/VERIFY, 104403 3608 024456 ‘ 1SET UP CMD SEQ. TRAP BGNSUB 3597 024440 3598 024444 3599 024450 3600 024454 024454 csBSuB TRAP 3595 02“% 104402 TRAP #BFSEQL,R2 JSP 104403 — 024436 CS$ESUB 1SUBTEST 2 - REWIND. BGNSUB 024416 TRAP tFIND NEXT UNIT. S0413¢ BGNSUB 104402 000444 DEVTBL(RS), -(SP) #SWSET, -(SP) 3,-(SP) SP,RO CSPNTF 010,SP ENDSUB 024372 381 024372 004767 T1.2: MOV MOV MOV MOV TRAP ADD tPRINT THE TSOS SWITCH SETTINGS. S0415%: S04144: 3580 024372 3583 024400 SEQ 116 OBFSEQ4 ,R2 PC.BFSEQ 1ADR OF CMD SEQ. 1SET UP CMD SEQ. csBsuB HARDWARE TESTS TEST 1: MACRO M1113 BASIC FUNCT IONS. 3606 024470 3607 024474 024474 024474 3608 3609 024476 024476 004767 163532 L10024: 104403 PC.EXALL SEQ 117 1EXECUTE CMD SEQ ON ALL DEVICES. TRAP TRAP #BFSEQS,R2 PC,BFSEQ XALL Q. TRAP TRAP 025440 000320 163472 #BFSEQ6,R2 PC.BFSEQ PC.EXALL TRAP 004767 163452 TRAP #BFSEQ7,R2 PC.BFSEQ PC.EXALL 012702 004767 004767 1SET UP CMD SEQ. aEXECWE CMD SEQ ON ALL DEVICES. TRAP TRAP 025544 000260 163432 #B8FSEQ8 ,R2 PC,.BFSEQ PC.EXALL 004767 U — 023576 000240 163412 csesus SEQ. 1EXECUTE CMD SEQ ON ALL DEVICES. L10030: TRAP CS$ESUB TRAP csesus 1SUBTEST 10- CLEAN. 71.10: 012702 CS$ESUB 1SUBTEST 9 - READ FWD RETRY. 71.9: 104403 csBsuB t+ADR OF CMD SEQ. L10027: 104402 CS$ESUB 1SUBTEST 8 - READ REV RETRY. T1.8: 025512 csesus 1EXECUTE CMD SEQ ON ALL DEVICES. L10026: 012702 C$ESLB sSUBTEST 7 - WRITE RETRY. T1.7: 104403 csBsuB +EXECUTE CMD SEQ ON ALL DEVICES. L1002S: 104402 CS$ESUB 1SUBTEST 6 - SPACE RECORDS. 0235366 000340 163512 104403 012702 004767 004767 JSR ENOSUB T1.6: 104402 012702 004767 004767 N9 30-NOV-83 10:17 JSR JSR ENDSUB #BFSEQ9,.R2 PC,BFSEQ PC.EXALL SEQ. 1EXECUTE CMD SEQ ON ALL DEVICES. o RARDWARE TESTS TEST 1: MACRO M1113 BASIC FUNCTIONS. —— & —— - —— - — - ——— ——— 5 —— ———— 810 30-NOV-83 10:17 TRAP L10032: 1356526 000012 S04164: 156516 MOV JSR JSR MOVE JSR CLRS #BFSE10,R2 PC.BFSEQ PC.EXALL #1.SWBFLG PC.EXALL G MOV ADD DATAWT ,R2 010, ,R2 o R2,DATAMT ENDSUB JMMILE R2 NE DATAWT DO 8EQ TRAP tADR OF CMD SEQ. 1SET UP CMD SEQ. tWRITE/VERIFY RECORDS 1 AND 2. 1DISABLE BYTE SWAPPING. TRAP 1 INIT WRITE BUFFER POINTER. 156621 T1.12: 155412 136362 155372 133360 156430 155334 153316 155304 L10033;: 156457 104432 000574 PR—— INCE TiSW8 1SWAP DATA BYTES IN WRITE BUFFER. +SET T1 SUAP BYTES FLAG FOR "CKXDATA" SUBR 1SUBTEST 12 - READ SWAPPED DATA BYTES. BGNSUB MOV JSR MOV JSR MOVE MOV JSR MOV JSR MOV JSR MOV JSR CLRS MOV JSR MOV JSR 136506 171114 $04164 CS$ESUB tUNTIL 10 BYTES HAVE BEEN SWAPPED. S04174 B8R csBsuB 1ENABLE BYTE SWAPPING. alfiIYEIVEflIFY RECORDS 3 AND 4. SWAB -(R2) 504178 C4ESUB 1SUBTEST 11 - WTV SWAPPED DATA BYTES. T1.11: 156656 - SEQ 118 L10031: 104403 S v ORDR , CMOMRD PC, VFEXC 012, CMOPKT «CP . ONT PC, VWEXC @1.SWBFLG +CP . ONT 011, CHOPKT PC, VFEXC 012, CMOPKT +CP . ONT PC, VFEXC OROF PC, 011, CMOPKT +CP.ONT PC, VFEXC 012, CMOPKT +CP . CNT PC, VFEXC 011 ,CMOPKT +CP.CNT . VFEXC TRAP cs8suB 1CMD IS READ REV. lVEflIFY 000 LENGTM su» (RECORD 4). BYTE COUNT TO 1 lVElIFY EVEN LENGTH SH” (RECORD 3). SHAPPING . 10. 1VERIFY EVEN LDBTH SWAP (RECORD 1). 10D IS READ FWD. uvaurv EVEN LENGTH w (RECORD 1). sCHANGE BYTE COUNT TO 9 VERIFV 0DD LENGTH % (RECORD 2). tVERIFY ODD LENGTH su» (RECORD 4). ENDSUB TRAP CLR8 Ti1SW8 EXIT TST CSESUB 1CLEAR T1 SWAP BYTES FLAG TRAP LHORD COEXIT L10017-. ! MACRO M1113 HARDWARE TESTS TEST 1: BASIC FUNCTIONS. 3688 3689 3690 3691 3692 30-NOV-83 10:17 ] ] 3 3 i 012701 021227 001402 012221 012711 000207 WTPUTS REGISTERS: CALLS: BFSEQ:: MOV 177777 &P 177 S04208: 504214 : SEQ 119 SUBROUTINE TO MOVE A COMMAND SEQUENCE TO THE SEQUENCE TABLE. R2 = FWA OF COMMAND SEQUENCE . INPUT S: 003540 000773 C10 OCMDSEQ,.R1 ;WHILE (R2) NE #END DO (R2), BEQ MOV S04214 (R2)+,(R1). BR S04204¢ MOV RTS #END,(RY) PC : BASIC FUNCTION COMMAND SEQUENCE BFSEQO: .WORD tWHILE THERE ARE MORE COMMANDS: sMOVE COMMANDS TO SEQ TABLE. 1STORE END OF SEQUENCE CODE. sRETURN, SCH 200 1SET CHAR. 200. (1) ifll sDRIVE INIT. (2) SCH 1SET CHAR., 20 (3) ifis 1GET STATUS. ca) 1SET CHAR. 40. (s) sREWIND TWICE. (6) o o 3716 025112 3717 025114 3718 025116 3719 025120 sINIT SEQ TABLE ADDRESS. 20 % % SCH . WORD BFSEQL: 000000 177777 104103 3741 025170 3742 025172 3743 0235174 3744 025176 END ':w .WORD BFSEQ2: 40 1 0 2 0 END 14" DATCNT . i "14") DATCNT o 1WRITE/VERIFY PAT 1. 7) 1WTV PAT 2. (8) HARDWARE TESTS TEST 1: MACRO M1113 BASIC FUNCTIONS. D10 30-NOV-83 10:17 WTV QATCNT iWTV PAT 3, (9 WTV DATCNT 1WTV PAT 4, (10) WTV tWTV PAT S, (11) WYV QATCNT tWTV PAT 6. (12) 1WTV PAT 0. (13) IWRITE TAPE HARK.. (14) tWRITE 10 RECORDS. (15) 1ERASE 10 TIMES. (16) IWRITE TAPE MARK. 17 1WTH RETRY (18) 1SPACE 2 FILES REV. (19) 1SPACE 2 FILES FWD. (20) 1SPACE 2 FILES REvV. (21) 1SPACE 2 FILES FWD. (22) DATCNT 6 WTV DATCNT 3767 0235252 BFSEQS: 105410 000002 BFSEQM4: |g¢>an~ 3789 023324 3790 100011 00000 B p— e SEQ 120 e s e 30-NOV-83 10:17 sREWIND. (23) 1SPACE 7 RECORDS FWD. (24) 1SPACE 7 RECORDS REV. (25) 1SPACE 7 RECORDS FWD. (26) 1SPACE 7 RECORDS REV. 27 sREWIND. (28) tWRITE. (29) tWRITE RETRY, (30) IWRITE TAPE MARK. 1SPACE 1 FILE REV. BFSEQ7: g - m g2 - 2 =1 BFSEQ6: 53 & Onw50nv§f—n§§wn220nw g gow—go quoo- fl%Ow qgo.-.-g gon» 000001 000002 000000 arnn SEQ 121 o - HARDMWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTIONS e tREAD REV. (31) tREAD NEXT REV. (32) HARDWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTI ONS. F10 30-NOV-83 10:17 3859 025532 3860 023534 104001 BFSEQS: SEQ 122 sREAD NEXT FuWD. (33) tREAD FWD. (34) tREAD PREVIOUS FWD. (35) tREAD PREVIOUS REV. (36) 1CLEAN, (37) 1REWIND (38) 1END OF SEQUENCE. BFSE10: A7 M tWRITE/VERIFY EVEN LENGTH. (39) tWRITE/VERIFY ODD LENGTH. (40) . WORD .EVEN L10017; 104401 .SBTTL ENDTST TRAP TEST 2: DATA RELIABILITY. gee . TEST TO CHECK THE DATA RELIABILITY OF THE TSOS. - T2:: 112767 105067 004767 000001 155636 155574 171214 155643 BGNTST gCg3 s+ #1 , RANDOM EXPBOT WTMFLG PC.FIRSTY T THE RANDOM OPERATIONS FLAG. lCI.EM EXPECT BOT FLAG. 1CLEAR WRITE TAPE MARK FLAG 1FIND THE FIRST UNIT. CSETST HARDWARE TESTS MACRO M1113 TEST 2: DATA RELIABILITY. 3913 025666 3914 0235672 3915 025674 025674 025676 025700 025702 3916 3917 025704 3918 025710 3919 025714 3920 025716 004767 103404 G10 30-NOV-83 10:17 161200 104455 .a’gg :EaSWINIT + INIT DEVICE ERRDF 2,NSSRM,STAERM tREPORT TSO5 NOT READY 000002 004536 006120 004767 012702 005302 010267 005167 004767 105767 001417 004767 105067 11%: JSR PC,MOSET 1GO DO SETUP'S MOV coM R2, LENMSK LENMSK sALLOW MAXIMUM BUFFER. TST8 STAFLG @g :gntcur.az JSR PC,SETCH BEQ JSR CLR8 MOV MOV MOV CoM MOV MOV 504244 STAFLG 3941 026004 3942 026012 3943 026016 066767 016702 042702 004772 504244 003740 1355422 155416 177741 026160 155422 000763 504254: 1IF STARTING THEN: 1CMD2=REWIND 1LET STAFLG :8= #0 1CLR START FLAG. TV, (R1). ®DATCNT,(R1)+ ORNOPSC ,R2 R2 R2,(R1). ORANP,(R1)+ s+ DO A SUPVSR BREAK FIRST. TR ce 8GE ADD MOV R1,#SEQEND 504254 RANB , RANS RANS ,R2 JSR PC , SRANCMD( BR 504244 8IC 2 NSSRM STAERM sCMD 1 = SET CHARACTERISTIC. ;IFB STAFLG NE #0 THEN PC,SETRW CSERDF 1SET UP THE RECORD LENGTH MASK, 504234 : BREAK 020127 002012 TRAP .WORD .WORD .WORD 504224 : 3938 025776 3939 025776 3940 026002 SEQ 123 0177741 ,R2 C$BRK sFILL SEQ TBL WITH RANDOM CMDS. 1LET RANS := RANS + RANB 1SET UP A RANDOM CMD + BRF. MOV #END, (R1) 1STORE END OF SEQUENCE CODE IN TABLE. 003540 MOV OCMDSEQ,R1 +INIT CMD SEQ TBL POINTER, 155450 BEQ w 504234 ALLEOT tFLAG ALL UNITS @ EOT 001546 JSR PC, TSWEOT JSR MOV coM 1READ REV THAT EXTRA REC TO RE-POSITION THE TAPE PC,RANRD 1SET_UP READ REV/FWD CMDS, ORNOPSC,CMDSEQ+4 l. OF RECORDS FOR READ REV. CMDSEQ+4 012711 004767 177777 162166 012701 005702 001732 105267 004767 JSR TST NP PC,EXALL R2 1G0 EXECUTE ALL CMDS IN SEQUENCE TABLE. tREPEAT UNTIL EOT IS REACHED tWRITE ONE RECORD BEYOND EOT ON ALL UNITS 1SO THAT SHORTER READ STOP DISTANCE 1SHALL POSITION HEAD IN CLEAN IRG GAP 004767 012767 005167 000126 177740 155440 155444 —- e " HARDWARE TESTS MACRO M1113 | TEST 2: DATA RELIABILITY. 3965 026104 3966 026112 016767 012711 3970 026134 012701 3975 026154 026154 —— 026156 004767 105067 112767 162104 155376 000001 004767 162042 012711 004767 003540 155442 155363 177777 162052 EXIT 104432 000320 ] : 3981 026162 3982 026164 3983 026166 3984 026170 3985 026172 3986 026174 3987 026176 3988 026200 3989 026202 3990 026204 3991 026206 3992 026210 3993 026212 3994 026214 3995 026216 3997 026332 026332 026332 026220 026220 026220 THE DATA RELIABILITY TEST. 1WRITE sWRITE. tWRITE, sWRITE. IWRITE. tWRITE. tWRITE. sWRITE. 005767 002030 012721 020127 1S5S232 003740 000007 155150 155140 177740 ; : : 1¢: 104401 010221 012721 g RANRD:: 000136 000160 155214 004000 002007 sREAD. RANKRD 012721 066767 016702 702 sREAD. RANRD 026220 155144 CSEXIT L10034-. ADDRESSES OF SUBROUTINES USED TO SET UP RANDOM OPERATIONS IN 1READ. 026220 4010 026246 4011 026250 5 ; TRAP .WORD RANRD 001406 004767 004767 005067 : TST 026220 026224 026226 026232 026236 4019 026310 1STORE REWIND IN SEQ TBL, RANRD 026220 IGO EXECUTE READ REV/FWD OF LAST N RECORDS. sCLEAR ALL UNITS ® EOT FLAG tREQUEST PERFORMANCE REPORT DURING REWIND. 1STORE END IN SEQ TBL, IEXECUTE REWIND CMD m ALL UNITS 026220 i 4016 026276 4017 026300 1 INIT SEQ TBL POINTER, [l " sREAD. sREAD. tREAD. % 4013 026260 4014 026266 4015 026272 #CMDSEQ,R1 PC.EXALL ALLEOT #1,RPTFLG RANRD RANRD 3 3 : 3 4012 026254 1® OF RECORDS FOR READ FORWARD. 1STORE END OF SEQUENSE CODE IN SEQ TABLE. RANWY RANIR RANLR RANISR RANUR RARUR RAKLR 3998 3999 4000 4001 4004 026220 CMDSEQ+4 ,CMDSEQ+14 ®END,(R1) RANCMD: RANMWR 026356 026332 026332 026332 — SEQ 124 MOV ®END,(R1) JSR PC,EXALL g:;g 3980 026160 e — JSR PC,SETRW 3977 4005 4006 4007 4008 MOV MOV JSR CLRB MOVB MOV sREAD. SUBROUTINE TO SET UP READ COMMANDS IN SEQUENCE TABLE. INPUTS: OUTPUTS: REGISTERS: R2 CALLS: TST WTMFLG sWAS LAST CMD A WRITE? BEQ JSR JSR CLR 1 PC.RAWTM PC.RASFR WTMFLG 1NO,GO AMEAD sYES PUT DOWN TAPE MARK sAND SPACE FILE REV s THEN CLEAR THE FLAG BGE MOV 28 ORDR,(R1 ). 1STORE READ REV CMD. cP MOV ADD MOV BIC R1,9#SEQEND m7éN7 J(R1)e RANS ,RANB RANB ,R2 ORNOPSC ,R2 R2,(R1). ORANP,(R1)+ : 3972 026144 gg;z 026150 30-NOV-83 10:17 155434 177777 S—— H10 3 3971 026140 S SEE 3967 026116 3968 026122 3969 026126 e 1SET BRF TO MAX FOR READ RANDOM LENGTHS. 1LET RN. :* RANB ¢+ RANS tLET R2 := RANB CLR.BY ORNOPSC 1SET RANDOM @ OF OPERATIONS. lflm PATTERN., HARDWARE TESTS MACRO mus TEST 2: DATA RELIABILIT 4020 026312 4021 026316 012721 012721 010221 012721 000207 30-NOV-83 10:17 104001 004000 000007 SEQ 125 MOV MOV 2s: MOV RTS PC QDATCNT,(R1)+ 2.(&1)0 ORANP,(R1)+ 1STORE READ FWD CMD. 1SET BRF TO MAX TO READ RANDOM LENGTHS. 1SET RANDOM & OF OPERATIONS. tRANDOM PATTERN. SUBROUTINE TO SET UP A WRITE COMMAND IN THE SEQUENCE TABLE, THEN A WRITE TAPE MARK AND SPACE FILE REVERSE. INPUTS: OUTPUTS: REGISTERS: CALLS: 104005 000102 155110 155102 MOV MRT,(R1)+ TST WTMFLG JSR PC,RANU 1¢: BNE INC RTS PC 1 WTMFLG 1STORE WRITE CMD. 1STORE BRF, @ W OPERATIONS, PATTERN. tLAST CMD A WRT? 1 YES ,RETURN sNO,SET THE FLAG SUBROUTINE TO SET UP A WRITE/VERIFY COMMAND IN THE SEQUENCE TABLE. 012721 004767 000207 1STORE WRITE/VERIFY CMD. 104105 000056 1STORE BRF, @ OF OPERATIONS, PATTERN. W%TM TO SET UP A WRITE TAPE MARK IN THE SEQUENCE TABLE. INPUTS: OUTPUTS: 020127 003740 012721 012721 012721 005721 000207 100011 RAWTM: : 000001 1¢: 33883 3 REGISTERS: ST RTS PC R%.OSEQID 1 MTHM,(R1) #1,(R1). #1,(R1) (R1)» 1STORE WRITE TAPE MARK CMD. 1BRF 1@ OF OPERATIONS 1SKIP PATTERNS swnomsnm TO SET UP A SPACE FILE REVERSE IN THE SEQUENCE TABLE. INPUTS: OUTPUTS: REGISTERS: CALLS: 4073 026416 020127 003740 4076 026430 012721 012721 105410 4074 026422 4075 026424 000001_ RASFR; ; B8GE MOV MOV OSFR,(R1)+ 01,(R1). 1STORE SPACE FILE REVERSE 1BRF ' MARDWARE TESTS MACRO M1113 ' TEST 2: DATA RELIABILITY. 4077 026434 4078 026440 012721 005721 000207 J10 30-NOV-83 10:17 000001 14: MOV ;?; pe SEQ 126 #1,(R1). (R1). 14 OF OPERATIONS 1SKIP PATTERNS SUBROUTINE TO STORE BRF, & OF OPERATIONS, PATTERN IN COMMAND SEQUENCE TABLE FOR WRITE AND WRITE/VERIFY COMMANDS. INPUTS: OUTPUTS: REGISTERS: CALLS: 4089 026444 4090 4091 026450 4092 026456 016702 4094 010221 4095 026470 4096 026474 012721 004000 066767 154760 154750 177740 012721 000207 154754 MOV ®DATCNTY,(R1)+ ADD MOV RANS , RANS RANB,R2 $SET BRF TO MAX FOR PATTERN GENERATION. tRANDOM BRF WILL BE GENERATED FOR EACH RECORD. tLET RANB := RANB + RANS tLET R2 := RANB CLR.BY #RNOPSC R2,(R1). ORANP,(R1)+ 1SET RANDOM & OF OPERATIONS. tRANDOM PATTERN. 8IC MOV MOV 000007 R2 RTS PC ORNOPSC ,R2 tRETURN. .EVEN 026476 L10034: 104401 .SBTTL ENDTST TRAP TEST 3: CSETST WRITE COMPATABILITY/WRITE UTILITY, gee s+ TEST TO WRITE RECORDS FROM BOT TO EOT. T3:: 4110 026500 4111 026506 4113 026512 4114 026516 4115 026522 112767 105067 000001 155002 004767 170364 160350 004767 103404 026530 026532 104455 000002 004536 006120 4118 026534 4119 026540 004767 8%25702 4121 4122 4123 4124 4125 010267 005167 004767 004767 105067 026546 026552 026556 026562 026566 155007 BGNTST MOV CLR8 @1, RANDOM 1SET THE RANDOM OPERATIONS FLAG. EXPBOT LET EXPBOT :8= #0 1CLEAR EXPECT BOT FLAG. JSR ilcsg PC,FIRSTV PC,SOFINIT ERROF 114 2,NSSRM,STAERM 1FIND THE FIRST UNIT. s INIT DEVICE tREPORT TSOS NOT READY TRAP WORD .WORD .WORD 11¢: 154734 JSR PC,MDSET 1GO DO SETUP'S MOV com R2,LENMSK LENMSK 1ALLOW MAXIMUM BUFFER. CLR8 STAFLG 0'2! :gATCNT R2 JSR PC,SETCH JSR PC,SETRW 504264 : BREAK CS$ERDF 2 NSSRM STAERM 1SET UP THE RECORD LENGTH MASK, 1CMD 1 = SET CHARACTERISTIC. 1CMD2=REWIND LET STAFLG :8= #0 1CLEAR START FLAG + DO A SUPVSR BREAK FIRST. K10 HARDWARE TE STS MACRO M1113 30-NOV-83 10:17 TEST 3: WRITE COMPATABILITY/WRITE UTILITY, SEQ 127 104422 TRAP 020127 002003 004767 000772 003740 012711 004767 012701 005702 001761 105267 000240 000240 000240 177777 161406 003540 004767 000766 105067 004767 012711 004767 154652 161330 177777 161340 50427%: 177524 S0430¢: cHP 8GE JSR B8R MOV JSR MOV ®END, (R1) PC,EXALL #CMDSEQ.R1 TST R2 INCB ALLEOT BEQ 154670 R1,#SEQEND 304 PC,RANWR 504274 NOP NOP NOP 504264 JSR PC, TSWEOT CLR8 ALLEOT MOV #END, (R1) EXIT TST JSR PC,SETRW JSR PC,EXALL 104432 C$BRK tWHILE THERE IS MORE ROOM IN SEQ TABLE: 1STORE A WRITE CMD IN SEQUENCE TABLE. 1STORE END OF SEQUENCE CODE IN TABLE. 1EXECUTE ALL CMDS IN SEQ TBL ON UNITS. +INIT SEQ TBL POINTER, tREPEAT UNTIL EOT IS REACHED 1SET ALL UNITS @ EOT FLAG tWRITE ONE RECORD BEYOND EOT ON ALL UNITS 1SO THAT SHORTER READ STOP DISTANCE 1SHALL POSITION HEAD IN CLEAN IRG GAP tREAD REV _THAT EXTRA REC TO RE-POSITION TAPE tCLEAR ALL UNITS & EOT FLAG 1STORE REWIND IN SEQ TBL, 1STORE END IN SEG TBL, 1EXECUTE REWIND CMD ON ALL UNITS TRAP CSEXIT TRAP CSETST .WORD L10035-. .EVEN L10035: 104401 .SBTTL ENDTST TEST 4: READ COMPATABILITY/READ UTILITY, goe s+ TEST TO READ ENTIRE TAPE FORWARD AND REVERSE. 4166 026674 026674 4167 4168 026674 4171 4172 4173 4174 026710 026714 026720 026722 026722 026724 026726 T4:: 112767 112767 000001 000001 004767 004767 103404 170166 160152 104455 000002 004536 154613 154604 BGNTST MOV MOV 1 ,RANDOM #1,EXPBOT 1SET THE RANDOM OPERATIONS FLAG. 1SET EXPECT BOT FLAG. JSR JSR 8CS ERROF PC.FIRSTY PC,SOFINIT 114 2,NSSRN, STAERM tFIND THE FIRST UNIT, + INIT DEVICE tREPORT TSOS NOT READY TRAP . WORD .WORD gOEW NSSRM L1O . MARDWARE TESTS MACRO M1113 30-NOV-83 10:17 - TEST 4: READ COMPATABILITY/READ UTILITY, s 026730 4176 026732 SEQ 128 006120 .WORD 004767 160530 JSR PC,MDSET 105067 012721 012721 012721 012721 154554 104001 004000 077777 000007 CLR8 MOV MOV MOV MOV STAFLG sLET STAFLG :8= #0 sCLEAR START FLAG ORDF,(R1)+ 1CMD3 = READ FORWARD. ®DATCNT,(R1)» $SET LENGTH TO MAX FOR UNKNOWN LENGTHS. 077777,(R1)+ 1SET RECORD COUNT TO MAX FOR WHOLE TAPE. ORANP,(R1)+ tPATTERN = RANDOM. 4185 026776 004767 161224 JSR PC.EXALL 4187 027006 4188 027012 4189 027016 4190 027022 012701 012721 012721 012721 003540 104401 004000 077777 MOV MOV MOV MOV 4192 027032 012711 177777 MOV #END, (R1) :ig 027042 105067 154456 CLR8 ALLEOT EXIT TST 4177 026736 4178 026742 4179 026746 4180 026752 4181 026756 4182 026762 4183 026766 004767 004767 4184 026772 012711 4186 027002 105267 11%: STAERM 161220 161240 177777 MUV 154516 INCB 4191 027026 012721 000007 4193 027036 4196 027046 027046 g 027050 004767 JSR PC,SETCH JSR PC,SETRW MOV 161164 JSR 104432 160 DO SETUP'S 1CMD 1 = SET CHARACTERISTIC. 1CMD2=REWIND . #END, (R1) 1STORE END OF SEQUENCE CODE IN TABLE. ALLEOT tFLAG TO ALLOW ALL UNITS AT EOT TO READ REV #CMDSEQ,R1 ORDR,(R1)+ ODATCNT,(R1)+ 077777,(R1)+ ORANP, (R1)+ PC.EXALL 1EXECUTE ALL CMDS IN SEQ TBL ON ALL UNITS. +INIT CMD SEQ TBL POINTER 1CMD1 = READ REVERSE 1SET LENGTH TO MAX FOR UNKNOWN LENGTHS. aRECW COUNT = MAX FOR WHOLE TAPE. tPATTERN = RANDOM. +STORE END OF SEQUENCE CODE IN TABLE. 1GO EXECUTE READ REV. OF ENTIRE TAPE. 1CLEAR ALL UNITS 8 EOT FLAG TRAP 000002 4198 CSEXIT .WORD L10036-. TRAP CSETST TRAP MWORD WORD «WORD CS$ERDF 2 NSSRM STAERM .EVEN 4199 4200 027052 027052 201 027052 L10036: 104401 ‘2042023 .SBTTL 4204 jee :2052“ ENDTST TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. s+ TEST TO EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. .-- 4207 4208 027054 027054 TS:: 4210 027054 105067 112767 000001 4213 027066 004767 170010 4215 027076 4216 027100 103404 gg 027060 4214 027072 004767 027100 027102 027104 an1? 027106 104455 000002 004536 006120 4218 027110 4219 027114 004767 116767 004767 016767 4220 027122 4221 027126 154435 154426 CLR8 RANDOM tCLEAR RAMDOM MODE FLAG. JSR PC,FIRSTV tFIND THE FIRST UNIT. 8Cs ERRDF 114 2,NSSRM,STAERM tREPORT TSOS NOT READY MOV 157774 160352 153076 161034 153066 BGNTST JSR 154377 154406 114: #1,EXPBOT PC,SOFINIT JSR PC,MDSET MOVB PIRE,IRE JSR PC,SETCH MOV CHAR,CMDSEQ+2 1SET EXPECT BOT FLAG. s INIT DEVICE 1GO DO SETUP'S tMOVE INMIBIT RFC ERROR REPORT FLAG. 1CMD 1 = SET CHARACTERISTIC. move CHAR CODE FROM P TBL TO SEQ TBL. M10 HARDWARE TESTS MACRO M1113 30-NOV-83 10:17 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE 4222 027134 4223 027140 4224 027144 4225 027150 4226 027154 4227 027160 012702 004767 004767 004767 004767 MOV JSR JSR JSR JSR JSR JSR JSR 002222 004767 004767 004767 005067 105067 012701 3s: S04314: 177777 4235 027210 4236 027214 4237 027216 4238 027222 " 000040 . PC.PTCMDS PC.PTCMDS PC,.PTCMDS PC,PTCMDS PC.PTCMDS PC.PTCMDS PC,PTCMDS c BNE 000002 ADD 154210 154202 ADD 1¢: 154160 24: 012727 000000 016727 000000 JLOOP DEC BEQ J0C 3¢ MOV 7%: {WHILE THERE ARE CMDS LEFT IN SEQUENCE TBLE: 1IS THIS A JUMP CMD? _IF NOT. 1BR +IF THIS IS THE RIGHT LOCATION TO JMP TO, GO SET +IF NOT, UPDATE SEQ POINTER TO NEXT CMD. 100 IT AGAIN. #10,R1 ADD MOV #0LY.C.(R1) 4% ®4,.R1 (R1),TIME2 DELAY 1 1DELAY? 1BR IF NOT. iRl = LWATI@‘ OF N COUNT, 1SAVE N COUNT. 1GO TO SUPER- HAIT 1 MSEC. MOV O .WORD O MOV 177772 DEC BNE DEC DEC BNE ADD B8R 000004 161610 362 154024 027372 027376 027402 027410 027412 161466 161122 154012 167774 “ TIME2 74 o4, ,R1 3¢ iLET R1 := Rl €1,(PC)e .WORD 152572 154072 4264 027370 . #CMDSEQ.R1 177756 4265 4266 4267 4268 4269 4270 +MOVE CMD 7 FROM P TBL TO SEQ tMOVE END CMD FROM P TBL TO SEQ TBL. 1CLEAR JMP CMD LOOP COUNT. 1CLEAR START FLAG iLET R1 := R1 002 POINT TO BRF. 1 SAVE BRF (LWATIN) tHAS LOOP COUNT BE SATISFIED? 24 CMP BNE 000001 . 3 INC BR 000004 154126 +MOVE CMD S FROM P TBL TO SEQ #2,R1 BR ADD 000010 011167 ow.C.(RY) 64 #2,R1 IN SOFT P TABLE. TBL TO SEQ TBL. TBL TO SEQ TBL. TBL TO SEQ TBL. +MOVE CMD 6 FROM P TBL TO SEQ TBL. (R1),4END 504324 MOV (R1)+,JL0C CMP (R1)+,JL00P 14 BNE 154166 1R2 POINTS TO CMD2 +MOVE CMD 2 FROM P +MOVE CMD 3 FROM P +MOVE CMD 4 FROM P CLR JLOOP CLR8 STAFLG MOV OCMDSEQ,R1 tWHILE (R1) NE ¢END DO cHe BEQ SEQ 129 L$DLY,(PC)+ -6(PC) .~4 -22(PC) .'20 1POINT TO NEXT CMD. JSR_PC,SET 154024 100017 sWHILE NCNT LT NCNT1 DO cHP NCNT, 50434¢ 8GE cHP BNE JSR PC,CMDAC JSR PC,EXSUB 304354 +8GES JSR PC,PRXST 1STORE CMD ASCII IN ERROR MSG. 1ISSUE CMD TO ALL,AWAIT INTS,CHECK STATUS. 1IF CMD IS GET STATUS THEN: tPRINT EXTENDED STATUS REGISTERS. | HARDMARE TESTS MACRO M1113 N10O 30-NOV-83 10:17 SEQ 130 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. 4271 027416 4272 027416 004767 4274 027426 004767 4273 027422 4275 027432 4276 027432 4277 027440 4278 027442 4279 027450 4280 027452 4281 027460 4282 027462 4284 027464 012702 026527 001426 032767 001406 032765 001001 005002 4285 027464 000411 4288 027474 001404 4290 027504 001001 4286 027466 4287 027466 4289 027476 4291 027506 4292 4293 027506 504354 : 170056 000001 MOV 167450 002604 177777 000400 153750 000002 003502 032765 000001 003502 032767 000001 153714 4300 4301 4302 @ 4304 4305 4306 4307 4308 000746 :ggz 027552 001016 016767 005267 105267 026727 001002 004767 S0437¢: 000001 1353662 153656 153762 153660 153662 000002 000056 304414 R2 BR 504424 BIT 1IF NOT AT BOT THEN: 1CLEAR EOT/BOT FLAG. 1ELSE IF CMD IS NOT REVERSE: #X0.EOT,EOTFLG(RS) BEQ 504434 BNE 504444 #CMD. CO, CMDWRD +IF NOT AT EOT OR NOT A MOTION CMD THEN: iILET R2 := #0 sCLEAR EOT/BOT FLAG. R2 * JSR PC,NEXTV $ sFIND NEXT UNIT . BR 504364 cP BNE MOV INC INCB cHP BNE R2,01 504454 NCNT,NCNT1 NCNT1 ALLEOT CMOLG, #2 504464 B8R 504474 CLR8 ALLEOT tWHEN NOT ALL SEOT, CLEAR FLAG INC NCNT 1tUPDATE RECORD COUNT. BR 504334 +IF ALL UNIT ARE AT EOT/BOT THEN: t+FORCE TERMINATION OF COMMAND. - JSR PC,TSWEOT 1FLAG ALL UNITS AT EOT/BOT TO ALLOW VERIFY OF D - jWHEN WRITING IS CURRENT COMMAND ;GO WRITE/READ REV ONE RECORD BEYOND EOT 504464 : :g}z 027560 105067 153740 4317 027564 4318 027564 005267 153622 016767 153624 000671 4323 027600 004767 4326 027604 4327 027606 000601 :gg #X0.80T,EOTFLG(RS) BNE CLR 504424 : 167434 000402 4321 027576 4322 027600 cHP BEQ B8IT BEQ CLR 4313 027556 :gg 027570 tFIND FIRST UNIT. 1SET ALL UNITS AT BOT/EOT. tWHILE DEVTBL(RS) NE #END DO tWHILE THERE ARE MORE UNITS: DEVTBL(RS), #END 504374 #M0D . CO, CMDWRD +IF CMD IS REVERSE THEN: 504404 BIT 504434 : :gg 027556 4314 027360 JSR PC,FIRSTV #1,R2 504444 : 004767 027514 027516 027516 027522 027524 027532 027536 027542 027550 504408 : 005002 4298 027510 4299 1CHECK HALT AFTER EACH CMD FLAG. BIT S0441: 4295 027510 4296 4297 027510 504364 : JSR PC,CKHAE 166262 504454 504474 153626 MOV 504344 504324 : JSR BR CMOWRD,PCMDWD PC,VFYDAT 504314 ;SAVE PREVIOUS COMMAND WORD 1IF LAST CMD WAS A WRITE VERIFY, THEN GO tVERIFY THE LAST N RECORDS OF DATA. — e —— - . v - t————— - GG o 4328 4329 027606 027606 027610 MACRO M1113 s - —— ——— o — o <% SEQ 131 TST EXIT 104432 000140 — Bll S0-NOV-83 10:17 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. HARDMARE TESTS e TRAP .MORD CHEXIT L10037-. SUBROUTINE TO MOVE A COMMAND FROM THE SOFTWARE P TABLE TO THE COMMAND SEQUENCE TABLE. INPUTS OUTPUTS REGISTERS : CALLS: 4338 027612 4339 027614 4340 027616 4341 027620 4342 027624 4343 027626 4344 027630 4345 027632 4346 4347 MOV DEC ASL MOV MOV MOV MOV 0037352 R2 = POINTER TO SOFT “P* TABLE RS. (R2)+,R3 RS RS CHOTBL(RS),(R1)+ CR2)e.(R1)+ (R2)e.(R1)e C(R2)s.CR1)s RTS PC JRS = COMMAND TABLE INDEX. JMOVE IMOVE 'MOVE 'MOVE COMMAND WORD. & OF BYTES. @ OF OPERATIONS. PATTERN CODE. SUBROUTINE T0 WRITE THEN READ REVERSE ONE RECORD BEYOND EOT 4348 4349 4330 H OUTPUTS: REGISTERS: CALLS: - JSR PC.EXSUB JUSR PC.CKMAE 160660 167630 104401 CMOAC., EXSUB , CKHAE 18; 1333516 MOV MOV CHOMRD,PCMOMD MOV CMOMRD.CMOPKT MOV MOV BIC MOV {32412 02,R0 OROR,COMRD 84,0006 OBRF.C.CMOPKT CMOPKT.CMDSAV JMRITE ONE RECORD BEYOND EOT 15O THAT READ SMORTER STOP DISTANCE 'SHALL POSITION MEAD IN CLEAN IRG GAP YSET UP COUNTER FOR EOT SLET PCMOMD 1= CMOMRD LET CMOPKT := CMOMRD CLR.BY 0BRF.C LET CMDSAV :+ CMOPKT MOV OATARD. CMOPKT+CP.ADL JSR PC,CMDAC JSR PC.EXSUB JSR PC.CKMAE DEC ' RO BN 18 161132 160566 167336 4370 027744 :g?l 027746 RTS PC IREPOSTTION TAPE JLET CMOMRD := OROR BEFORE EXTRA RECORD BY READING REVERSE ;THAT RECORD TO ALLOW INEXT COMMAND IN THE ' TABLE TO BE EXECUTED JFOUND EOT YET? INO.KEEP GOING L YES,RETURN .EVEN 104401 L10037: ENDTST TRAP CSETST ENOMOD .TITLE PARAMETER CODING e o - et et e ——— PARAMETER CODING MACRO M1113 HARDMARE PARAMETER CODING SECTION L ————— . T —— .SBTTL 4333 027752 4384 1 a8 027754 4396 027754 000031 030012 160010 177564 027764 027766 027770 027772 027774 001032 030027 000777 000060 000776 027776 030000 030002 030004 030006 002022 030036 000001 000000 000001 030010 024004 4402 030012 4403 030027 4404 030036 124 126 123 4399 030010 A8(Y 4405 4406 . " S 7 A 42 S 2 - —— Jr— = Cl11 SEQ 132 HARDWARE PARAMETER CODING SECTION WITH THE OPERATOR. .WORD L10040-LS$HARD/2 LSHARD: : GPRMA TSSADR,0,0,160010,177564,YES GPRMD TS5v(CT,2,0,777,60,776,YES EXIT HROD 123 105 105 104 103 114 TSSADR: TSSVCT: TSSUNT: 4407 4408 030060 030060 . BGNHRD 000042 027754 027756 027760 027762 4397 027764 ——. 1o + THE HARDMARE PARAMETER CODING SECTION CONTAINS MACROS + THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES. THE + MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE + INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE + MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS 4391 027752 ———— BGNMOD 4385 4386 4387 4388 4389 4390 4393 4394 027752 - 30-NOV-83 10:17 :::g .NLIST BEX .LIST .EVEN BEX .ASCIZ .ASCIZ .ASCIZ L10040: .SBTTL 4412 gos + s+ s+ + s s .WORD .WORD .MORD .WORD TS$CODE TSSADR THLOLIM TOMILIM .WORD .MORD .MORD .WORD .HORD T$CODE TSSVCT 777 TILOLIM TOMILIM .WORD .WMORD LMORD LMORD LWORD T$CODE TSSUNT 1 THLOLIM TOMILIM .WORD T$CODE /TSDB ADDRESS/ /VECTOR/ /SELECT DRIVE 0-1/ ENDHRD :4‘{2 4413 4414 4415 4416 4417 4418 . SOFTWARE PARAMETER CODING SECTION THE SOFTWARE PARAMETER CODING SECTION CONTAINS MACROS THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES THE MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS WITH THE OPERATOR. .EVEN 1 PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 4420 4421 030060 030060 030062 4422 030062 000130 030666 000001 030076 030100 030102 001130 031010 000400 030104 030106 030110 001130 030734 000001 030112 003130 030116 000400 4425 030104 4426 030112 030114 4427 030120 030120 4428 030122 030122 030124 030 030130 030132 030134 4430 030136 030136 030140 —s—— o 004024 002130 030760 003130 031041 000001 005130 031131 004130 031105 030 000001 030 127044 030 006032 030156 030160 030162 030164 4434 030166 030166 030170 030172 030174 030176 LSSOFT:: .WORD L10041-L$SOFT/2 GPRM. CLRM,0,1,YES GPRML RRVM,0,400,YES GPRML. RCVERM,2,400,YES GPRML HAEM,2,1,YES GPRML IRECM,6,400,YES ' XFERT NEXTSP GPRM. BADTM,.4,1,.YES 007052 031207 000037 000001 000033 T$CODE CLRM 1 .WORD .WORD .WORD T$CODE RRVM 400 .WORD .WORD .WORD T$CODE RCVERM 400 .WORD .WORD .MORD TS$CODE HAEM 1 WORD TS$CODE .WORD 400 .WORD TSCODE .MORD .MORD T$CODE BADTM HORD .WORD MORD TSCODE DINTM 1 .WORD .WORD TS$CODE IREM .WORD .WORD T$CODE CHGM WORD TS$CODE WORD GPRML. IREM,12,1,YES GPRM. CHGM,10,1,YES XFERF ENDSP1 GPRMD CHARM,14,0,377,0,777,YES 031162 000377 000000 000777 .WORD .WORD WORD .WORD 000001 030144 030146 4433 030154 BGNSFT 031064 000001 4432 030152 - 000130 030705 000400 0301 4431 030144 e 000302 030062 030064 030066 4423 030070 030070 030072 030074 4424 030076 - SEQ 133 . 4819 - D11 30-NOV-83 10:17 GPRMD CMD2M,16,D0,37,1,33,YES MORD WORD .WORD IRECM 1 1 1 T$CODE .WORD CHARM .WORD .WORD .WORD LWORD WORD T$CODE CrD2M 37 TSLOLIM " TSHILIM .WORD MORD MORD » 377 THLOLIM TSHILIM —— o ————— MACRO M1113 . SOFTWARE PARAMETER CODING SECTION 030200 030202 030204 030206 030210 4436 030212 010052 031215 177777 000001 004000 030216 030220 030222 4437 030224 030224 030226 030230 030232 030234 4438 030236 177777 000001 077777 030212 030214 011052 031227 012052 031247 000017 000000 000010 0302 013052 ) 000033 030250 030252 030254 030256 030260 014052 031215 177777 000001 004000 030262 030264 030266 030270 030272 015052 031227 177777 000001 077777 030274 030276 030300 030302 030304 016052 031247 000017 000000 000010 030306 030310 030312 030314 030316 4443 030320 017052 031364 000037 000001 000033 030322 030324 030326 031215 177777 000001 4441 030274 4442 030306 030320 030330 4444 030332 030332 030334 ———— 020052 021052 031227 e B - S e ————————— . 30-NOV-83 10:17 GPRMD S St E11l NUMBM,22,D0,-1,1,77777,YES GPRMD PATTM,24,0,17,0,10,YES GPRMD CMD3M,26,0,37,1,33,YES GPRMD PATTM,34,D0,17,0,10,YES GPRMD CMD4M,36,D,37,1,33,YES GPRMD BPCRM,40,D,-1,1,DATCNT,YES GPRMD NUMBM,42.D0,-1,1,77777,YES SEQ 134 . . . . . . . . . . . . . . . . . . . . " T4CODE BPCRM -1 TOLOLIM TOHILIM T4CODE NUMBM -1 TSLOLIM TOHILIM T$CODE PATTM 17 TSLOLIM TIHILIM T4CODE TOHILIM T4CODE 3 PARAMETER CODING T 3% 33353 38333 33338 33383 38333 33338 33333 33al8 a3t . TSHILIM T$CODE TSLOLIM TOHILIM T$CODE PATTM 17 TSLOLIM TOMILIM TOHILIM T4CODE TSLOLIM TOHILIM T$CODE
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies