Digital PDFs
Documents
Guest
Register
Log In
AH-T179C-MC
April 1985
143 pages
Original
70MB
view
download
OCR Version
99MB
view
download
Document:
CVTSEC0 TSV05 TSV05 DATA REL APR 1985 bw
Order Number:
AH-T179C-MC
Revision:
000
Pages:
143
Original Filename:
CVTSEC0__TSV05__TSV05_DATA_REL__AH-T179C-MC__APR_1985_gray.pdf
OCR Text
PYRIGHT CYTSECO : () AH-T179C-MC FIGHE 0L OF 01 1982-8 ElEREEn TSVOS DATA RELIABILITY MACRO M1113 14-JUN-84 18:32 SEQ 0001 JREM_ IDENTIFICATION PRODUCT ID: AC-T178C-MC PRODUCT TITLE: CVTSECO TSVOS DATA REL PRODUCT DATE: 4-JUN-84 MAINTAINER: CSS/PGG DIAGNOSTICS AUTHOR : DICK GORDON THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT CORPORATION. DIGITAL EQUIPMENT CORPORATION ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR IN THIS DOCUMENT. NO RESPONSIBILITY IS ASSUMED FOR SOF TWARE ON EQUIPMENT THAT IS NOT AFFILIATED COMPANIES. COPYRIGHT (C) 1982, THE USE SUPPLIED OR BY RELIABILITY OF DIGITAL OR ITS 1984 BY DIGITAL EQUIPMENT CORPORATION THE FOLLOWING ARE TRADEMARKS OF DIGITAL EQUIPMENT CORPORATION: DIGITAL DEC POP DECUS UNIBUS DECTAPE MASSBUS TSVOS DATA RELIABILITY MACRO M1113 C1 14-JUN-84 18:%2 48 49 USER DOCU‘ENTMION TABLE OF CONTENYS 50 51 52 53 54 55 56 57 58 59 60 61 62 53 64 65 66 67 68 69 GLOSSARY 1.0 GENERAL INFORMATION - PROGRAM ABSTRACT 1.1.1 1.1.2 1.1.3 1.1.4 FUNCTIONAL DESCRIPTION STRUCTURE OF PROGRAM MEMORY MAP DIAGNOSTIC INFORMATION 1.1.4.1 SCOPE 1.1.4.2 ERROR RECOVERY 1.1.4.3 WRITE ERROR RECOVERY 1.1.8.3.4 MEDIA/OPERATIONAL SELECTIVE WRITE-ERROR-RECOVERY 1.4.3.2 70 71 72 73 T4 75 OPERATIONAL WRITE-ERROR-RECOVERY 1.1.4.4 DI‘GMJSYIC TIMING ADJUSTMENT 1.2 SYSTEM REQUIREMENTS 1.2.1 1.2.2 76 77 78 79 80 81 82 83 84 85 86 87 88 89 2.0 90 91 92 93 94 95 RELATED DOCUMENTS AND STANDARDS 1.4 DIAGNOSTIC HIERARCHY PREREQUISITES 1.9 ASSUMPTIONS OPERATING INSTRUCTIONS 2.1 HARDWARE PARAMETERS 2.2 SOF TWARE PARAMETERS 2.3 97 98 99 .PAGE HARDWARE REQUIREMENTS SOFTWARE REQUIREMENTS 1.3 2.2.1 2.2.2 9% 100 101 102 103 104 SEQ 0002 2.4 TSO0S5 COMMAND LIST DATA PATTERNS EXPMPLES OF SOF TWARE PARAMETER DIALOGUE 2.3.1 BASIC FUNCTION AND DATA RELIABILITY 2.3.2 2.3.3 SCOPE LOOP SET UP IN DATA RELIABILITY WITH ALL ERROR REPORTING ENABLED SCOPE LOOP SET UP IN BASIC FUNCTIONS EXECUTION TIMES MACRO M1113 14-JUN-84 18:32 - TSVOS DATA RELIABILITY 2.4.1 2.4.2 ERROR INFORMATION SPECIAL CMITIW ERRORS 18 4 § 1] - - (=] (o] L] ] ONOVAWN @ - @ w g§ PIT I IT I ) VRV RV RV ) o 13 TCCO, UNDEFINED SPECIAL CONDITION ATTENTION CONDITION TCC2, TAPE STATUS ALERT TCC3, FUNCTION REJECT TCCA, RECOVERABLE ERROR TCCS, RECOVERABLE ERROR TCC6, UNRECOVERABLE ERROR TCC7, FATAL SUBSYSTEM ERROR RFC NON-ZERO ERROR RETRY LIMIT EXCEEDED TOO MANY INTERRUPTS CAPSTAN RUNAWAY DATA COMPARE ERRORS ERROR HALTS PERFORMANCE REPORT 5.0 TEST SUMMARIES 6.0 #5 06 #7 #8 # ERROR €10ERROR #11ERROR #12- ERROR 017 4.0 5.1 5.2 S.3 5.4 3.3 [y (L RV RV 3.2 00\‘0 - . 3 3 3. . 3. 3.1.10 ERROR ERROR ERROR ERROR ey ol ol ERROR 02 ERROR €3 ERROR €4 COMMAND PACKET ADDRESS IS NOT ON A MODULO 4 BOUNDRY - TSOS NOT READY - NO RESPONSE ERRORS - NO INTERRUPT ERROR 3.1.5.1 TEST TEST TEST TEST TEST 1 2 3 4 S - BASIC FUNCTIONS DATA RELIABILITY WRITE COMPATABILITY/WRITE UTILITY READ COMPATABILITY/READ UTILITY RANDOM/OPERATOR SELECTED COMMAND SEQUENCE DEVICE INFORMATION oo 150 151 152 153 154 155 156 157 158 159 160 161 ERROR 01 P 117 118 .1 1] W WWHWWnw 116 140 141 142 143 144 145 146 147 148 145 ERROR REPORTING ] 5.1 113 114 115 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 SYSTEM CONFIGURATION TEST EXECUTION TIMES VNawn 3.0 . j 111 112 o-r-o—o- 105 106 107 108 109 110 .1 .2 3 GENERAL @-8US INTERFACE SPECIFICATIONS BIT DEFINITIONS FOR TSVOS/TSOS REGISTERS 6.3.1 6.3.2 6.3.2.1 6.3.3 6.3.4 TSVO5/TS0S REGISTER SUMMARY TSVOS STATUS REGISTER (TSSR) TSVOS EXTENDED DATA BUFFER REGISTER (TSDBX) EXTENDED STATUS REGISTER O (XSTATO) EXTENDED STATUS REGISTER 1 (XSTAT1) TSVOS DATA RELIABILITY MACRO M1113 14-JUN-84 18:32 SEQ 0004 6.3.5 6.3.6 6.3.7 162 163 164 165 EXTENDED STATUS REGISTER 2 (XSTAT2) EXTENDED STATUS REGISTER 3 (XSTAT3) EXTENDED STATUS REGISTER 4 (XSTAT4) 7.0 DIAGNOSTIC HISTORY 166 167 168 169 170 171 172 173 1.0 GENERAL INFORMATION 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 THIS PROGRAM CAN BE USED AS A BASIC FUNCTION TEST, TEST, OR A COMPATABILITY TEST. A DATA RELIABILITY 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 INDEPENDENTLY AS A DIAGNOSTIC SUPERVISOR. 1.1.3 MEMORY MAP ' 0! i H ! ' ! VECTOR AREA ! ! H 400 ' e 4 ! ! [] H ! ' STACK ' ' 2000 !----cccmcnnna- ' RO f-rsracinnmansa : ' P ' ! ! : DIAGNOSTIC SUPERVISOR ! s TSVOS DATA RELIABILITY MACRO M1113 14-JUN-84 18:32 SEQ 0005 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 P77 FREE MEMORY SPACE FOR WR/RD BFRS OR OTHER PUROSES IS ALLOCATED BY THE SUPERVISOR ON REQUEST OR CHOOSEN B8Y PROGRAMMER TO RESIDE BETWEEN THE DIAG AND THE SUPERVISOR. 1.1.4 DIAGNOSTIC INFORMATION --eeeeemee-.-——————--. 1.1.4.1 SCOPE THIS DIAGNOSTIC CAN TEST ONE CONTROLLER AND UP TO 2 DRIVES. ARE ASSIGNED LOGICAL DRIVE NUMBERS O - 1 BY THE DIAGNOSTIC. 20 262 263 264 265 266 267 268 269 270 271 272 273 274 275 THE 2 DRIVES THERE ARE S TESTS IN THIS PROGRAM: 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 ccccccccnncacass TEST TEST TEST TEST TEST 1 2 3 4 S - BASIC FUNCTIONS. DATA RELIABILITY, WRITE COMPATABILITY/WRITE UTILITY, READ COMPATABILITY/READ UTILITY. RANDOM/OPERATOR SELECTED SEQUENCE UTILITY. 1.1.4.2 ERROR RECOVERY ERROR RECOVERY IS PERFORMED ON READ, WRITE AND WRITE TAPE MARK FUNCTIONS UNLESS ERROR RECOVERY IS INHIBITED 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. 1.1.4.3 WRITE ERROR RECOVERY THERE ARE 2 , SELECTABLE WRITE-ERROR-RECOVERY ALGORITHMS USED BY THIS DIAGNOSTIC: 1. MEDIA/OPERATIONAL SELECTIVE ALGORITHM 2. OPERATIONAL ALGORITHM BY DEFAULT THE DIAGNOSTIC SELECTS THE FIRST ALGORITHM TO IDENTIFY MEDIA RELATED WRITE ERRORS FROM OPERATIONAL ONES. TO SELECT THE SECOND ALGORITHM: ANSWER 'Y‘ TO CHANGE SW (L) ? ANSWER ‘N’ TO BAD TAPE SPOT DETECTION (L) Y IF ERROR RECOVERY IS INHIBITED, ? 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 TSVOS DATA RELIABILITY MACRO M1113 Ty 14-JUN-84 18:32 SEQ 0006 OPERATIONAL ONES. 276 277 278 ALGORI THM 280 A WRITE RETRY SUBROUTINE IS CALLED BY THE RECOVERABLE ERROR SUBROUTINE WHMICH IS 279 ENTERED UPON DETECTIION OF A WRITE RECOVERABLE ERROR. IritnlggTE RETRY SUBROUTINE ATTEMPTS TO REWRITE THE RECORD IN SAME SPOT ON TAPE IF ALL 4 REPEATS ARE GOOD, THE RECORD IS CONSIDERED AS RECOVERED AND A RECOVERABLE WRITE ERROR IS LOGGED AT THAT RECORD NUMBER. IF ANY OF THE 4 REWRITE ATTEMPTS FAIL, THE ROUTINE WILL ERASE THE BAD RECORD, AND LO BAD SPOT AT THAT RECORD NUMBER,THE ROUTINE WILL THEN ATTEMPT TO WRITE THE RECORD AGAIN 3 INCHES FURTHER DOWN TAPE AND RETRY THIS SEQUENCE 4 TIMES, FOR UP TO 4 REPEATS EACH. 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 MAVE BEEN LOGGED . TWENTY (20) BAD SPOTS MAXIMUM ARE ALLOWED PER BOT TO EOT PASS OF TAPE. WHEN 20 BAD SPOTS HAVE BEEN LOGGED, WETHER ON THE SAME RECORD NUMBER OR NOT, TAPE IS CONSIDERED DEFECTIVE: A BAD TAPE OVERFLOW MESSAGE IS PRINTED AND THE UNIT IS REWOUND, THEN DROPPED. DURING THE RECOVERY PROCESS, IT IS NECESSARY TO PERFORM SEVERAL TAPE POSITIONING OPERATIONS: SPACE REVERSE, ERASE. IF A POSITION ERROR IS DETECTED IN THE STATUS WORD DURING THOSE OPERATIONS, THEN THE RECOVERY ATTEMPT IS AN APPROPRIATE UNRECOVERABLE ERROR MESSAGE IS PRINTED AND THE UNIT IS DROPPED. ALL BADLY WRITTEN RECORDS LOGGED WITH RECOVERABLE ERRORS ARE ERASED UNTIL RECOVERED, INCLUDING THE RECORD AT THE 20TH BAD SPOT, SO THAT ALL RECORDS LEFT ON TAPE ARE KNOWN GOOD WRITTEN RECORDS. 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 RECORD. THAT LONG STRETCH OF BAD TAPE WOULD THEN BE LOGGED WITH 20 BAD SPOTS AT SAME RECORD NUMBER AND THE TAPE CONSIDERED DEFECTIVE. BAD SPOTS REPORTS 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 LENGTH OF ERASE GAPS CAN BE DETERMINED: APPROXIMATELY 3 INCHES PER RETRY. 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 THE NUMBER OF BAD SPOTS: 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 TSVOS DATA RELIABILITY MACRO Mi113 H1 14-JUN-84 18:32 SEQ 0007 333 334 BOT TO WHERE THE DIAGNOSTIC IS HALTED BEFORE REACHING EOT. DON’'T CONFUSE THIS WITH A PASS 8Y THE SUPERVISOR WHICH IS DEFINED AS A RUN THROUGH A 335 336 337 338 339 340 ON ALL UNITS SELECTED. 343 344 345 346 347 348 TO CLEAR CUMULATIVE COUNTS, ANSWER 'Y’ TO: CLEAR COUNTERS (L) Y 2. THE BAD TAPE SPOTS COUNT IS THEN CLEARED WHEN WRITING THE TAPE FROM BOT. LL THE TESTS REQUESTED 341 342 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 THOSE PASSES ARE IDENTIFIED AS “PASS” AND “EOP”, THE NUMBER OF WRITE RETRIES, CUMULATIVE FROM PASS TO PASS, IS A GLOBAL COUNT OF HOW MANY TIMES THE GROUP OF 4 RETRIES HMAS BEEN CALLED. THE NUMBER OF WRITE RECOVERABLE ERRORS EXCLUDES BAD TAPE SPOTS AND REFLECTS THE SPECIFICATIONS OF THE HARDWARE UNDER TEST. IF TEST 2 IS HALTED, THEN RESTARTED OR CONTINUED, THE RECORD COUNT IS RESET TO ZERO AND THE BAD SPOT ID SHALL FOLLOW THAT RESET COUNT. SINCE ALL WRITTEN RECORDS ARE KNOWN GOOD, THE READ ERRORS CAN BE ATTRIBUTED TO TRANSIENT NOISE, TRANSIENT ELECTRICAL MALFUNCTIONS, OR CONTAMINANTS ON TAPE AS OPPOSED TO TAPE DEFECTS. THE SAME RECORDS MUST BE WRITTEN FROM TAPE PASS TO TAPE PASS FOR THE BAD SPOTS ID TO REMAIN CONSISTENT IN THOSE TAPE PASSES. EXAMPLE OF A PRINT OUT FOR A BAD SPOT ON TAPE: CVTSE SFT ERR 00009 ON UNIT 00 TST 002 SUB 000 PC: 012100 RECOVERABLE ERROR WRT CMD FAILED - UNIT O PASS: 1 RECORD: 6 PREVIOUS CMD WAS CMOPKT 100205 003107 XSTO WRT TSBA RFC TSSR XST1 XST2 XST3 002406 000000 100210 TCC 4 XST4 000350 000002 100400 000000 000000 SUSPECT BAD SPOT AFTER 1 RETRY, 2 REPEAT SUSPECT BAD SPOT AFTER 2 RETRY, 1 REPEAT SUSPECT BAD SPOT AFTER 3 RETRY, 1 REPEAT SUSPECT BAD SPOT AFTER 4 RETRY, 3 REPEAT RETRY FAILED ON BAD SPOT...ERASED! SUSPECT BAD SPOT AFTER 1 RETRY, 1 REPEAT SUSPECT BAD SPOT AFTER 2 RETRY, 1 REPEAT CVTSE SFT ERR 00009 ON UNIT 00 TST 002 SUB 000 PC: 012100 RECOVERABLE ERROR WRT CMD FAILED - UNIT O PASS: 1 RECORD:10210 PREVIOUS CMD WAS WRT CMOPKT 100205 XSTO 000350 TSBA RFC XST1 XST2 002406 000002 000000 100010 RECOVERED ON RETRY ¢ 1 TSSR 100210 XST3 000000 T1CC 4 XST4 000000 TSVOS DATA RELIABILITY MACRO M1113 14-JUN-84 18:32 SEQ 0008 390 tC DR>PRI 393 394 395 396 397 398 399 UNIT O PASS: BYTES WRITTEN BYTES READ REV BYTES READ REV 391 392 400 401 1 RECORD:10210 0,272,279,691 0,301,123,654 0,301,120,381 RECOVERABLE ERRORS UNRECOVERABLE ERRORS WRT RDR 1 0 WRITE RETRIES 0 0 3 ROF 0 0 2 BAD SPOTS THIS TAPE PASS PRECEDING RECORD #: SPEC COND on 2 6 HARD 6 0 FATAL 0 COMPARE 0 > THIS EXAMPLE SHOMS: RECORD 6 RECOVERED ON 2ND RETRY GROUP THE 2 BAD SPOTS RESIDE IN A 18 INCH ERASE GAP BETWEEN RECORDS S AND 6 RECORD 10210 RECOVERED ON 1ST RETRY OF 4 GOOD REPEATS 3 WRITE GROUP RETRIES ATTEMPTED, RESULTING IN: 1 RECOVERABLE WRT ERR FROM RECORD 10210 2 BAD SPOTS BETWEEN RECORDS S AND 6 1.1.4.3, 2 OPERATIONAL WRITE-ERROR-RECOVERY ALGORITHM WHEN THIS ALGORITHM IS SELECTED, THE TSVOS WRITE RETRY COMMAND IS ISSUED UP TO 16 TIMES OR UNTIL RECORD IS RECOVERED, ON A WRITE RECOVERABLE ERRQR. THE WRITE RETRY COMMAND CONSISTS OF A SPACE REVERSE OVER THE BAD RECORD, THEN AN ERASE OF 3 INCHES OF TAPE AND REWRITE OF THE RECORD. 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 A NUMBER OF SUPERVISOR TIMING DELAY MACROS, KNOWN AS WATCH DOG DELAYS, ARE CALLED BY THE DIAGMNOSTIC O WAIT FOR VARIOUS COMMANDS COMPLETION. THESE DELAYS ARE NOT CALIBRATED AND SIMPLY EXPANDS INTO AN INLINE NESTED LOOP PAIR. THE COUNT FOR THE OUTER LOOP COMES FROM THE VARIABLE ARGUMENT SUPPLIED BY THE DELAY CALLS. THE COUNT FOR THE INNER LOOP COMES FROM THE FIXED "HEADER" ELEMENT “L$DLY". AS THE DIAGNOSTIC IS RUN ON DIFFERENT CPU'S, THESE DELAYS WILL VARY IN LENGTH WITH MEMORY SPEED. 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 RESUWLT IN TIME-OUTS, BY PATCHING - TSVOS DATA RELTABILITY 447 448 449 450 451 a52 453 TMACRO M1113 J1 14-JUN-84 18:32 THAT FIXED DELAY ELEMENT SEQ 0009 "LS$DLY", A PRESET COUNT OF S00 RESIDES AT “"HEADER" SECTION. "“L$DLY"” IN LOCATION 2116 OF THE 1.2 SYSTEM REQUIREMENTS 454 455 456 | | 457 458 1.2.1 HARDWARE REQUIREMENTS --------------------- 459 PDP-11/23 PROCESSOR WITH 32K OR MORE OF MEMORY CONSOLE DEVICE (VT52,LA36,ETC.) 460 461 452 PROGRAM LOAD DEVICE TSV05/TS05 463 464 465 466 467 , | | | | | 468 469 470 a71 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 SOFTWARE REQUIREMENTS DIAGNOSTIC SUPERVISOR 1.3 RELATED DOCUMENTS AND STANDARDS DIGITAL EQUIPMENT CORPORATION DOCUMENTS: 1. CIQPMAO XXDP+ PROGRAMMER'S DATE: 14 JULY 1980. . 503 502 DOCUMENT NUMBER AC-S296A-AC TSVOS TRANSPORT SUBSYSTEM USER'S GUIDE: DOCUMENT NUMBER EK-TSV0S5-UG-001 DATE: AUGUST 1982 3. TSVOS TRANSPORT SUBSYSTEM TECHNICAL MANUAL; DOCUMENT NUMBER EK-TSV0S5-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. 498 500 501 MANUAL; 2. (VTSA,VTSB,VTSC,VTSD) 499 , ' ‘ 1.2.2 2) DATA RELIABILITY PROGRAM: A) B) BASIC FUNCTION TEST. ODATA RELIABILITY TEST. DOCUMENT NUMBER EK-TSVOS-IN-001 —d 11 TSVOS DATA RELIABILITY 504 505 506 MACRO M1113 14-JUN-84 18:32 SEQ 0010 1.5 ASSUMPTIONS S07 508 509 510 511 512 513 514 THE HARDWARE OTHER THAN THE SUBSYSTEM BEING TESTED IS ASSUMED TC WORK PROPERLY. FALSE ERRORS MAY BE REPORTED IF THE PROCESSOR, MEMORY, ETC., DO NOT FUNCTION PROPERLY. VTSA,VTSB,VTSC, AND VTSD HAVE ALL SUCESSFULLY RUN WITHOUT ERRORS. THIS SECTION CONTAINS A BRIEF DESCRIPTION OF FOR DETAILED INFORMATION, TO THE THE RUNTIME SERVICES. XXDP. USER’'S MANUAL (CHQUS). ........ 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. 530 531 532 533 534 535 536 537 538 COMMAND EFFECT START RESTART CONTINUE PROCEED START THE DIAGNOSTIC FROM AN INITIAL STATE START THE DIAGNOSTIC WITHOUT INITIALIZING CONTINUE AT TEST THAT WAS INTERRUPTED (AFTER tC) CONTINUE FROM AN ERROR MALT EXIT RETURN TO XXDP+ MONITOR (XXDP+ OPERATION ONLY!) ADD ACTIVATE A UNIT FOR TESTING (ALL UNITS ARE CONSIDERED TO BE ACTIVE AT START TIME DROP DEACTIVATE A UNIT PRINT 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 PDP-11/23 PROGRAM. DIAGNOSTIC SUPERVISOR COMPATIBLE ALL LOADING AND RUNTIME INSTRUCTIONS CAN BE REFERENCED IN THE PDP-11 PROGRAMMER'S MANUAL “CIQPMAQ XXDP+ PROGRAMMERS MANUAL, NUMBER AC-S296A-AC. THE USER ENTRY IS IN QUOTES. ROOT THE DIAGNOSTIC XxXDP MEDIA CHMDLBO XXDP+ DL MONITOR 28K BOOTED VIA UNIT O ENTER DATE (DD-MMM-YR): *“ ENTER DATE OR JUST <«CR> RESTART ADDRESS: 153726 SO HZ? N " <«CR> * LSI? N " Y<CR> * “H" OR "M/L" FOR DETAILS DIAG. RUN-TIME SERVICES REV D. APR 79 CVTISE-A-O TSVOS DATA RELIABILITY UNIT IS TSVOS “— THIS IS XXDP+. TYPE R VTSEAO VTSEAOBINDRS LOADED ~ e 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 REFER e 521 522 523 524 525 526 527 528 529 S€Q 0011 e 519 520 14-JUN-84 18:32 — S5lé 517 518 L1 b e TSVOS DATA RELIABILITY MACRO M1113 TSVOS DATA RELIABILITY MACRO M1.13 14-JUN-B4 18:3%2 57% SWITCHES i e 577 THERE ARE SEVERAL SWITCHES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. 579 SWITCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF EACH. 578 THESE SWITCHES ARE APPENDED TO THE LEGAL COMMANDS. TWE LEGAL IN THE DESCRIPTIONS BELOW, A DECIMAL NUMBER IS DESIGNATED BY “DDDDD". S81 582 SWITCH B s 584 58S 586 587 538 589 S G sesan . ——— S80 ALL OF EFFECY L Sesdisatatekrebu Sy /PASS : DDDDD EXECUTE OMLY 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 'O BE RUN. ALL OTHER TESTS WILL NOT BE AuUN. EXECUTE DDDOD PASSES (DDDOD = 1 TO 64000) 592 /EOP : DDDDD REPORT END OF PASS MESSAGE AMFTER EVERY 594 595 ZUNITS:LIST TEST/ADD/DROP OMLY THOSE UNITS SPECIFIED IN THE LIST. LIST EXAM®PLE - /UNITS:0:5:10-12 S90 /TESTS:LIST /FLAGS :F'_GS s91 593 gg(_; :go 602 603 THE EFFECT OF THIS COMMAND WILL BE: 1) TESTS 1 TTMMROUGH S wiLL B¢ EXECUTED, 2) ALL UNITS WILL TESTED 1000 TIMES AND 3) TME END OF PASS MESSAGES WILL BE PRINTED AFTER EACH 100 PASSES OmaY. A SWITCH CAN BE RECOGNIZED BY THE FIRST THREE CHARACTERS. YOU MAY, 604 605 g FOR EXAMPLE, : ' START RESTART CONTINUE PROCEED DROP ACD 615 616 617 618 619 PRINT 620 DISPLAY 621 FLAGS 623 EXIT 622 625 628 ~/TESTS:1-S5-. TESTS PASS FLAGS EOP UNITS X X ® X x X X B X & X X 5 X B X X ZFLAGS 624 629 “/TES:1-5" INSTEAD OF COMMAND . 613 614 BV TYPE BELOW IS A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED By EACH :g 626 (DODOD = 1 YO 64000) START/TESTS:1-S/PASS: 1000/7€E0P: 100 1 2?3 DDDDD PASSES OMLY. EXAMPLE OF SWITCH USAGE: 99 608 SET SPECIFIED FLAGS. USE UNITS 0,5.10,11.12 (UNIT MUPBERS = 0-63) 290 e e G R e B e L e et ——t AL6 FLAGS FLAGS ARE USED TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCw AS —— 574 SEQ 0012 TSVOS DATA RELIABILITY 630 631 632 633 634 635 636 637 €38 639 640 641 642 643 644 645 646 “ - 6.0 649 650 651 652 653 654 655 656 657 658 659 66V 661 662 662 664 665 666 667 668 669 670 671 672 673 €74 675 676 677 678 679 680 681 682 683 684 685 68¢ MACRO M1113 14-JUN-84 18:32 SEG 001° LOOPING ON ERROR. ALL FLAGS ARE CLEARED AT STARTUP AND REMAIN CLEARED UNTIL EXPLICITLY SET USING THE FLAGS SWITCW. FLAGS ARE ALSO CLEARED AFTER A START COMMAND UNLESS SET USING TeE FLAG SWITCH. THE ZFLAGS COMMAND MAY ALSO BE USED TO CLEAR ALL FLAGS. WITH THE EXCEPTION OF THE START AND ZFLAGS COMMANDS, NO COMMANDS AFFECT THE STATE OF THE FLAGS; THEY REMAIN SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH, FLAG EFFECY HOE HALT ON ERROR - CONTROL IS RETURNED TO LOE LOOP ON ERROR RUNTIME SERVICES COMMAND TMMODE IERe INHMIBIT ALL ERROR REPORTS IBRe INHIBIT ALL ERROR REPORTS EXCEPT FIRST LEVEL (FIRST LEVEL CONTAINS ERROR TYPE, NUMBER, PC, TEST AND UNIT) INHIBIT EXTENDED ERROR REPORTS ( THOSE CALLED BY PRINTX MACRO'S) IXEe PRI PNT BOE DIRECT MESSAGES TO LINE PRINTER PRINT TEST NUMBER AS TEST EXECUTES “BELL" ON ERROR UAM ISR UNATTENDED MODE (NO MANUAL INTERVENTION) INHIBIT STATISTICAL REPORTS (DOES NOT APPLY TO DIAGNOSTICS WHICH DO NOT SUPPORT STATISTICAL REPORTING) IDR ADR INHIBIT PROGRAM DROPPING OF UNITS EXECUTE AUTODROP CODE LoT 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, AND TYPE A "BELL"” ON ERROR, YOU MAY USE INMIBIT ERROR REPORTS THE FOLLOWING STRING: /FLAGS:LOE: IER:BOE 2.1 HARDWARE PARAMETERS ON A “N" RESPONSE TO "CHANGE HW?"“, THE DIAG SHALL RUN ASSUMING ONE UNIT AT TSDB = 172520 WITH A VECTOR = 224 AND DRIVE=0. 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. TSDB ADDRESS (0) VECTOR (0) 224 172520 ? SELECT DRIVE 0-1 (0) ? ? o TSVOS DATA RELIABILITY MACRO M1113 14-JUN-84 18:32 87 THE SEQ 0014 VALIDITY OF THESE PARAMETERS CAN BE CHECKED BEFORE RUNNING THE TESTS 688 689 €90 BY SETTING THE FLAG "ADR” ON A STA, RES OR CON COMMAND. THE SO CALLED AUTO DROP CODE SMALL THEN BE EXECUTED AFTER THE INIT COOE AND BEFORE THE MARDMARE TESTS ARE RUN. THAT CODE FIRST TESTS THE ADRRESS €92 WITH THE FOLLOWING MESSAGE: 691 OF THE TSDB(S). 93 294 IF NO RESPONSE, IT DROPS THE UNIT(S) IMMEDIATELv BUS TRAP AT XXXXXX €95 ( XXXXXX = TSDB AD ) INTERFACE BAD OR NOT SET TO ABOVE ADORESS. 696 697 ON A RESPONSE FROM THE INTERFACE, THE UNITS THAT ARE NOT READY OR NOT 698 699 ON-LINE ARE DROPPED IMMEDIATELY. BE RUN ON RESPONDING UNITS. 701 DRIVE IS CHECKED. A MESSAGE SHALL BE PRINTED EVERY SO OF TEN TO WARN THE OPERATOR OF DRIVES BEING NOT READY OR OFF -LINE. THESE DRIVES SHALL BE DROPPED AFTER A REASONABLE AMOUNT OF TIME. 700 IF THE "ADR" FLAG IS NOT SET, THE READY AND OFF -LINE STATUS OF THE 702 703 04 : 706 o o 708 g 709 710 711 12 13 14 THE MARDWARE TESTS SHALL THEN SR el R e Tl 2.2 SOFTMARE PARAMETERS T i A A O 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. CLEAR COUNTERS (L) Y ? 7S RESET RANDOM VARIABLES (L) N ? n7 PRINT RECOVERABLE ERRORS 35_3 HALT AFTER EACH CMD (L) N ? 721 INHIBIT RECOVERY (L) N ? 723 BAD TAPE SPOT DETECTION (L) Y 725 DISABLE INTERRUPTS (L) N ? 727 INHIBIT RFC ERROR REPORTS (L) N ? 729 CHANGE CMD SEQUENCE (L) N ? 31 DEFAULT SWITCH SETTINGS (L) Y 733 135 100IPS (L) N ? WRITE BUFFERING (L) N ? 737 READ BUFFERING (L) N 740 ANSWERING NO TO THE DEFAULT SWITCH QUESTION WILL CAUSE THE 1 739 741 (L) N ? ? (SEE NOTE1:) ? ? 100 IPS QUESTION TO BE ASKED. 4 743 ANSWERING YES TO THE 100 IPS QUESTION WILL INWIBIT THE LAST TSVOS DATA RELIABILITY MACRO M111% 14-JUN-84 18:32 TWO QUESTIONS. Ta4 745 ANSWERING NO TO THE 746 747 748 100 IPS QUESTION WILL BUFFERING QUESTION TO BE ASKED. CAUSE THE WRITE ANSWERING YES TO THE WRITE BUFFERING QUESTION WILL 749 LAST QUESTION. 750 751 752 INMIBIT ANSWERING NO TO THE WRITE BUFFERING QUESTION WILL CAUSE READ BUFFERING QUESTION TO BE ASKED. 753 754 755 NOTEl: 756 757 758 759 760 761 762 763 764 765 766 767 768 @ OF OPERATIONS (D) PATTERN (D) 7 ? 1 ? @ OF OPERATIONS (D) 32000 ? PATTERN (D) 7 ? CMD/4 (D) 3 ? BRF COUNT (D) 2048 ? 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 ® OF OPERATIONS (D) 32000 PATTERN (D) 7 ? ? © OF OPERATIONS (D) 32000 PATTERN (D) 7 ? ? CPD/S (D) 2 ? BRF COUNT (D) 2048 ? CHD/6 (D) 13. ? BRF COUNT (D) 1 ? ® OF OPERATIONS (D) 1 PATTERN (D) 7 ? ? CMD/7 (D) 27. ? BRF COUNT (D) 2048 ? o OF OERAYIO‘S (D) 32000 ? PATTERN (D) 7 ? CMD/8 (D) 27. ? BRF COUNT (D) 2048 ? 787 788 789 790 791 792 793 794 795 796 @ OF OPERATIONS (D) 32000 ? PATTERN (D) 7 NOTE: THE (0,20,40,200) (OCTAL) (1-27)" (DECIMAL) (1-2¢) (DECIMAL) CMD/3 (D) 4 ? BRF COUNT (D) 2048 ? 770 THE THIS QUESTION SHOULD BE ANSWERED (N) UNLESS AN OPERATOR SELECTED SEQUENCE IS TO BE EXECUTED. IF THIS QUESTION WAS ANSWERED Y, THE FOLLOWING QUESTIONS MUST BE ANSWERED OR DEFAULTED WITH A <CR> ONLY: CHARACTERISTICS CODE (0) 40 ? cMD/2 (D) 13 ? BRE COUNT (D) 1 ? 769 ? (1-32x) (0-8) (DECIMAL) (DECIMAL) (0-8) (DECIMAL) (1-27) (1-2¢x) (1-32x) (1-27) (1-2¥) (1-32¢) (0-8) (1-27) (1-2¢) (1-32¢) (0-8) (1-27) (1-2¢) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (1-32«) (0-8) (DECIMAL) (DECIMAL) (1-32x) (0-8) (DECIMAL) (DECIMAL ) (1-27) (1-2¢) (1-27) (1-2¢) (1-32x) (0-8) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) THE PROGRAM AUTOMATICALLY INSERTS A MACYERISTIC CODE OF AS THE FIRST COMMAND IN THE SEQUENCE TABLE. 1IF A 40 DIFFERENT CHARACTERISTIC IS DESIRED, THE OPERATOR SHOULD ENTER THAT CHARACTERISTIC CODE. A TOTAL OF 7 COMMANDS MAY BE ENTERED IN ADDITION TO THE SET CHARACTERISTICS COMMAND. IF THE OPERATOR WISHES TO USE LESS THAN 7 COMMANDS, AN END COMMAND MUST BE ENTERED AND THEN A CONTROL Z (+Z) CAN BE ENTERED TO TERMINATE SOF TWARE DIALOGUE. 797 798 799 800 SEQ 0015 2.2.1 COMMAND LIST FOR USE IN SOF TWARE DIALOGUE. 14-JUN-84 18:32 DESCRIPTION 807 VRN 808 ORI 23 UVBWN- g 801 802 803 804 805 806 SEQ 0016 WRT WtV £33333%% MBR WTM WTR WRITE/VERIFY., IE. WRITE N RECORDS; READ REVERSE AND CHECK N RECORDS OF DATA; READ FORWARD AND CHECK N RECORDS. SPACE RECORDS FORWARD. SPACE RECORDS REVERSE. READ NEXT REVERSE, IE. READ NEXT FORWARD, IE. READ PREVIOUS FWD, IE. READ PREVIOUS REV, IE. WRITE RETRY. REWIND. MESSAGE BUFFER RELEASE. WRITE TAPE MARK, WRITE TAPE MARK RETRY, SPACE FWD, READ READ FWD, SPACE SPACE REV, READ READ REV, SPACE REV. REV. FWD. FWD. SPACE FILES FORWARD. SPACE FILES REVERSE. GET EXTENDED STATUS. 2 SFF SFR GES ERS DRIVE INITIATE. READ FORWARD. CLN SCH 26 OLY 40 = ENABLE ATTENTION INTERRUPTS. = ENABLE MESSAGE BUFFER RELEASE INTERRUPTS. TSV05/7S05 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 27 END END OF COMMAND SEQUENCE. JP 2.2.2 SET DEVICE CHARACTERISTIC. WHERE BRF=200, 40, 20, 0. 200 = ENABLE SKIP TAPE MARKS STOP (STOP AT LOGICAL EOT) gee MACRO M1113 THE @ OF OPERATIONS. DATA PATTERN LIST FOR USE IN SOF TWARE DIALOGUE. PATTERN ¢ ®BNOVNBUWN=O TSVOS DATA RELIABILITY DESCRIPTION. INCREMENTING PATTERN. O - 377, ALL "1“'S PATTERN, ALL "0"'S PATTERN, “1* 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 “O* BITS WITH ALTERNATE BYTES COMPLIMENTED. ALTERNATING BYTES OF 000 AND 377, RANDOM DATA PATTERN, NO PATTERN GENERATION. TSVOS DATA RELIABILITY 854 855 856 857 858 859 860 MACRO M1113 E2 14-JUN-84 18:32 2.3 SEQ 0017 EXAMPLES OF CHANGE MW (L) ? QUNITS (D) VECTOR (0) 224 ? SELECT DRIVE 0-1 (0) ? IN ADDITION, ON A START, RESTART OR CONTINUE THE SUPERVISOR REQUESTS CHANGES TO THE SOF TWARE OPERATING PARAMETERS, AS FOLLOWS: CHANGE SW (L) ? 2.3.1 BASIC FUNCTION AND DATA RELIABILITY WITH ALL ERROR REPORTING ENABLED A) 8) C) D) 900 901 902 903 904 905 906 907 908 909 9210 RECEIVE PROMPT (DR>) ENTER STA/TES:1-2<CR> ANSWER HARDWARE QUESTIONS. PROCEED WITH THE FOLLOWING DIALOGUE : CHANGE SW (L) ? Y<CR> CLEAR COUNTERS (L) N ? RESET RANDOM VARIABLES (L) N ? Y<CR> PRINT RECOVERABLE ERRORS (L) N ? HALT AFTER EACH CMD (L) N ? INHIBIT RECOVERY (L) N ? BAD TAPE SPOT DETECTION (L) Y ? DISABLE INTERRUPTS (L) N ? INHIBIT RFC ERROR REPORT (L) N ? CHANGE CMD SEQUENCE (L) N ? DEFAULT SWITCH SETTINGS (L) Y ? 891 892 893 894 895 896 897 898 899 7?2 TSDB ADDRESS (0) 172520 ? 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 SOF TWARE DIALOGUE 2.3.2 <CR> Y<CR> <CR> <CR> <CR> <CR> <CR> <CR> <CR> TO SET UP A SCOPE LOOP FOR A FAILURE IN BASIC FUNCTIONS. A) 8) C) 0) RECEIVE PROMPT (DR>) ENTER SYA/TES:l/FLA:LOE IER:ISR:IDU<CR> ANSWER HARDWARE QUESTIONS. PROCEED WITH THE FOLLOWING DIALOGUE: CHANGE SW (L) ? CLEAR COUNTERS (L) N ? RESET RANDOM VARIABLES (L) N ? N<CR> INHIBIT RECOVERY (L) N ? BAD TAPE SPOT DETECTION (L) Y ? DISABLE INTERRUPTS (L) N ? N<CR> N<CR> N<CR> PRINT RECOVERABLE ERRORS (L) N ? HALT AFTER EACH CMD (L) N ? Y<CR> Y<CR> N<CR> N<CR> TSVOS DATA RELIABILITY MACRO M1113 14-JUN-84 18:32 SEQ 0018 INHIBIT RFC ERROR REPORT (L) N ? 911 912 913 914 915 916 CHANGE CMD SEQUENCE (L) N ? DEFAULT SWITCH SETTINGS (L) Y ? 2.3.3 917 8) C) D) <CR> RECEIVE PROMPT (DR>) ENTER STA/TES:5/FLA:IER:ISR:IDU/EOP:1000<CR> ANSWER HARDWARE QUESTIONS. PROCEED WITH THE FOLLOWING DIALOGUE : CHANGE SW (L) ? CLEAR COUNTERS (L) N ? RESET RANDOM VARIABLES (L) N ? 923 924 925 Y<CR> Y<CR»> N<CR> N<CR> N<CR> PRINT RECOVERABLE ERRORS (L) N ? HALT AFTER EACH CMD (L) N ? 926 927 928 929 930 931 932 933 934 935 936 937 938 950 951 952 953 954 955 956 957 958 959 960 %1 962 963 964 965 966 967 N<CR> TO SET UP A SCOPE LOOP FOR A FAILURE IN DATA RELIABILITY A) 918 919 920 921 922 939 940 941 942 943 944 945 946 947 948 949 Y<CR> INHIBIT RECOVERY (L) N ? BAD TAPE SPOT DETECTION (L) Y ? DISABLE INTERRUPTS (L) N ? INHIBIT RFC ERROR REPORT (L) N ? CHANGE CMD SEQUENCE (L) N ? CHARACTERISTICS CODE (0) 40 ? CMD/2 (D) 5 ? BRF COUNT (D) 2048 ? N<CR> N<CR> Y<CR> Y<CR> Y<CR> 40<CR> 13<CR> 1<CR> 1<CR> 1<CR> @ OF OPERATIONS (D) 10 ? PATTERN (D) 7 ? CMD/3 (D) S ? BRF (D) 2048 ? @ OF OPERATIONS (D) 10 ? PATTERN (D) 7 ? CMD/4 (D) 5 ? BRF (D) 2048 ? 4<CR> 1000<CR> 10000<CR> 1<CR> 27<CR> <tZ> (REWIND) (WRITE) (END) 2.4 EXECUTION TIMES PDP11/23 MOS MEMORY LA36 TSV05/7S05 2.4.2 TEST EXECUTION TIMES (2400 FT. TAPE) TEST 1 TEST 2 TEST 3 TEST 4 TEST S NOTE: BASIC FUNCTIONS - 30 SECONDS PER PASS. DATA RELIABILITY - 45 MINUTES PER PASS. WRITE COMPATABILITY - 20 MINUTES PER PASS. READ COMPATABILITY 20 MINUTES PER PASS. RANDOM/OPERATOR SELECTED SEQUENCE -20 MINUTES PER PASS. ALL EXECUTION TIMES ARE SHOWN FOR ONE DRIVE OPERATION. TSVOS DATA RELIABILITY MACRO M1113 14-JUN-84 18:32 968 969 B0 971 R e s 972 Q973 O 975 976 977 978 e e T S O e SEQ 0019 3.0 ERROR INFORMATION i e e i ceeemeen 3.1 ERROR REPORTING T T i e e o i e e ALL ERROR REPORTS EXCEPT FOR ERRORS @1 AND #17 INCLUDE A DUMP OF THE FOLLOWING INFORMATION: 979 ERROR @, TEST @, SUBTEST @, PROGRAM COUNTER, UNIT o, 38‘!; (SEE 2.3.14.1 FOR LIST OF COMMANDS). 980 981 982 ?.952 987 988 989 990 991 992 993 994 995 996 gg; 999 %% 1 COMMAND, PREVIOUS COMMAND, PASS COUNT, o OF RECORDS FROM BOT, RECORD READ COUNT, THE COMMAND PACKET, TSSR, TCC, TSBA, RFC, AND THE EXTENDED STATUS REGISTERS STANDARD ERROR REPORT FORMAT: CVTSE SFT ERR XXXXX TST XXX (ASCII ERROR MESSAGE) XXX CMD FAILED - UNIT X PREVIOUS CMD WAS XXX CMDPKT TSBA XUAAAX XXXXXX XXAXXXX AXXXXXX AAAAXX WUAXRX AAXXXX XSTO XST1 RFC SUB XXX PASS: XXXXX RECORD: XXXXX ¢ RECORD READ: XXXXX XUAXXX XXAXXXX TSSR TCC XST2 XSr3 XST4 XUAAAX PC: XXXXXX HAAAXX X XUXXXX ¢ CAUTION = 1002 1003 1004 1005 1006 1007 1008 1009 1010 INTERPRET THAT “RECORD READ” COUNT WITH CAUTION. IF VERY DIFFERENT FROM RECORD COUNT TRACKED BY THE DIAGNOSTIC, TAPE POSITION IS NOT NECESSARELY LOST. ERRORS IN READING THAT RECORD MIGHT HAVE CAUSED RECORD COUNT TO BE ERRONEOUSLY 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 WHICM UNIT THE DIAGNOSTIC WAS HALTED 1012 IT IS SUGGESTED THAT A “PRINT” BE REQUESTED WHEN HALTING DIAG 1011 igfi igig 1017 1018 1019 1020 1021 1022 1023 1024 BEFORE RESTARTING OR CONTINUING. 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 - UNIT 2 PASS: 2 RECORD: 254 PREVIOUS CMD WAS WRT CMDPKT TSBA RFC TSSR TCC 100005 002324 0C0000 100210 4 051766 000000 TSVOS DATA RELIABILITY MACRO M1113 He 14-JUN-84 18:32 000371 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 XSTO 000350 ERROR @1 SEQ 0020 XST1 000002 XST2 100004 XST3 000000 XST4 040055 - COMMAND PACKET ADDRESS NOT ON A MODULO 4 BOUNDRY: IF THIS ERROR IS REPORTED, THE PROGRAM DID NOT LOAD PROPERLY. EHIS é? ?TSYSTEH FATAL ERROR AND THE PROGRAM MUST BE RELOADED TO ERROR €2 - TSOS NOT READY: 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 %Ig‘V%gEUgélfiL BE DROPPED FROM THE TEST SEQUENCE UNLESS THE IDU ERROR €3 - NO RESPONSE ERROR: 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 UNLESS THE IDU OPTION IS USED. 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 THE TEST CYCLE UNLESS THE IDU OPTION IS USED. SPECIAL CONDITION ERRORS: IF, DURING EXECUTION, AN INCIDENT OCCURS FORCING THE TSSR SPECIAL CONDITION BIT TO SET, THE PROGRAM WILL SELECT ONE OF goggnon HANDLING ROUTINES, DEPENDING ON THE TERMINATION CLASS THE TERMINATION CLASS CODES IN THE WHEN SPECIAL CONDITION IS SET: TSSR ARE PROCESSED AS FOLLOWS 35.1.5.1 ERROR @5 - TERMINATION CLASS CODE O, UNDEFINED SPECIAL CONDITION THE ERROR IS REPORTED, A HARD ERROR IS LOGGED AND THE PROGRAM PROCEEDS NORMALLY. 3.1.5.2 ERROR 06 - TERMINATION CLASS CODE 1, THIS TCC INDICATES THAT ATTENTION CONDITION THE DRIVE HAS UNDERGONE A STATUS CHANGE — TSVOS DATA RELIABILITY 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 MACRO M1113 14-JUN-84 18:32 SEQ 0021 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 IDU 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 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, A HARD ERROR IS LOGGED. THE ERROR IS REPORTED AND THE PROGRAM PROCEEDS NORMALLY. 3.1.5.4 ERROR €8 - TERMINATION CLASS CODE 3, FUNCTION REJECT THE SPECIFIED FUNCTION WAS NOT INITIATED. BITS OF INTEREST ARE RMR, OFL, VCK, BOT, ILC, WLE, ILA, AND NBA. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 31.5.5 ERROR @9 - TERMINATION CLASS CODE 4, RECOVERABLE ERROR 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 IS REACHED BEFORE THE ERROR IS RECOVERED, RETRY LIMIT EXCEEDED IS REPORTED AS DESCRIBED IN ERROR €14 BELOW. 3.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 BELOW. 5.1.5.7 ERROR €11 - 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. IF DENSITY CHECK IS SET THIS DIAGNOSTIC WILL REWIND AND RETRY THE COMMAND, OTHERWISE THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 3.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. MACRO Mill3 TSVOS DATA RELIABILITY 3.1.6 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 Je SEQ 0022 ERROR #13 - RFC NON-ZERO ERROR: IF, AFTER EXECUTION, THE RESIDUAL FRAME COUNT IS NON-ZERO, THE ERROR IS REPORTED AND A HARD ERROR IS LOGGED. THE PROGRAM THEN ;gog§$¥3N=ERHALLY. THE REPORTING AND LOGGING OF THESE ERRORS 5.1.7 ERROR #14 - RETRY LIMIT EXCEEDED: ON A WRITE COMMAND THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. ON A READ COMMAND THIS ERROR IS LOGGED AS A HARD ERROR AND THE PROGRAM PROCEEDS NORMALLY. 3.1.8 ERROR @15 - TOO MANY INTERRUPTS: IF MORE THAN ONE INTERRUPT OCCURS PER COMMAND, THIS ERROR IS REPORTED. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 3.1.9 1164 ERROR 216 - CAPSTAN RUNAWAY: CAPSTAN DID NOT STOP WITHIN ACCEPTABLE WINDOW AFTER LAST COMMAND. THE PROGRAM WILL ISSUE A GET STATUS COMMAND BEFORE REPORTING 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 14-JUN-84 18:32 THE ERROR SO THAT THE DEAD TRACK FIELD IN EXTENDED STATUS REGISTER 2 WILL CONTAIN THE TACH COUNT WHEN THE TAPE STOPPED. THIS IS R FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. 3.1.10 ERROR #17 - DATA COMPARE ERROR: IF A DATA VALIDATION ERROR OCCURS DURING A WRITE/VERIFY COMMAND, THE PROGRAM PRINTS WHAT THE DATA SHOULD HAVE BEEN AND WHAT THE DATA WAS, AND PRINTS THE BYTE AND RECORD NUMBER THE ERROR OCCURRED ON. ONLY THE FIRST 10 BYTES IN ERROR PER RECORD ARE PRINTED. THE TOTAL @ OF BYTES IN ERROR PER RECORD IS ALSO PRINTED. HARD ERROR IS LOGGED AND THE PROGRAM PROCEEDS NORMALLY. 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 S RECORD :XXXXX PASS:XXXXX UNIT X XXX, XXX, XXX BYTES WRITTEN XXX, BYTES READ REV XXX, XXX, XXX, XXX XXX, XXX, XXX BYTES READ FWD XXX, MACRO M1113 14-JUN-84 18:32 1196 1197 1198 RECOVERABLE ERRORS UNRECOVERABLE ERRORS 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 SEQ 0023 SPEC COND XXXXX HARD WRT XXXXX XXXXX FATAL XXXXX - 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 XXXXX COMPARE XXXXX 5.1 BASIC FUNCTIONS. EXECUTES AND VERIFIES CORRECT COMPLETION OF ALL TSOS FUNCTIONS. SUBTEST 1 SET CHAR, DRIVE INIT, GET STATUS. SET CHARACTERISTIC 200. DRIVE INITIATE. SET CHARACTERISTIC 20. GET STATUS SET CHARACTERISTIC 40. PRINT TSOS MICROCODE LEVEL (PASS 1 ONLY) SUBTEST 2 + REWIND + REWIND AT BOT. SUBTEST 3 WRITE/VERIFY, * WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY SUBTEST 4 WRITE TAPE MARK, ERASE. WRITE TAPE MARK. WRITE 10 RECORDS I L * * 1240 1241 1242 XXXXX - 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 RDF XXXXX 5.0 TEST SUMMARIES 1224 1225 1226 1227 ROR XXXXX E = 8 TSVOS DATA RELIABILITY <2 PATTERN PATTERN PATTERN PATTERN PATTERN WRITE/VERIFY PATTERN WRITE/VERIFY PATTERN 1. 2. 3. 4. S. 6. 0. ERASE 10 TIMES WRITE TAPE MARK. WRITE TAPE MARK RETRY. SUBTEST S SPACE FILES. + SPACE 2 + SPACE 2 + SPACE 2 + SPACE 2 SUBTEST 6 SPACE RECORDS. B REWIND. + SPACE 7 RECORDS FORWARD. + SPACE 7 RECORDS REVERSE. + SPACE 7 RECORDS FORWARD. FILES FILES FILES FILES REVERSE. FORWARD. REVERSE. FORWARD. TSVOS DATA RELIABILITY 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 MACRO M1113 14-JUN-8B4 18:32 SEQ 0024 . SUBTEST 7 SPACE 7 RECORDS REVERSE. WRITE RETRY, * k2 o REWIND. WRITE DATA, WRITE RETRY, SUBTEST 8 READ REV RETRY. READ REVERSE. READ NEXT REVERSE. READ NEXT FORWARD. SUBTEST 9 READ FWD RETRY, READ FORWARD. READ PREVIOUS FORWARD. * READ PREVIOUS REVERSE. 1270 SUBTEST 10 1273 1274 CLEAN. CLEAN. REWIND. SUBTEST 11 - WRITE/VERIFY SWAPPED DATA BYTES. WRITE/VERIFY EVEN LENGTH (RECORD 1). WRITE/VERIFY ODD LENGTH (RECORD 2). SET DATA BYTE SWAP. WRITE/VERIFY EVEN LENGTH (RECORD 3). WRITE/VERIFY ODD LENGTH (RECORD 4). CLEAR DATA BYTE SWAP. SUBTEST 12 - READ SWAPPED READ REV READ REV SE7 DATA READ REV 1287 1288 1289 1290 1291 1292 L I 1278 1279 1280 1281 1282 1283 1284 1285 1286 B 1275 1276 1277 B 1271 1272 I 1267 1268 1269 e 1266 LR I 1264 1265 DATA BYTES. RECORD 4. RECORD 3. BYTE SWAP, RECORD 2. RFEAD REV RECORD READ FWD RECORD READ FWD RECORD CLEAR DATA BYTE READ FWD RECORD READ FWD RECORD 1. 1. 2. SWAP, 3. 4. TSVOS DATA RELIABILITY MACRO TM1118 14-JUN-84 18:%2 5.2 TEST 2 SEQ 0025 DATA RELIABILITY, 1. THE TAPE IS INITIATED WITH THE FOLLOWING COMMANDS: SET CHARACTERISTIC 40 REWIND WRITE 64 RECORDS OF RANDOM LENGTH AND DATA 2. 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. 5. AT THE END OF EACH PASS, A REWIND COMMAND IS ISSUED AND A PERFORMANCE REPORT IS PRINTED. NOTE : 5.3 TEST 3§ - IF A RESTART COMMAND IS USED TO INITIATE TEST 1, THE INITIAL REWIND COMMAND IS NOT ISSUED. WRITE COMPATABILITY/MRITE UTILITY, REWINDS AND WRITES RECORDS OF RANDOM LENGTHS AND RANDOM DATA FROM BOT TO EOT. 5.4 TEST & - READ COMPATABILITY/READ UTILITY, REWINDS AND READS ENTIRE TAPE, FORMARD AND REVERSE. 5.5 TEST S - RANDOM/OPERATOR SELECTED COMMAND SEQUENCE. A DEFMAT SEQUENCE OF REWIND/WRITE/READ REV/READ FuWD/REWIND OF ENTIRE TAPE IS EXECUTED WITH RANDOM PATTERN AND RECORD LENGTH OF 2048 BYTES. OPERATOR CAN ENTER SEQUENCE OF COMMANDS P TO SEVEN IF THEY DON' T WANT DEFALT SEQUENCE. 5.0 DEVICE INFORMATION TABLES THE TSOS TAPE SUBSYSTEM CONSISTS OF A TSVOS Q-BUS CONTROLLER COMMECTED TO A TSOS DRIVE. FROM A S0F TWARE VIEWPOINT THIS CONIGURATION IS UNIQUE (FOR A Q-BUS DEVICE) IN A NMUFBER OF WAYS: A, OMLY ONE REGISTER MAY BE WRITTEN - TSDB (TAPE SYSTEM DATA BWFFER), 8. TWO REGISTERS MAY BE READ - TSSR AND TSBA (TAPE SYSTEM STATUS REGISTER AND TAPE SYSTEM BUS ADDRESS REGISTER), C. COPTMANDS ARE NOT MRITTEN TO THE DRIVE: RATHER, COMMWAND POINTERS ARE WMRITTEN WMICH POINT TO COMMAND PACKETS SOMEWER IN E CPU MEMORY. THE COMWAND POINTER IS USED BY THE TSOS SUBSYSTEM TO FETOM THE WORD(S) WITHMIN THE COMMAND PACKET . THE WORDS WITHIN THE COMMAND PACKET ARE: TSVOS DATA RELIABILITTMY MTMACRO TMI11f 1882 1852 1352 1354 135% 1356 1357 1358 259 LW 1361 1362 1363 l!,zis 1 1306 137 1368 1369 1%70 lgg 1 1373 1374 1375 g;g 1378 1379 g:(l) 1382 SEQ 002¢ 14-0UN-84 15: %2 1. 2. 3. 4. COTMWAND WORD LOW ORDER BUFFER ADDRESS TMIGH ORDER SUFFER ADDRESS BYTE COunT D. TME TSSR CONTAINS ALL TME INFORMATION WMICH WILL BE NECESSARY TO DETERMINE WETHER: 1. TTMME DRIVE IS READY TO ACCEPT ANOTHER COMAND., 2. TME PREVIOUS COMWAND WAS EXECUTED WITHOUT ERROR. IF EITER OF TME ABOVE COMDITIONS IS UNTRUE AT “J0B DONEOR “COMWAND INITIATION" TIME.IT MAY BE NECESSARY TO GET TME EXTENDED STATUS REGISTERS TO DETERMINE WMAT ACTION IS TO BE TAKEN AND/OR LOG THE ERROR INFORMATION. E. EXTENDED STATUS REGISTERS ARE NOT READ DIRECTLY FROM DRIVE REGISTERS; RATHER, A “GET STATUS" COMAND IS ISSUED WMICH WILL CAUSE THE TSOS TO TRANSFER EXTENDED STATUS INFORMATION TO THME MEMORY AREA POINTED TO BY TeE BUFFER ADDRESS OF THE “GET STATUS" COMMAND. THERE ARE FIVE EXTENDED STATUS REGISTERS. SEE .3. F. THE TSDB MUST BE WRITTEN WITHM A DATO INSTRUCTION TO PROPERLY WRITE THE COMMAND POINTER. A DATOB WILL CAUSE A MAINTENANCE FUNCTION. A DATO TO THE TSSR WILL CAUSE ~BSYSTEM INIT. G. COMMAND PACKETS MUST RESIDE ON DIVINE BY FOUR MEMORY BOUNDARIES (AS OPPOSED TO DIVIDE BY 2 OR WORD BOUNDARIES) . TSVOS DATA RELIABILITY 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 MACRO M1113 B3 14-JUN-84 18:32 6.2 TSV0S5/ 1505 INT, VECTOR UNIBUS ADDRESS REGISTER ...... FIRST 224 772520 772522 - TSBA/TSDB TSSR TSVOS DATA RELIABILITY MACRO MI113 1396 6.3 B9OF Ll 1398 1399 1400 SO 1402 14-JUN-84 & T T TR SEQ 0028 BIT DEFINITIONS FOR TSVO5/7TS05 REGISTERS L seeemssssssensasessssarsnsdsan nans shms $.3.1 IR 18:32 TSV05/7S05 REGISTER SUMMARY o s e Bt S S 13 12 it I S 1403 S 1‘0‘ LII R 'AlS‘ 'AM'AIS'Al?‘ 1405 1406 (R70) TSBA ! 1‘07 1408 1409 1410 14 R 11 10 L N I Mll'llO'M! I 'PIC'PIS'PIZ' H LR R R R R 08 R I T I 06 05 I L !AOO'M7'AO6' ! e I e N I 1414 1415 BT (W/0)TSDBX ¢ 1416 1417 1 ¢ R R R Geces Secctecatuced $eccd 1419 1420 1TMK! XST0 ! ! 1422 1423 ILT! 1 O!COR! s AR B 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 {:;2 R ® Secatasatocas Gecctbenabenn R 'RLS'LET'RLL! e ? $cccd Geccdeccldrncld L R L I et Senel !ILE"CF'ILC' 3 H : : $occlrccloncd O ! 1 OO0 e TR S S 00 'AOZ"OI'AOO' H $ Pecscfocanb-nsa I R R S e Tl . -rcx-rcovvcz- -rcvrco- ' ' RN ' Prccfecaprcctl Socchoca ®e=b (TSDBX EXISTS ONLY WHEN ENABLED BY THE EXTENDED Socos L ! 01 e FEATURES SWITCH ON THE M7196) R I T S !Iuwm-o&! " H ! g Pecafecaleonctd 'IE !VCK!PED! ! ! H S e 'lK'BOY'EOT' | 4 4 Srccfoccbacncd foccpaccbanst O! RBPIOIO! 1OLOO! O IUNC!O:! R A AR TR LR N ) Y T 0---0---0---0 R R L LT E I T T . 1OPM! IRCE! O ! O ! ! O IMCF! O ¢ 1 O IRL7IRL6! !RLS!RLAIRLS! fRL2IRL1IRLO! xsrzss!zsssese"--~:s'z-. LI H e el Ll I R T S MICRO DIAGNOSTIC ERROR CODE XST3 ¢ $eccd Prrclocalenctd 'HSP! !'RCE! O ! O $eecd Sevofeccbocnd XST74 ! LI H H S feccfrenlrcctd 0O 0 O Socaloccloncd Y S I S ! 0 '0PI! : S $ Srccbeccbonal 0! S Secafanchuncl YO Geccd 'REV'VRF'DCK' 2 ! H foccfocchans # Seccbanctba==b 3 ' 0! 0 !RIB! H WITE RETRY COUNT Secoboncfocel H | Geccbemcbon=t ! Seocmbomabon=b TERMINATION CLASS CODES (TSSR TCO-TC2): 1437 0O = 1439 2 = 1438 I 101D O wznvzo'vxo! -Pw ¢ 8 1 1% ' 1418 1421 T N 'POS'POQ'POS' '902'917'916' ! !. $ s g I 1SC ! 10 'sce'm- mxmvanmn- -Awssa-oru (RAO) TSSR & 88 & &+ 18 & 1 14 YI 02 R Gecchecaferacd 1411 1412 1‘13 03 S !POG'PO'I'POG' ! ! ! ! I L 04 I 'AOSMOQ!ROS' H I L '911'910'909! H H ! T 07 L H R !PIS' ! 09 N ! LRI (W/0) TSDB . 1 = 1440 144]1 1442 1443 3 4 = = S {44“2 7 = = 1444 6 {::g FATAL = NORMAL TERMINATION ATTENTION CONDITION TAPE STATUS ALERT FUNCTION REJECT RECOVERABLE ERROR - TAPE POSITION = ONE RECORD DOMN TAPE FROM START OF FUNCTION RECOVERABLE ERROR - TAPE NOT MOVED UNRECOVERABLE ERROR - TAPE POSITION LOST FATAL CONTROLLER ERROR CLASS CODES (TSSR FCO-FCl): 1449 0 = MICRO DIAGNOSTIC FAILURE. SEE ERROR CODE BYTE (XST3) FOR FAILED FUNCTION. 1451 1452 2 = NOT USED 3 = RESERVED FOR FUTURE USE ALMWAYS READ AS A O 1450 1 = RESERVED TSVOS DATA RELIABILITY 1454 1455 1456 1457 MACRO M1113 14-JUN-84 6.3.2 D3 18:32 SEQ 0029 TSVOS STATUS REGISTER (TSSR) 1458 1459 1460 Q-BUS ADDRESS + 2 - READ ONLY 1461 1462 15 1464 'sc 31 """"" 0 'SCE'M' 'NXH"GA'AI?' 'A16'SSR'G'L' 'FCI‘FCO'TC2' ‘TCIWCO' 0 ' 1463 1866 1473 13 12 11 10 09 080706 Pronfoecodrond) 1465 1467 1468 1469 1470 1471 1872 14 . ' : $ecct boccbeccpann . o o . ..--.---.---. . NAME TCC DEFINITION 15 SC S SPECIAL CONDITION. 1474 1475 1476 1477 1478 1479 1480 1481 LAST COMMAND WHEN DOID SET, NOT 02 PocscnfoecncPocad 0 PeccfecchPeceld BIT THE 050403 Poecadoccdecald ' Peccfoecnalanch INDICATES COMPLETE 0100 PoacPocaoescs ' THAT WITHOUT INCIDENT. SPECIFICALLY, EITHER AN TSROR WAS DETECTED OR AN EXCEPTION CONDITION CCURRED. EXCEPTION CONDITIONS CAN BE TAPE MARKS ON READ COMMANDS, REVERSE MOTION AND AT BOT, EOT WHILE WRITING, ETC. MAY ALSO BE SET BY BITS CONTAINED IN THE TSSR REGISTER: AND NXM. THE ERROR SCE, THE TERMINATION CLASS BITS ARE SGETHM OTHER THAN O (UNLESS RMR IS THE ONLY ERROR - SEE RMR). . ;e 13 SCE FCo RESERVED (ALWAYS A 0) SANITY CHECK 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. 12 RMR S REGISTER MODIFICATION REFUSED. SET BY THE TSVOS WHEN A COMMAND POINTER IS LOADED INTO TSDB AND SUB-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 SYSTEM WITH NO BUGS, THIS BIT MAY COME UP ON AN ATTENTION MESSAGE. IF ATTNS ARE NOT ENABLED, THIS BIT COMING UP IS AN INDICATION gwilflifl A FATAL CONTROLLER ERROR OR A SOF TWARE 11 NXM 4/5 NON-EXISTENT MEMORY. 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, FETCHING OR STORING DATA, OR STORING THE MESSAGE PACKET. 10 NBA S ' Poccboacabas=s NEED BUFFER ADDRESS. WHEN SET, INDICATES THAT THE TSOS NEEDS A MESSAGE BUFFER ADDRESS. THIS BIT IS CLEARED DURING THE SET CHARACTERISTICS TSVOS DATA RELIABILITY 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 MACRO M1113 E3 14-JUN-84 18:32 SEQ 0030 COMMAND (IF A GOOD ADDRESS WAS GIVEN), 09 A7 S BUS ADDRESS BIT 17, A17 AND A16 (BIT 08) TRACK THE VALUES OF BITS 17 AND 16 OF THE TSBA REGISTER. LOACED FROM TSDB BITS 01-00 WHEN TSDB IS WRITTEN. 08 Al6 S BUS ADDRESS BIT 16. 07 SSR S SUB-SYSTEM READY. 06 OFL 05 FC1 1521 1522 1523 5S,1,3 7 SEE Al17 (BIT 09). WHEN SET, INDICATES THAT THE TSVO5/TS05 SUBSYSTEM IS NOT BUSY AND IS READY TO ACCEPT A NEW COMMAND POINTER. OFF-LINE. WHEN SET, INDICATES THAT THE TSO0S IS OFF-LINE AND UNAVAILABLE FOR ANY TAPE MOTION COMMANDS. THIS BIT CAN CAUSE A TERMINATION CLASS 1 (ON ATTN INTERRUPT) OR 3 (RESWLTS IN NEF). FATAL TERMINATION CLASS 01. FC1 AND FCO (BIT 04) ARE USED TO INDICATE THE TYPE OF FATAL ERROR WHICH HAS OCCURRED ON THE T7S0S. THESE BITS ARE VALID ONLY WHEN SC IS SET AND THE TERMINATION CLASS CODE BITS ARE ALL SET (111). 04 FCO 7 FATAL TERMINATION CLASS 00. 03 TC2 S TERMINATION CLASS BIT 02. THIS BIT, ALONG WITH THE TC1 AND TCO BITS, ACT AS AN OFFSET VALUE H'E'iVER AN ERROR OR EXCEPTION CONDITION OCCURS ON COMMAND. THE EIGHT POSSIBLE CLASS OF ERRORS OR EXCEPTIONS. THE CONDITIONS VN.lES OF THIS EACH FIELD OF SEE FC1 (BIT 05). REPRESENT A PARTICULAR IN EACH CLASS HAVE SIMILAR SIGNIFICANCE AND, AS APPLICABLE, RECOVERY 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 01 TCO 00 - S . TERMINATION CLASS BIT 01. SEE TC2 (BIT 03). TERMINATION CLASS BIT 00. SEE TC2 (BIT 03). NOT USED. Q-BUS ADDRESS + 2 - WRI TE ONLY SUBSYSTEM INITIALIZE (ALWAYS A 0) MACRO M1113 14-JUN-84 18:32 1562 1563 B 1565 1566 1567 R e T WN BB TSVOS DATA RELIABILITY = SEQ 0031 6.3.2.1 TSVOS EXTENDED DATA BUFFER REGISTER (TSDBX) oh? o Rt o 1568 1569 lgz’g 1 sN O 3 i . Poccfocchocs Sy 7 1 TSDBX ! ' 10101 0} 3 H H 'P21'PZO'P19' ! 'Pla! H ! #-ccfecctoccb BIT NAME TCC 1575 i3 BT - e 1576 0 PocsbrenPronld 15;3 1574 TN $ocsh et 1572 T wsed . Bes] L[ bocaboccbonct 5. (TSDBX EXISTS ONLY WHEN ENABLED BY THE EXTENDED $o-=p FEATURES SWITCH ON THE M7196) DEFINITION eSssEesess B0O0OT COMMAND BIT. WHEN WRITTEN TO A 1,.WITH SSR=1, CAUSES THE TAPE TO BE REWOUND TO BOT, 1577 1578 THE FIRST TAPE RECORD TO BE SKIPPED, AND THE SECOND RECORD TO BE LOADED INTO CPU MEMORY SPACE ig;g STARTING AT LOCATION O. ig:é 14-12 RESERVED (ALWAYS A 0) 1583 11-08 P<21:18> COMMAND POINTER BITS 21-18. WHEN THE TSDBX IS WRITTEN 1584 AND SSR=1, THE DATA IS LOADED INTO BITS 21-18 OF {% THE INTERNAL TSBA REGISTER. 1587 1588 1589 1590 iggé 07-00 6.3.3 EXTENDED STATUS REGISTER O (XSTATO) 1593 1594 1595 RESERVED (ALWAYS A 0) 1596 igg; $ececd $ecctocctencd faccpon= 0cccd :T"(!'RLS'LET'RLL' '&E'EF'ILC' Geccdiccpeccd 'ILA'MT'M' 03 02 1599 Pl BB ahn el S 1600 1601 15 1‘ 13 12 Gl 11 10 09 SRRt EEE 08 07 06 OS 0‘ 1602 1603 BIT “me NAME eeee TCC eee DEFINITION eessscese= 1605 1606 1607 15 TTMMK S,.2 TAPE MARK DETECTED. SET WHENEVER A TAPE MARK WAS DETECTED DURING A READ, SPACE, OR SKIP COMMAND AND AS A RESULT OF THE WRITE TAPE MARK 1610 1611 1612 1613 1614 14 1604 {% 1615 1616 1617 1618 OR WITE TAPE MARK RETRY COMMANDS. 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 01 Oo Socsfeccbocecld foccfeccdena 'IE 'VCK'pED' 'H.K'BOY'EOT' WAS TERMINATED 8Y ENCOUNTERING BOT OR A DOUBLE TAPE MARK (IF THAT OPERATIONAL MODE IS ENABLED, SEE LET) PRIOR TO EXHAUSTING THE POSITION COUNTER. Sea TSVOS DATA RELIABILITY 1619 1620 1621 1622 MACRO M1113 G3 14-JUN-84 18:32 SEQ 0032 13 LET 12 RLL 11 WLE LOGICAL END OF TAPE., 1623 1624 1625 1626 1627 1628 1629 1630 1651 1622 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 SET ONLY ON THE SKIP TAPE MARKS COMMAND WHEN EITHER TWO CONTIGUOUS TAPE MARKS ARE DETECTED OR WHEN MOVING OFF OF BOT AND THE FIRST RECORD ENCOUNTERED IS A TAPE MARK., THE SETTING OF THIS BIT WILL NOT OCCUR UNLESS THIS MODE OF TERMINATION IS ENABLED THROUGH USE OF THE SET CHARACTERISTICS COMMAND. RECORD LENGTH LONG. WHEN SET, THIS BIT INDICATES THAT THE RECORD READ WAS LONGER THAN THE BYTE COUNT SPECIFIED. 3.6 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 NE~ NON-EXECUTABLE FUNCTION. WHEN SET, INDICATES THAT THE COMMAND COULD NOT BE EXECUTED DUE TO ONE OF THE FOLLOWING CONDITIONS: - THE COMMAND SPECIFIED DIRECTION BUT THE POSITIONED AT BOT. TAPE REVERSE WAS TAPE ALREADY THE ISSUING OF ANY MOTION COMMAND EXCEPT TSVOS DATA RELIABILITY H3 MACRO M1113 14-JUN-84 18:32 SEQ 0033 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 - - 09 ILC WHEN THE VOLUME CHECK BIT IS SET. ANY COMMAND, EXCEPT GET STATUS OR ILLEGAL COMMAND. AND DRIVE INITIALIZE, WHEN THE TSOS IS OFF -LINE. ANY WRITE COMMAND WHEN THE TAPE DOES NOT CONTAIN A WRITE ENABLE RING (WRITE LOCK STATUS - WLS). EITHER SET WHEN A COMMAND IS ITS COMMAND MODE FIELD CONTAINS SUPPORTED BY THE TSOS. ISSUED FIELD OR ITS COMMAND CODES WHICH ARE NOT 08 ILA ILLEGAL ADDRESS. (MORE THAN 18 BITS OR 00D WHEN AN EVEN ADDRESS IS REQUIRED.) 07 MOT TAFE IS MOVING. ON LINE. WHEN SET, INDICATES THAT THE TSO5 ON-LINE AND OPERABLE. 05 03 IE INTERRUPT ENABLE. ENTEWT BIT o ON OF THE THE LAST VOLUME CHECK. WHEN SET, INDICATES THAT THE DRIVE HAS BEEN EITHER POWERED DOWN 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. PED PHASE ENCODED DRIVE. ALWAYS SET, INDICATES THAT THE TSO5 IS CAPABLE OF READING AND WRITING ONLY WLK S.3 BPI PHASE WRITE LOCKED. MOUNTED REEL ENCODED WHEN OF SET, TAPE DATA. INDICATES DOES WRITE-ENABLE RING INSTALLED. THEREFORE, WRITE PROTECTED. 01 STATE SUPPLIED VCK 1600 02 REFLECTS THE ENABLE IS NOT THE THAT THE TAPE IS, HAVE A 80T S.3 BEGINNING OF TAPE. EOT S.2 END OF TAPE. THIS BIT IS SET WHENEVER THE TAPE IS POSITIONEDO AT OR BEYOND THE END OF TAPE REFLECTIVE STRIP. WHEN SET, INDICATES THAT THE TAPE IS POSITIONED AT THE LOAD POINT AS ?E”'?TED BY THE @HOT REFLECTIVE STRIP ON THE TSVOS DATA RELIABILITY MACRO M1113 13 14-JUN-84 18:32 SEQ 0034 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 - 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 6.3.4 EXTENDED STATUS REGISTER 1 (XSTAT1) 15 14 $eccld Prccloccbon-b frccpeccpennd foccpuccahecnd 'OLT! ' O'COR! O ! ' O 'O 'O ! RBPIO!'O!'!*O'' DO : ! eI ! 13 12 H D H e 11 g T S 3 S 10 H e 09 08 ! ! S S ! 07 ! R 06 H e 05 |I R S 04 03 bocchacnpanns | S Yy S SRy BIT NAME TCC 1S OLT 4 14 - - NOT USED. (ALWAYS A 0) 13 COR S CORRECTABLE DATA. CORRECTABLE DATA ERROR HAS BEEN ENCOUNTERED. 12-09 08 SR ! 0 !'UNC! O ; . [ DEFINITION DATA LATE. SET WHEN THE FIFO IS FULL ON RPB 4 A READ OR EMPTY ON A WRITE. THESE CONDITIONS OCCUR WHENEVER THE Q-BUS LATENCY EXCEEDS THE DATA TRANSFER RATE OF THE TSOS. UNC READ BUS PARITY ERROR. SET WHEN CONTROLLER DETECTS A PARITY ERROR ON THE READ DATA LINES OF THE TRANS PORT BUS. RESERVED (ALWAYS A 0) 4 UNCORRECTABLE DATA ERROR. ; EEEE N ey RESERVED (ALWAYS A 0) 07-02 & 00 01 S Prenpecnpaca TSVOS DATA RELIABILITY 1733 1734 1735 MACRO M1113 14-JUN-84 18:32 6.3.5 15 1737 1738 1739 1740 1741 1742 1743 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 SEQ 0035 EXTENDED STATUS REGISTER 2 (XSTAT2) 1736 1744 1745 1746 J3 14 PI 'M' 13 ey 12 11 T L I 'RCE' 0!'!O0! 0---0 D b e !0 l T 10 09 08 e a2 I l I MCF!O! 1 R R K 'O . R 07 e l 06 OS o 'RL?'RL6' I 04 03 R N 'RLS'RL"RLS' ' 02 E 01 R S o---o---o---o 0---0---0---0 o---o---o---: NAME TCC DEFINITION 15 OPM S OPERATION IN PROGRESS. 14 RCE 7.F2 RAM CAHECKSUM ERROR. CAUSES FATAL CLASS 2 BECAUSE THE ERROR MIGHT HAVE OCCURRED DURING THE TRANSMISSION OF THE MESSAGE PACKET. 10 (TAPE MOVING) RESERVED (ALWAYS A 0) WCF 7 09-08 07-00 gLo WRITE CLOCK FAILURE. SET DURING A WRITE TO INDICATE THAT THE FIFO IS NOT BEING EMPTIED BY THE TRANSPORT. RESERVED (ALWAYS A 0) - REVISION LEVEL. e 'RL2'RL1'RLO' BIT 13-11 00 T ey TSVOS DATA RELIABILITY MACRO M1113 I<3 14-JUN-84 18:32 SEQ 0036 1765 1766 1767 1768 1769 1770 1771 1772 1773 6.3.6 EXTENDED STATUS REGISTER 3 (XSTAT3) 1780 14 L et 5 13 12 R 11 R S 10 T 09 Y 08 S 07 MICRO DIAGNOSTIC ERROR COOE ' 0 NAME feccbecclencd TCC frccfecclencl prccpencbencl foccbecnfoanct ! 1783 1784 07 RESERVED (ALWAYS A 0) 06 OPI 02 ' 0 H bm=a= DEFINITION MICRO DIAGNOSTIC ERROR CODE. 1785 03 'REV'TRF'DCK' 15 T0 08 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 04 bbby po-a 'OPI' 1781 1782 05 ! $emcd BIT 06 R e # : 1774 1775 1776 1777 1778 1779 15 6 (SEE LIST OF CODES BELOW). OPERATION INCOMPLETE. SET WHEN A READ, SPACE, OR SKIP OPERATION HAS MOVED 25 FEET OF TAPE WITHOUT DETECTING ANY DATA ON THE TAPE. 0S REV S DIRECTION OF CURRENT OPERATION WAS REVERSE (BUT IS O IF REWIND OR FORWARD) 04 - - RESERVED (ALWAYS A 0) 03 DCK S.,6 DENSITY CHECK. 02-01 00 6.3.7 SET WHEN IDENTIFICATION BURST (IDB) MOVING OFF OF BOT. PE WAS NOT DETECTED WHEN RESERVED (ALWAYS A 0) RIB 2 REVERSE INTO B8O0T. 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) 15 14 13 12 e A $eccd 'HSP' 'RCE' 10 11 10 09 08 foccdoccpecct 0O 0 0---0 NAME TCC 0---0---&---0 07 06 $occfocabeccd o 0! ] BIT A OS 04 03 02 01 00 foccboccbaccd bo== bemmpmm=t HRITE RETRY COUNT ! e DEFINITION e I R L BT B TR R TR S TR R TR TSVOS DATA RELIABILITY 1822 1823 1824 1825 1826 1827 MACRO M1113 14-JUN-84 18:32 1S MSP SEQ 0037 HIGH SPEED. S RCE 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 IS IS OPERATING IN LOW SPEED MODE.(2S5IPS) RETRY COUNT EXCEEDED. 6 WHEN SET,INDICATES THAT THE CONTROLLER WAS BUFFERING WRITE DATA AND COULD NOT SUCESSFULLY OUTPUT THE BUFFERED RECORD WITHIN THE SPECIFIED NUMBER OF RETRIES. 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 THE TRANSPORT OPERATING IN HIGH SPEED MODE.(100IPS) WHEN CLEAR, THE TRANSPORT 14 WHEN SET,INDICATES THAT 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. 7.0 DIAGNOSTIC HISTORY REVISION A MAR 1982 REVISION B APR 1983 MODIFIED CZTSHC FROM TS11 FOR TSVOS UPDATED THE DIAGNOSTIC TO SUPPLY THE CORRECT RECORD NUMBER DURING EXECUTION OF TEST @2. REF: CHMIELECKI TO MITCHELL "TSVOS DATA RELIABILITY PROBLEM”; REVISION C 21-JAN-83. JUN 1984 MINOR CHANGES FOR "ORION" CPU i 13 14 MACRO TMM111% 14-JUN-84 18:32 .TITLE PROGRAM HEADER AND .SBTTL PROGRAM HEADER a3 45 a6 48 002000 49 50 S1 Se S3 o4 S5 56 o4 65 SEQ 0038 .ENABL . BGNMOD TABLES ABS,AMA 2000 HA A : THE PROGRAM HEADER IS THE INTERFACE BETWEEN ; THE DIAGNOSTIC PROGRAM AND THE SUPERVISOR. '0. POINTER BGNRPT ,BGNSW,BGNSF T,BGNAU, BGNDU LSNAME : : HEADER (CVTSE,.C,0,5000,1 ;DIAGNOSTIC NAME /C/ N/ LSREV: : ;REVISION LEVEL LSDEPO: : :0 LOUNIT:: {NUMBER OF UNITS LeTIML:: ;LONGEST TEST TIME LSWPCP: : ;POINTER TO H.W. QUES. LSISPCP: : ;POINTER TO S.W. QUES. LINPTP: ; ;PTR, TO DEF. H.W. PTABLE LISPTP: : ;PTR, TO S.W. PTABLE LSLADP: : ;:DIAG. END ADDRESS LSSTA:: ;RESERVED FOR APT STATS L$CO:: LSDTYP: : ;DIAGNOSTIC TYPE LIAPT: ; ;APT EXPANSION LSOTP: : :PTR. TO DISPATCH TABLE LSPRIO: : ;:DIAGNOSTIC RUN PRIORITY LSENVI:: ;FLAGS DESCRIBE MOM IT WAS SETWP SRRRRRRRRRER TSVOS DATA RELIABILITY LSLAST Y] 1 ) LSDISPATCH ) ;EXPANSION WORD LSMREY:: ;SVC REV AND EDIT o LSEF:: ;:DIAG. e LSEXP]:: - - 003 003 14-UUN-%4 18:% o® MACRO M1113 EVENT FLAGS 0 0 LeaPC:: 002164 017570 : LSDEVP: ; POINTER TO DEVICE TYPE LIST LSREPP: : :PTR. 0 LSDVTYP TO REPORT CODE LRPT 0o LSEXPS: ; 104035 021324 002110 002110 002114 002114 002116 002116 002120 002120 023736 023314 021316 LSAUT:: ;PTR. TO ADD UNIT CODE LSOUT:: ;PTR. TO DROP UNIT CODE LSLUN:: ;LUN FOR EXERCISERS TO FILL LSDESP: : ;POINTER TO DIAG. DESCRIPTION LSLOAD:: ;:GENERATE SPECIAL AUTOLOAD EMT LSETP:: ;POINTER TO ERRTBL LSICP:: ;PTR. TO INIT CODE : LS$CCP: ;PTR. TO CLEAN-UP CODE LSACP:: ;PTR. TO AUTO CODE L$PRT:: ;PTR. TO PROTECT L$TEST:: ; TEST NUMBER LSDLY:: ;DELAY COUNT LSHIME: : ;PTR. TO HIGH MEM TABLE 0 LSAU LsOuV 0 LS$DESC 7 55888858 002136 CIREVISION CsEDIT ESLOAD LSINIT LS$CLEAN LSAUTO L$PROT PROGRAM HEADER AND TABLES MACRO M1113 DISPATCH TABLE 73 .SBTTL 74 75 300 76 77 78 002124 002126 002130 002132 - 002134 DISPATCH S 000005 LSDISPATCH: : 024156 025644 026500 026674 027054 88 gg .SBTTL 91 / .WORD S . WORD . WORD . WORD . WORD . WORD T1 T2 T3 T4 L5 DESCRIPTIVE TEXT iee 92 ;2 LINES OF TEXT PRINTED TO THE OPERATOR TO IDENTIFY THE DIAGNOSTIC AND THE DEVICE UNDER TES 93 g 95 002136 002136 002136 104 101 124 L$DESC:: 002141 002144 002147 002152 002155 002160 002163 101 105 101 114 131 105 000 040 114 102 111 040 123 122 111 111 124 124 124 94 | DISPATCH TABLE o 80 002122 002122 002124 | st SEQ 0040 : THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. s IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST, 79 . 14-UUN-84 18:32 B4 9 002164 002164 002164 002167 124 060 123 065 126 000 DESCRIPT DEVTYP LSOVTYP:; <DATA RELIABILITY TEST»> .ASCIZ <TSVOS> /DATA RELIABILITY TE .EVEN L.ASCIZ /TSwOS/ PROGRAM HEADEF AND TABLES DEFAUL T HARDWMRE P TABLE QR 10C $ee 101 102 103 104 105 SEQ 004} DEFAULT HARDWARE P - TABLE : THE DEFAULT HARDWARE P-TABLE : THE TEST-DEVICE PARAMETERS. CONTAINS DEFALLT VALUES OF THE STRUCTURE OF THMIS TABLE : IS IDENTICAL TO THE STRUCTURE OF THE RUN-TIME P-TABLE. 3= 106 002172 002172 002174 000003 002174 109 002174 110 002176 1{5 002200 1 BGNHW DFPTBL LéHM: : LHORD L10000-L$HM/2 .WORD L10001-L$SW/2 DFPTBL:: 172520 000224 000000 113 002202 114 14-UUN-B4 18:32 LSBTTL 0 107 108 MACRO M1113 002202 .WORD .WORD .MORD L10000: 172520 : TSDB ADDRESS. 224 O sVECTOR ADDRESS. ;ORIVE €0 FOR DEFAWLT ENOHW 115 116 117 .SBTTL 119 SOFTWARE P-TABLE XX 120 : THE SOFTWARE P-TABLE CONTAINS THE VALUES OF THE PROGRAM {gg : PARAMETERS THAT CAN BE CHANGED BY THE OPERATOR. ‘-- 123 124 002202 002202 000051 132 002204 133 002205 134 002206 135 002207 136 002210 137 002211 138 002212 139 002213 140 002214 141 002215 142 002216 143 002217 001 000 000 000 001 000 000 000 000 000 000 000 002204 - 002204 144 002220 145 002222 146 002224 147 002226 148 002230 149 002232 150 002234 151 002236 152 002240 153 002242 000040 000015 000001 000001 000007 000004 004000 076400 000007 000003 BGNSW SFPTBL L$SM:: SFPTBL: : CLRFLG:: .BYTE RRANV:: .BYTE HAE: : .BYTE ERCVER:: .BYTE BADTSM:: .BYTE .BYTE DINT:: .BYTE IREC:: .BYTE CHGFLG:: .BYTE .BYTE PIRE:: .BYTE .BYTE CHAR:: CMDD:: CH.EAI .WORD LWORD LMORD .WORD LMORD .WORD .HORD .WORD LMORD 1 O O O 1 O© O O O O O O sCLEAR COUNTERS FLAG. sRESET RANDOM VARIABLES EACH PASS FLAG. sHALT AFTER EACH COMMAND FLAG. tENABLE RECOVERABLE ERROR PRINTS FLAG. 1BAD TAPE SWITCH TO REWRITE ON SAME SPOT & DETECT BAD TAPE s SPARE s1DISABLE INTERRUPTS FLAG. s INHIBIT ERROR RECOVERY FLAG. sCHANGE CMD SEQ TABLE FLAG. 1 SPARE. sINMIBIT RESIDUAL FRAMECOUNT ERROR REPORT FLAG. 1 SPARE. 13. 1 1 RANP 4 DATCNT 32000. RANP 3 IBYTE COUNT (DEFAULT = MAX BUFFER SIZE). tNUMBER OF OPERATIONS (DEFAULT = 32000). aPATTEfiN (DEFAULT = RANDOM). ;COMMAND 4 (DEFAWLT = READ REV). sCHARACTERISTICS CODE (DEFAWLT = 40). sCOMMAND 2 (DEFALLT = REWIND). tBYTE COUNT tNUMBER OF OPERATIONS sPATTERN sCOMMAND 3 (DEFAULT = WRITE) 154 002244 182 002326 004000 076400 000007 MACRO M1113 | 14-JUN-B4 3333333333333333333333358 SOF TWARE P-TABLE ! | PROGRAM HEADER AND TABLES 18:32 SEQ 0042 DATCNT 1BYTE COUNT (DEFAULT = MAX BUFFER SIZE). RANP ;PATTERN (DEFAULT 32000. 2 DATCNT 32000. RANP 13. tNUMBER OF OPERATIONS (DEFAULT = 32,000). = RANDOM). tCOMMAND S (DEFAULT = READ FWD). aBY?E COUNT (DEFAULT = MAX BUFFER SIZE). tNUMBER OF OPERATIONS (DEFAWLT = 32,000). .PATYERN (DEFAULT = RANDOM), sCOMMAND 6 (DEFAULT = REWIND). 1BYTE COUNT tNUMBER OF OPERATIONS 1PATTERN sEND OF CMD SEQ TABLE CODE (DEF) OR CMD 7 $tBYTE COUNT (DEFAULT = MAX BUFFER SIZE). tNUMBER OF OPERATIONS (DEFAWLT = 32000). ;PMTERN (DEFAULT = RANDOM). 1END OF CMD SEQ TABLE CODE (DEF) OR CMD 8 sBYTE COUNT (DEFAULT = MAX BUFFER SIZE). sNUMBER OF OPERATIONS (DEFAULT = 32000). sPA"ERN (DEFAULT = RANDOM). sDEFAULT SWITCH SETTING 1ENABLE READ BUFFERING ;1ENABLE WRITE BUFFERING tRUN AT 100IPS SWITCH tEXTENDED FEATURES SOF TWARE SW O=0FF ;1=ON tBUFFER ENABLE SOFTWARE SW O=0FF ; 1=ON PROGRAM HEADER AND TABLES SOF TWARE P-TABLE 195 196 197 206 MACRO M1113 i4-JUUN-84 18:32 SEQ 0043 .TITLE GLOBAL AREAS .SBTTL GLOBAL EQUATES SECTION BGNMOD 207 002326 208 209 210 211 212 10 ; THE GLOBAL EQUATES SECTION CONTAINS PROGRAM EQUATES THAT ; ARE USED IN MORE THAN ONE TEST. ‘-- 213 214 002326 EQUALS ; : BIT DIFINITIONS : B8IT15== B8IT14== BIT13== B8IT12== B8IT1l== 8IT10== B8IT09== B8IT08== B8IT07== B8IT06== BIT05== BITO4== B8IT03== BIT02== BITO1== BIT00== ; B8IT9== 8IT8== BIT7== BIT6== BITS== BIT4== B8IT3== BIT2== B8ITl== BITO== 100000 40000 20000 10000 4000 2000 1000 400 200 100 40 20 10 4 2 1 BITO9 BITO8 BITO7 BITO06 BITOS BITO4 BITO3 BITO2 BITO1 BITOO : s EVENT FLAG DEFINITIONS s EF32:EF17 RESERVED FOR SUPERVISOR TO PROGRAM COMMUNICATION 8 000040 000037 EF .START== EF .RESTART == 32. 31. + START COMMAND WAS ISSUED ; RESTART COMMAND WAS ISSUED 000035 000034 EF .NEW=+= EF .PWR== 29. 28, i A NEW PASS HAS BEEN STARTED : A POWER-FAIL/POWER-UP OCCURRED EF.CONTINVE== 30, : ‘ s+ 000340 000300 i PRIORITY LEVEL DEFINITIONS PRIO7== 340 PRIO6== 300 + CONTINUVE COMMAND WAS ISSUED 1 GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 000240 000200 000140 000100 Fa 14 -JUN-84 18:32 SEQ 0044 PRIOS== 240 PRIO4== 200 PRIO3== PRIO2== 140 100 PRIO1== 40 PRIOO== 0O i ;+OPERATOR FLAG BITS 5 EVL== LOT== 4 10 ADR== IDY== ISR== UAM= = BOE== PNT== PRI== IXE== IBE== IER== LOE== HOE== 20 40 100 200 400 1000 2000 4000 10000 20000 40000 100000 + REGISTER USAGE. - m p<] [7,] B Ll (2] COMMAND SEQUENCE TABLE POINTER. P S B S B [ p.-] R G PASSES PARAMETERS TO/FROM DIAGNOSTIC SUPERVISOR. CURRENT LOGICAL DEVICE NUMBER Xx 2. STACK POINTER. PROGRAM COUNTER. GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 235 236 237 238 239 : THE FOLLOWING ARE BIT DEFINITIONS FOR THE TSSR REGISTERS. 15.5C==100000 TS.UPE==40C00 1S.SPE==20000 TS.RMR==10000 TS .NXM==4000 240 241 242 TS.NBA==2000 243 244 245 246 14-JUN-84 18:32 000100 177717 177761 7S.A17==1000 TS.A16==400 TS.SS5R==200 TS.0FL==100 TSC.FCC==177717 TSC.TCC==177761 1SPECIAL CONDITION BIT. sUNIBUS PARITY ERROR ;SERIAL BUS PARITY ERROR. tREGISTER MODIFICATION REFUSED. sNON-EXISTENT MEMORY. sNEED BUFFER ADDRESS. 1BUS ADDRESS BIT 17. 1BUS ADDRESS BIT 16. tUNIT READY BIT. sOFF LINE. s+FATAL CLASS CODE MASK., ; TERMINATION CLASS CODE MASK, ; THE FOLLOWING ARE BIT DEFINITIONS FOR THE COMMAND WORD 100000 040000 ACK.C==100000 CvC.C==40000 OPP . C==20000 SWB .C==10000 MO0 .C3==4000 BRF .C==4000 MOD . C2==2000 M0D.C1==1000 M0D.CO==400 IE.C==200 s ACKNOWLEDGE BIT ;CLEAR VOLUME CHECK. sOPPOSITE BIT :SWAP BYTE BIT sMODE BIT 3 sBYTE/RECORD/FILE COUNT FLAG BIT. NOT USED 18Y TSOS BUT USED INTERNALLY BY THIS PROGRAM ONLY. sMODE BIT 2 sMODE BIT 1 sMODE BIT O s INTERRUPT ENABLE FMT.C1==100 VFY.C==100 1FORMAT BIT 1 FMT.CO==40 sFORMAT BIT O. CMD.C4==20 OLY.C==20 CMD.C3==10 CMD.C2==4 CMD.Cl==2 CMD.CO==1 1COMMAND BIT © JMP . C==40 sWRITE VERIFY FLAG BIT. sNOT USED BY TSOS. INTERNAL USE ONLY. ;JUMP BIT-TO DIRECT THIS PROGRAM TO JUMP TO sA CERTAIN LOCATION IN THE COMMAND SEQUENCE s;TABLE. INTERNAL USE ONLY. ;:COMMAND BIT 4 s INSERT DELAY. INTERNAL USE ONLY. :BIT DEFINITIONS FOR DEVICE CHARACTERISTICS. et ———— 283 000200 000040 000020 000040 CH.ESS==200 CH.EAI==40 CH.ERI==20 DFTSCH==CH_ EAI sENABLE SKIP TAPE MARKS STOP (STOP AT LOGICAL EOT). :ENABLE ATTENTION INTERRUPTS. sENABLE MESSAGE BUFFER RELEASE INTERRUPTS. sDEFAULT CHARACTERISTICS COODE. MACRO M1113 GLOBAL AREAS GLOBAL EQUATES SECTION 285 286 287 288 289 290 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 14-JUN-84 18:32 SEQ 0046 ;BIT DEFINITIONS FOR EXTENDED CONTROL WORD 000040 000020 291 292 293 294 295 296 297 298 299 300 H4 EF .HSS==40 EF .RWB==30 EF .RBO==20 tENABLE HIGH SPEED SELECT 1ENABLE BOTH READ & WRITE BUFFERING :ENABLE READ BUFFERING ONLY s THE FOLLOWING INDICATES THE RELATIVE POSITIONS OF THE STATUS WORDS :IN THE MESSAGE BUFFER. MS.RFC==4 000010 000012 000014 000016 MS.XS0==6 MS.XS1==10 MS.XS2==12 MS.XS3==14 MS.XS4==16 sRESIDUAL FRAME COUNT. tEXT STATUS REG 0O $EXT STATUS REG 1 sEXT STATUS REG 2 sEXT STATUS REG 3 sEXT STATUS REG 4 :THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 0. X0. TMK==100000 X0.RLS==40000 X0.LET==20000 X0.RLL==10000 X0.ONL==100 XO0.WLK==4 X0.B0T==2 X0.EQT==] s TAPE MARK, sRECORD LENGTH SHORT, sLOGICAL EOT. ;RECORD LENGTH LONG. :ON LINE BIT. sWRITE LOCK BIT ;80T BIT. :EOT BIT. :THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 2. 100000 000100 X2.0PM==100000 X2.EFE==200 X2.8FE==100 sCPERATION IN PROGRESS, TAPE MOVING ;EXTENDED FEATURES ENABLED 1BUFFERING ENABLED ;THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 3. 000010 157400 X3.0CK==10 X3.RNY==157400 sDENSITY CHECK. 1CAPSTAN RUNAWAY UDIAG ERROR CODE. s 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 s THE FOLLOWING DEFINITIONS SHOW THE RELATIVE POSITIONS OF THE COMMAND ;PACKET ENTRIES. 000002 CP.CMD==0 CP.ADL==2 CP.ADH==4 CP.CNT==6 1CMOPKT +0==TS0S COMMAND. 1CMOPKT+2==BUFFER ADDRESS LOW. ;CMOPKT +4==BUFFEk ADDRESS HIGH. 1CKDPKT+6==BYTE/FILE/RECORD COUNT GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 338 339 340 SEQ 0047 sMISCELLANEOUS DEFINITIONS. 341 342 000340 000012 INTPRI==PRIO7 SCHCNT==12 tPRIORITY TO BE USED IN INTERRUPT STATE. sARBITRARY BYTE LENGTH FOR CHARACTERISTIC 345 346 000020 000020 004000 MSGCNT==20 DIACNT==20 DATCNT==2048. 1OIAGNOSTIC COMMAND BUFFER EXTENT. sMAXIMUM RECORD LENGTH IN BYTES, 177740 000007 000020 000020 RNOPSC==177740 RANP==7 343 344 347 348 349 350 351 352 353 354 355 356 gg; ;BUFFER LENGTH. (EVEN #) tMESSAGE BUFFER LENGTH IN BYTES. (EVEN @) s THIS COUNT SHOULD BE A MULTIPLE OF 256 TO INSURE ;PROPER READ/WRITE BUFFER ALLOCATION BY THE SUPER. sRANDOM @ OF OPERATIONS MASK. ;CODE TO SELECT RANDOM PATTERN. 153624 032561 RRECL==16. WRECL==16. RANBC==153624 RANSC==32561 177740 NCMD.C==ACK.C!CVC.C!'OPP.C!SWB.C'MOD.C3!MOD.C2!M0D.C1M0D.CO!IE.C!FMT . C1!FMT.CO 177774 ;23 ;READ RECOVERY ATTEMPT LIMIT. ;WRITE RECOVERY ATTEMPT LIMIT. sCONSTANT USED TO RESET RANDOM ¢ GENERATOR BASE. sCONSTANT USED TO RESET RANDOM @ SAVE LOCATION. NINUSE==177774 sNOT IN USE CODE FOR DEVICE STATE TABLE. sNOT “COMMAND" BITS. ; THE FOLLOWING DEFINES THE COMMAND WORD FOR EACH TSOS COMMAND. 361 100013 DRI== ACK.C!CMD.C3:CMD.C1:CMD.CO ;ORIVE INIT. 364 104001 ROF== ACK.C!BRF.C!CMD.CO 367 104401 RDR== ACK.C!BRF.C!MOD.CO!CMD.CO 370 104005 WRT== ACK.C!BRF.C!CMD.CO!CMD.C2 373 104105 WTv== ACK.C!BRF.C!VFY.C!CMD.CO!CMD.C2 376 104010 SRF== ACK.C!BRF.C!CMD.C3 379 104410 SRR== ACK.C!BRF.C!MOD.CO!CMD.C3 382 105401 RNR== ACK.C!BRF.C!MOD.C1!MOD.CO!CMD.CO 385 125401 RNF== ACK.C!BRF.C!OPP.C!MOD.C1!MOD.CO!CMD.CO 388 105001 RPF== ACK.C!BRF.C!MOD.C1!CMD.CO 391 125001 RPR== ACK.C!BRF.C!'OPP.C!MOD.C1!CMD.CO 394 105005 WRR== ACK.C!MOD.C1!BRF.C!CMD.C2!CMD.CO 332% 3322 fig g';.‘le g;; g;l; ggg fi Ssgg ggg gg% — 14-JUN-84 18:32 ;READ FORWARD ;READ REVERSE ;WRITE COMMAND {WRITE VERIFY 1 SPACE RECORD FORWARD 1 SPACE RECORD REVERSE sREAD REV RETRY1 - REREAD NEXI REVERSE, IE. SPACE FWD, READ REVERSE ;READ REV RETRY2 - REREAD NEXT FORWARD, IE.READ FORWARD, SPACE REVERSE ;READ FWD RETRY1 - REREAD PREVIOUS FORWARD, IE. SPACE REVERSE, READ FORWARD ;READ FWD RETRY2 - REREAD PREVIOUS REVERSE, IE. READ REVERSE, SPACE FORWARD MACRO M1113 GLOBAL AREAS - GLOBAL EQUATES SECTION 395 396 397 398 399 , f 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 J4 14-JUN-84 18:32 sWRITE RETRY 102010 RWD== ACK.C!MOD.C2:CMD.C3 ACK.C!CMG.C3:CMD.CL1 100012 sREWIND COMMAND tMESSAGE BUFFER RELEASE 100011 WTM== ACk.C!CMD.C3!CMD.CO 101011 WTR== ACK.C!MOD.C1!CMD.C3!CMD.CO 105010 SFF== ACK.C!BRF.C!MOD.C1!CMD.C3 105410 SFR== ACK.C!BRF.C!MOD.CO!MOD.C1:CMD.C3 100017 GES== ACK.C!CMD.CO!CMD.C1:CMD.C2:CMD.C3 100411 ERS== tWRITE TAPE MARK, sWRITE TAPE MARK RETRY, 1SPACE FILE FORWARD +SPACE FILE REVERSE :GET EXTENDED STATUS ACK.C!MOD.CO!CMD.C3:!CMD.CO tERASE 3 INCHES OF TAPE ACK.C!MOD.CO!CMD.C3!CMD.C1 sUNLOAD COMMAND 421 422 100412 404 425 426 101012 CLN== ACK.C!MOD.C1:!CMD.C3:!CMD.C1 140004 SCH== ACK.C!CvC.C!CMD.C2 140006 WSM== ACK.C!CvC.C!CMD.C2!CMD.C1 100006 DIA== ACK.C!CMD.C2:CMD.C1 sDIAGNOSTICS. JMP . C ;JUMP TO "M"TH COMMAND 423 427 428 429 430 431 432 433 434 435 436 437 000040 :ERASE TAPE. +SET DEVICE CHARACTERISTICS. {WRITE SUB-SYS MEM 000020 DLY== DLY.C sDELAY “N" MS. 177777 END== 177777 ;END OF COMMAND SEQUENCES GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION 14-JUN-84 18:32 439 .SBTTL 440 441 442 jee ‘-. 444 446 447 448 449 450 451 452 453 454 455 456 002340 458 459 002344 460 461 462 463 464 465 002350 466 002352 467 468 469 470 002354 3 COMMAND PACKET. CMDPKT:: O . 002330 002332 002334 002336 457 002340 100017 002344 100012 102010 000001 = 0 0 0 <,+3>E£177774 sMUST BE ON MOD 4 BOUNDRY, :1ST WORD IS T7SOS COMMAND. :12ND WORD IS THE BUFFER LOW ADDRESS. +3RD WORD IS THE BUFFER HMIGH ADDRESS. ;4TH WORD IS THE BYTE/RECORD/FILE COUNT. : GET STATUS COMMAND PACKET. g GSCPK:: = .WORD : MESSAGE BUFFER RELEASE COMMAND PACKET. . BRCPK:: = .WORD 3 REWIND COMMAND PACKET (USED IN ERROR RECOVERY ONLY) 002350 <,+3>E177774 GES <, +3>E177774 MBR sMUST BE ON MOD 4 BOUNDRY. sMUST BE ON MOD 4 BOUNDRY., = <, +3>E177774 RWCPK:: .WORD RWD 3 WORK AREA FOR ANALYSIS OF MESSAGE PACKET CONTENTS. .WORD MSGPKT:: 471 472 473 474 475 476 477 478 479 .BLKW ;MUST BE ON MOD 4 BOUNDRY. 1 8. ;1ST WORD:: MESSAGE TYPE. $2ND WORD:: DATA FIELD LENGTH. ;3RD WORD:: RESIDUAL FRAME COUNT. ;4TH WORD:: XSTATO ;7TH WORD:: XSTAT3 :STH WORD:: XSTAT1 $16TH WORD:: XSTATZ2 ;8TH WORD:: XSTAT4 3 480 002374 481 002414 482 002434 483 002454 MSGPKO:: MSGPK1:: MSGPK2:: MSGPK3:: 484 485 486 002474 487 002476 488 489 490 491 492 493 494 495 GLOBAL DATA SECTION ¢ THE GLOBAL DATA SECTION CONTAINS DATA THAT ARE USED : IN MORE THAN ONE TEST. 443 445 SEQ 0049 002374 .BLKW .BLKW .BLKW .BLKW 8. 8. 8. 8. sMESSAGE sMESSAGE sMESSAGE ;sMESSAGE PACKET PACKET PACKET PACKET FOR FOR FOR FOR DEVICE DEVICE DEVICE DEVICE @0 @i @2 @3 3 SET CHARACTERISTIC BLOCK. SCHBK:: MSGPKO :11ST WORD:: MSGPKT ADDR LOCSET UP BY EXCUTE ROUTINE). 0 ;2ND WORD:: MSGPKT ADDR HI. 0 :STH WORD:: HSP & BUFFER CONTROL ON EXT'D FEATURES MSGCNT CH.EAI 002502 002504 002506 002510 002512 MESSAGE PACKETS. 3 ;3RD WORD:: MSG BUFFER LENGTH (BYTES) ;4TH WORD:: CHARACTERISTICS WORD(SET BY SETUP ROUTINE). WRITE SUB-SYSTEM MEMORY CHARACTERISTIC BLOCK. WSMBK:: O 0 0 $1ST WORD:: 12ND WORD:: +3RD WORD:: SEL O SEL 2 SEL 4 GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION 496 497 498 002514 499 002524 500 002534 501 502 503 504 505 507 14-JUN-84 18:32 3 SEQ 0050 TSOS REGISTER ADDRESSES. TSDB:: .BLKW TSSR:: .BLKW TSVCT:: .BLKW 002514 TSBA==TSDB 002374 002414 002434 002454 MSGPKA:: MSGPKO 010034 010042 010050 010056 TSSINT:: 3 4 4 4 ;DEVICE O. MSGPK1 ;OEVICE 1. MSGPK3 ;DEVICE 3. ;DEVICE 2. ADDRESSES OF INTERRUPT HANDLING ROUTINES. TSSINO TSSIN1 ;DEVICE 0. sDEVICE 1. TSSIN3 ;DEVICE 3. TSSIN2 ;:DEVICE 2. 3 TS0S CODE LEVELS, WILL BE STORED AFTER SCH CMD IN BASIC FUNCTION TEST 3 TSOS EXT. FEA € BUF. ENA SW'S, WILL BE STORED AFTER SCH CMD IN BASIC FUNCTION TEST TSSCL:: O 0 0 0 518 519 002572 ;DEVICE ;DEVICE ;DEVICE ;DEVICE TSSSK:: O 0 0 002574 002576 177774 177774 177774 177774 177777 003046 003120 003172 003244 O 1 2 3 sDEVICE O ;DEVICE 1 ;DEVICE 2 0 002602 ;DATA BUFFER ADDRESS REGISTER. ADDRESSES OF MESSAGE PACKETS. MSGPK2 : :TSOS DATA BUFFER A\DDRESSES. 1 TSOS STATUS REGISTER ADDRESSES. s TSOS VECTOR ADDRESSES. ;DEVICE 3 : : : UNIT NUMBERS OF ALL DEVICES BEING TESTED(1-4). WHEN DEVICE IS NOT IN USE, IT,S LOCATION WILL = -3, RS WILL ALWAYS CONTAIN THE PRESENT LOGICAL UNIT NUMBER X 2. 3 BAD TAPE TABLE POINTER: USED BY WRITE RETRY ROUTINE DEVTBL:: : .WORD .WORD .WORD .WORD .WORD NINUSE NINUSE NINUSE NINUSE END “WRTY” TO LOG BAD TAPE SPOTS ON UNITS UNDER TEST BTADDR:: BTO BT1 BT2 BT3 GLOBAL AREAS MACRO M111%3 GLOBAL DATA SECTION 543 544 545 S46 002626 S47 002666 S48 002726 SEQ 0051 14-JUN-84 18:32 H 002626 549 002766 S50 002776 SS1 003006 SS2 003016 553 003026 COUNTER AREA, CNTBGN=, WRBC:: .BLKW RRBC:: .BLKW RFBC:: .BLKW WRREC:: .BLxw WRUNR:: .BLKW RRREC:: .BLKW 20 20 20 4 4 4 ;:BYTES WRITTEN. :BYTES READ REV. ;BYTES READ FWD. sRECOVERABLE WRITE ERRORS. sUNRECOVERABLE WRITE E~RORS. sRECOVERABLE READ REV ERRORS. RFUNR:: 4 sUNRECOVERABLE READ FWD ERRORS. RRUNR:: RFREC:: .BLKW .BLxWw SS5S 003046 B8T0:: .BLKW 557 003172 S58 003244 BT2:: B8T73:: 554 003036 556 003120 BT1:: 559 003316 S60 003326 S61 003336 S62 003346 S63 003356 S64 003366 565 566 003376 S67 SS:g 003376 000550 $70 571 .BLKW .BLKW 000000 576 003410 S77 003412 S78 003414 579 003416 S80 003420 S81 003422 S82 003424 583 003426 S84 003430 000000 000000 000000 000000 177777 177777 177777 000000 000000 003406 2l. 21. 2l. 21, WRTYCT:: .BLKW PASCNT:: .BLKW SCONT:: .BLXKW VFYCNT:: .BLKW HROCNT:: .BLKW FTLCNT:: .BLKW 4 4 RECCNT:: 4 CNTEND =, .BLKW 4 4 & 4 CNTLEN==CNTEND-CNTBGN sUNRECOVERABLE READ REV ERRORS. sRECOVERABLE READ FWDERROGRS. sUNIT O BAT TAPE SPOTS LOG ;UNIT 1 BAT TAPE SPOTS LOG sUNIT 2 BAT TAPE SPOTS LOG sUNIT 3 BAT TAPE SPOTS LOG sWRITE RETRY COUNTER ;PASS COUNT, ;SPECIAL CONDITICON COUNT, sCOUNT OF TSOS DATA COMPARE ERRORS. sCOUNT OF HMARD ERRORS. sCOUNT OF FATAL ERRORS. ;END OF STATICTICAL COUNTERS. ;NUMBER OF RECORDS FROM BOT: CLEARED USED BY THE PROGRAM. DATAMT:: .WORD DIABLX==DATAWT DATARD:: .WORD NCNT:: .WORD NCNT1:: .WORD BRFCNT:: .WORD CMOMROD:: .WORD CMDSAV:: .WORD PCMOMD:: .WORD CMOLG:: .WORD LENMSK:: .WORD O ;WRITE BUFFER ADDRESS. O 0 O O END END END © O ;READ BUFFER ADDRESS. ;STORAGE FOR VALUE OF N ;TEMP STORAGE FOR VALUE G' N. ;STORAGE FOR BPCR VALUE. lcmm COMMAND WORD BEING EXECUTED PRESENTLY. ;SAVE LOCATION FOR CMD m ”I'fi ERROR RECOVERY ;CONTAINS PREVOUS COMMAND WORD ;CURRENT COMMAND LOGGING COODE. Om WRITE LENGTH MASK, TO BE SET UP Br TESTS sWMRITE BUFFER ALSO USED FOR DIAG CMD. S90 003444 153624 032561 000000 000000 000000 000000 RANB:: .WORD RANS:: .WORD TIMELl:: .WORD TIME2:: .WORD JA00P:: .WORD JA.0C .MORD 153624 32561 0 O O O ;RANDOM @ GENERATOR BASE. sRANDOM @ SAVE LOCATION. ;TIME COUNT 1. s TIME COUNT 2. ; JMP COMMAND LOOP COUNT. 1 JJMP COMMAND LOCATION COUNT. 592 003450 000000 crcc 0 ;CURRENT TERMINATION CLASS COODE. S87 003436 S88 003440 S89 003442 591 003446 593 003452 594 003454 S95 003456 000000 000000 000000 000000 ON REWIND sAND WHEN RESTARTING OR CONTINUING TEST 2. sLENGTH OF STATISTICAL COUNTER AREA. THE FOLLOWING ARE THE DEFINITIONS OF VARIABLES 3 S74 003406 S85 003432 S86 003434 BLKW : g;g 575 .BLKW 4 4 PATERN:: .WORD RSSAVE:: TSSREG:: WTMFLG:: .WORD .WORD .WORD . WORD O O O O ;PATTERN SELECT CODE. leIYIm FOR SAVING CURRENT DEVICE POINTER. ;CURRENT STATUS REGISTER. ;MRITE TAPE MARK FLAG N4 GLOBAL AREAS GLOBAL MACRO TMM111% DATA SECTION 597 598 599 600 601 003460 602 003462 603 003463 604 003464 605 003465 606 003466 607 003467 608 003470 609 003471 610 611 615 : : 003460 0000CO 000 000 000 000 000 0090 000 000 RETRYC:: .WORD RPTCNT:: .BYTE WRTYFG:: .BYTE WRTYER:: .BYTE RECLOG:: .BYTE ERLOG:: .BYTE RUERR:: .BYTE UNREC:: .BYTE ERRREC:: .BYTE 003472 ENDERF =, : 616 003472 617 003502 INTFLG:: EOTFLG:: 618 003512 628 003525 629 630 631 :g&s’ 000000 000 000 000 000 000 000 000 000 000 000 003526 2;; 636 003526 637 003527 638 003530 639 003531 640 003532 2:;1: 003534 000 000 000 000 000000 000000 646 003536 000000 .EVEN O O© O O 0O O 0 O O ;@ OF RECOVERY ATTEMPTS EXECUTED. JMRITE REPEAT ON SAME SPOT CNTR: 4 PER WRITE RETRY JMRITE RETRY ON SAME SPOT IN PROGRESS FLAG (MRITE RETRY ON SAME SPOT ERROR FLAG +RECORD COUNT MAS BEEN UPDATED FOR TWIS RZCORD. sDATA BYTES AND ERRORS MAVE BEEN LOGGED FOR TMIS RECORD. tREAD/WRITE ERROR HAS OCCURED. ;sUNRECOVERABLE ERROR HMAS OCCURED. ;ERROR RECOVERY MODE. ADDITIONAL FLAGS, THESE FLAGS ARE CLEARED DURING INITIALIZATION. .BLKW .BLKW 4 4 ;s INTERRUPT OCCURRED FLAGS FOR EACH DEVICE. :EOT/B0T FLAGS FOR EACH DEVICE (XSTATO). SWBFLG:: .BYTE IRE:: .BYTE DROPED:: .BYTE TiSWB:: .BYTE ALLEOT:: .BYTE ERSFLG:: .BYTE O 0 0 O O O ;ENABLES SWAP BYTE FUNCTION WHEN NOT EQUAL TO ZERO. ;INMIBIT RESIDUAL FRAME COUNT ERROR REPORT. ;CURRENT UNIT HAS BEEN DROPPED :YESYI SWAP BYTES FLAG ;ALL UNITS @ EOT FLAG ;ERASE FLAG: DO ERASE AFTER A SPACE REV TO DELETE ;BADLY WRITTEN RECORD. 1 TO 4 ERASES LEAVING A 3 TO 12 INCH GAP MAY RESULT. BTPT:: EXPBOT:: RANDOM:: VFYFLG:: RPTFLG:: ENDFLG=. ; 643 g:; €47 ERROR FLAG AREA, THESE FLAGS ARE CLEARED DURING INITIALIZATION AND AFTER EACH COMMAND IS COMPLETED. BGNFLG*. :{; 619 003514 620 003515 621 003516 622 003517 623 003520 624 003521 625 003522 626 003523 627 003524 SEQ 0052 14 AN-84 18:352 STAFLG:: PURFLG:: TRAPD4:: MISCFG:: .MORD .BYTE .BYTE .BYTE .BYTE O O O O O .EVEN ;BAD TAPE SPOT POINTER TO BT0-8T3 VIA BTADDR ;80T IS EXPECTED, DO NOT ABORT ON BOT/FUNC RTI. ;RANDOM EVERYTHING FLAG. :SET DURING WRITE/VERIFY COMMAND. ;PERFORMANCE REPORT MAS BEEN REQUESTED. ADDITIONAL FLAGS, THESE FLAGS ARE CLFARED ONLY AFTER BEEING CHECKED. .BYTE .BYTE .BYTE .BYTE O O O O TSUNT:: TSNP:: .WORD .WORD H ; OPERATOR FLAG SETTINGS PASSED BY DIAG. SUPERVISOR IN A 16 BIT WORD SEE GLOBAL EQUATES SECTION FOR FLAG BIT LIST OPFLAG:: .WORD .EVEN O O :START FLAG - SET BY INIT CODE IF STARTING. ;POMER FAILURE FLAG - SET ONLY DURING INIT. ; TRAPED AT 4 FLAG sMISCELLANEOQUS FLAG O tNUMBER OF THE UNIT UNDER TEST PLUS HSSPEBUF ;FOR PRINT OUT UNIT @ ONLY ;READ ONLY OPERATOR FLAG WORD .' P e A - - ..,.‘!" . MACRO M1113 GLOBAL DATA SECTION 14 JUN-84 18:32 SEQ 0053 THE TABLE 1 THE FOLLOWING IS THE COMMAND SEQUENCE TABLE. THESE VALUES +HAS DEFAULT VALUES AT PROGRAM LOAD AS SHOWN. +CAN BE UPDATED BY A TEST OR BY OPERATOR INPUT, 649 650 651 652 CMDSEQ: : 653 654 655 CMDSEZ2: : §3338888300888 88; 75588 5 I HBRIE GLOBAL AREAS BS SCH EH.EAI 0 RWO 1 i RANP WRT DATCNT 32000. RANP ROR DATCNT 32000. RANP ROF 177777 177777 177777 177777 177777 SEQEND: : 100013 104001 104401 104005 104105 CMDTBL:: 104010 104410 1SET CHARACTERISTICS. sREWIND. $1BYTE COUNT, s ONCE. sPATTERN, sWRITE. sMAX BUFFER LENGTH, 132,000 RECORDS. sRANDOM PATTERN. sREAD REV. tMAX BUFFER LENGTH, 132,000 RECORDS sRANDOM PATTERN. sREAD FWD. tMAX BUFFER LENGTH, 132,000 RECORDS. 1RANDOM PATTERN. sREWIND. sBYTE COUNT. 3 ONCE . sPATTERN, tEXTENSTION TO DOUBLE BUFFER SIZE 1SOFT END OF SEQUENCE TABLE. sHARD END OF SEQUENCE TABLE. FOLLOWING IS THE TSOS COMMAND TABLE DRI WRT WTV t1ORIVE INIT, tREAD FORWARD. sREAD REVERSE. IWRITE tWRITE/VERIFY., (MRITE ALL RECORDS, RDR AND sCHECK DATA ON ALL RECORDS, RDF AND 1CHECK DATA ON ALL RECORDS.) 1SPACE “N" RECORDS FORWARD. sSPACE "N” RECORDS REVERSE. tREAD NEXT REVERSE. [.E., SPACE FWD, READ REVERSE. tREAD NEXT FORWARD, 1.E., READ FORWARD, SPACE REVERSE. tREAD PREVIOUS FORWARD. I.E., SPACE REVERSE, READ FORWARD tREAD PREVIOUS REVERSE. I.E., READ REVERSE, SPACE FORWARD tWRITE RETRY, 1REWIND. tMESSAGE BUFFER RELEASE ;WRITE TAPE MARK tWRITE TAPE MARK RETRY, tSPACE "N" FILES FORWARD. 1SPACE "N" FILES REVERSE. 1GET EXTENDED STATUS. GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION 706 004020 707 004022 708 004024 709 004026 710 004030 711 004032 712 004034 713 004036 714 14 UUN-84 18:32 100411 100412 .WORD .WORD 101012 140004 100006 000040 000020 .WORD .WORD .WORD .WORD .WORD 177777 .WORD 715 716 717 004040 718 004043 719 004046 104 122 122 122 104 104 721 004054 722 723 004057 127 124 725 004065 720 004051 724 004062 726 004070 727 004073 728 004076 729 004101 730 004104 731 004107 732 004112 733 004115 734 004120 735 004123 736 004126 737 004131 738 004134 739 004137 740 004142 741 742 004145 743 744 745 004150 746 747 748 004153 749 ;?1) 004156 752 127 SEQ 0054 111 106 122 ERS UNL CLN SCH DIA UMW DLY END 1ERASE 3 INCHES OF TAPE, tREWIND AND UNLOAD. 1CLEAR TAPE, 1SET CHARACTERISTICS. 1OIAGNOSTIC COMMAND. 1JUMP TO THE NTH COMMAND IN THE SEQUENCE. tDELAY "N" MS, +END OF COMMAND TABLE 8 THE FOLLOWING TABLE CONTAINS THE ASCII FOR EACH COMMAND. CMDASC:: .ASCII /DRI/ .ASCII /ROF/ .ASCII /ROR/ 1ORIVE INIT. tREAD FORWARD. tREAD REVERSE. 122 124 LASCII LASCII /MTV/ 123 122 106 .ASCII /SRF/ tWRITE/VERIFY, (MWRITE ALL RECORDS, ROR AND CHECK DATA tON ALL RECORDS, RDF AND CHECK DATA ON ALL RECORDS.) 1SPACE "N" RECORDS FORWARD. 122 116 122 LASCII /RNR/ tREAD NEXT REVERSE. I.E., SPACE FWD READ REVERSE. 127 122 122 .ASCII /WRR/ 123 122 122 122 122 122 116 120 120 127 126 122 106 106 122 .ASCII 115 LASCII 102 122 127 123 123 124 106 106 122 106 122 105 125 122 116 107 103 123 104 124 105 114 103 111 .ASCII .ASCII ASCII 104 115 127 .ASCII 123 123 114 116 110 101 .ASCII .ASCII .ASCII .ASCII .ASCII .ASCII LASCII .ASCII .ASCII .ASCII /WRT/ /SRR/ /RNF/ /RPF/ /RPR/ /RWD/ tWRITE 1SPACE "N" RECORDS REVERSE. tREAD NEXT FORWARD, I.E., READ FORWARD, SPACE REVERSE. sREAD PREVIOUS FORWARD. IE.. SPACE REVERSE, READ FORWARD sREAD PREVIOUS REVERSE. IE., READ REVERSE, SPACE FORWARD tWRITE RETRY, sREWIND. /MBR/ tMESSAGE BUFFER RELEASE /MTR/ /SFF/ /SFR/ tWRITE TAPE MARK RETRY. $SPACE “N" FILES FORWARD. tSPACE “N” FILES REVERSE. /uTM/ /GES/ /ERS/ /UNL/ /CLN/ /SCwW/ /DIA/ 112 115 120 ASCII /7J0MP/ 104 114 131 .ASCII /DLY/ 105 116 104 evsghl‘l /END/ tWRITE TAPE MARK 1GET EXTENDED STATUS. tERASE 3 INCHES OF TAPE. sREWIND AND UNLOAD. +CLEAN TAPE, 1SET CHARACTERISTICS. WHERE BRF=200, 40, 20, O 1SEE_TSVOS/TSOS PROGRAMMING SPECIFICATION FOR DESCRIPTION. 1DIAGNOSTICS. SEE TSVOS/TS0S PROGRAMMING SPECIFICATION sFOR DESCRIPTION. ODT MUST BE USED TO LOAD DIAGNOSTIC DATA $INTO THE WRITE BUFFER BEFORE THIS CMD IS ISSUED. tJUMP TO THE NTH COMMAND IN THE COMMAND $SEQUENCE TABLE, WHERE N IS DEFINED IN 1THE @ OF OPERATIONS. sDELAY “N" MS, WHERE N IS DEFINED IN s THE @ OF OPERATIONS. tEND OF COMMAND SEQUENCE. GLOBAL AREAS MACRO M1113 GLOBAL TEXT SECTION 18:32 : THE GLOBAL TEXT SECTION CONTAINS FORMAT STATEMENTS, + MESSAGES, AND ASCII INFORMATION THAT ARE USED IN : MORE THAN ONE TEST. : : FORMAT STATEMENTS USED IN PRINT CALLS i NLIST CODELM:: 004306 004346 CMOPKXM: ; .%xz 7CMO PACKET ADR NOT ON MODULO 4 BOUNDARY: RELOAD!/ 787 004603 788 004622 789 004642 790 004670 791 004705 792 004727 793 004753 805 806 807 808 809 810 811 812 BEX 004162 004231 005017 005041 005065 005114 005146 005226 005275 005337 005360 005422 005456 005507 005543 005570 005653 005741 005744 .ASCIZ /#NSAUNIT sO1sA TSOS CODE LEVEL SO3SNSN/ SWSET: : stg'z‘z /SNSAUNIT #D1$A TSOS SWITCH SETTINGS SOSSNSN/ MALTM:: .ASCIZ : : : : : FUNRM:: FATSM:: NOINTM:: RNYM:: /XXX CMD - TYPE <CR> TO CONTINUE/ .ASCIZ /DATA COMPARE ERROR/ LASCIZ .ASCIZ : WTVERM:: 786 004556 798 799 800 801 802 803 804 GLOBAL TEXT SECTION X 004430 004453 783 004475 784 004521 785 004536 794 795 796 797 SEQ 0055 .SBTTL 754 755 756 757 758 759 760 761 762 769 770 771 772 773 774 775 776 777 778 779 780 781 782 14 -JUN-84 .ASCIZ .ASCIZ .ASCIZ _ASCIZ .ASCIZ /NO TSVOS RESPONSE/ /UNDEFINED SPEC COND/ /RFC NON ZERO/ /TSVOS NOT READY/ /RETRY LIMIT EXCEEDED/ /DRIVE OFF LINE/ /FUNCTION REJECT/ /FATAL SUBSYSTEM ERROR/ .ASCIZ /NO INTERRUPT/ .ASCIZ /TAPE STATUS ALERT/ LASCIZ /700 MANY INTERRUPTS/ _ASCIZ /CAPSTAN RUNAWAY-GET STATUS RESW.TS:/ .ASCIZ .ASCIZ DROPDM:: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ DTAERA:: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ /RECOVERABLE ERROR/ /UNRECOVERABLE ERROR/ /#NsSADROPPED UNIT wD1sN/ /7#NsSAALL UNITS DROPPEDSNsSN/ /#NsSADIAGNOSTIC ONLY SUPPORTS ONE CONTROLLERSNSN/ "wNsABYTE : SDASS2WAMAS : ¥BOSS2¥AS /B : ¥BBSN " "sDAs#A BYTES IN ERROR OUT OF sDAsN" /#ANO DATA READSN/ /#ARECORD TOO LONG: >%04%A BYTESSN/ /#ARECOVERED ON RETRY #wD2wN/ /#ADRIVE #D1sA OFF LINEWN/ /#AGET STATUS CMD RESULTS:sN/ .ASCIZ UNIMLK: .ASCIZ .ASCIZ CRLF:: CRLFSP:: .ASCIZ /#AINTERFACE BAD OR TSDB NOT SET TO ABOVE ADDRESS®N/ / #eeseTAPE IS WRITE-LOCKED AND WILL CAUSE ERRORSsssss/ /#N/ /#NwS7/ NODEV:: .ASCII .LIST .EVEN /#NsSABUS TRAP AT 06N/ BEX MACRO M1113 GLOBAL AREAS GLOBAL ERROR REPORT SECTION .SBTTL 814 R——| ES 14-JUN-84 18:32 GLOBAL ERROR REPORT SECTION 815 816 X ¢ THE GLOBAL ERROR REPORT SECTION CONTAINS THE PRINTB AND PRINTX CALLS IT ALSO INCLUDES THE ASCII MESSAGES : THAT ARE USED IN MORE THAN ONE TEST. 817 818 819 820 821 822 823 005752 829 016546 016746 012746 012746 010600 104414 062706 006112 006112 006114 843 006116 006116 006116 845 006120 006120 006120 006120 006124 006130 006134 THAT ARE USED BY THE PRINTB AND PRINTX CALLS.. DTAERM: 016546 830 841 : 003376 003326 175546 006436 006530 000001 010267 010367 010467 004767 016702 010367 016703 016704 001034 016746 012746 012746 010600 104414 062706 DTAERM DATERM: :PRINTB @STAER1, TSNP ,PASCNT(RS),RECCNT(RS) PRINTB RECCNT(RS), -(SP ) PASCNT(RS), -(SP ) OSTAER/ ADD 012,SP MOV MOV MOV TRAP R2,RECRED R3,TIMEL R4, TIME2 175376 002016 001014 001010 175354 175352 PC,RECTAP RECRED,R2 R3,RECRED TIMEL1,R3 TIME2,R4 O@STAER6 ,RECRED 000774 :SAVE R2 EXIT 104423 003376 003326 175400 006436 SP,RO CS$PNTB OSTAER7,-(SP) C$PNTB 04,SP :SAVE R4 sRETRIEVE RECORD READ sRESTORE R2 sSAVE RECORD READ tRESTORE R3 sRESTORE R4 :PRINT RECORD READ MSG .EVEN L10002: ADD TSNP, -(SP) OSTAER], -(SP) :SAVE R3 000002 000167 016546 016546 016746 012746 MOV MOV MOV MOV MOV MOV TRAP 000012 012746 012746 010600 104414 BGNMSG MOV MOV MOV RECRED, -(SP) TRAP ADD CSPNTB @STAERG, -(SP) SP,RO 06,5P JEUMP .WORD .WORD L10002-2-. TRAP C$MSG MOV MOV MOV MOV RECCNT(RS), -(SP) PASCNT(RS), -(SP) ENDMSG BGNMSG STAERM:; STAERM: :PRINTB STAERM O@STAER1, TSNP ,PASCNT(R5) ,RECCNT(RS) OSTAER], -(SP) ——— MACRO M1113 GLOBAL ERROR REPORT SECTION 006140 006144 006146 006150 847 006154 006154 006160 006164 006166 006170 856 857 858 859 012746 010600 104414 062706 012746 012746 010600 104414 062706 016702 042702 005302 005702 001016 004767 010367 14-JUN-84 18:32 SEQ 0057 000004 MOV 000012 TRAP ADD PRINTB OSTAER7 MOV MOV MOV 006530 000001 000004 174130 177740 MOV 8IC DEC R2 +IF CMD IS A READ BNE JSR MOV PC,RECTAP R3,RECTAP s AND TST 001646 001642 016746 012746 012746 010600 104414 062706 000640 012746 012746 010600 104415 062706 006616 000001 016746 016746 016746 017546 016746 012746 012746 010600 104415 062706 175156 175156 174056 002514 174016 006675 016746 016746 016746 012746 012746 010600 174000 173772 173764 PRINTB O@STAER6 ,RECRED s TYPE RECORD READ 000002 : PRINTX PRINTX 000006 000016 PRINTX 000012 016746 016746 016746 016746 016746 012746 174000 173772 173764 173756 173750 006753 SP,RO MOV MOV MOV MOV TRAP ADD RECRED, -(SP) OSTAERG, -(SP) 02, -(SP) SP,RO OSTAER2 MOV MOV MOV O#STAERZ2, -(SP) ADD OSTAER3,CMOPKT ,8TSDB(RS) ,MSGPKT+MS.RFC, TSSREG,CTCC MOV MOV MOV MOV MOV MOV MOV MOV O@STAER4 ,CMOPKT+2,CMOPKT+4 ,CMOPKT+6 TRAP ADD MOV 04 ,5P CS$PNTB 06,SP SP,RO C$PNTX 04SP CTCC,-(SP) TSSREG, -(SP) MSGPKT +MS.RFC, -(5P) 8TSDB(RS), -(SP) OSTAER3, -(SP) SP,.RO CSPNTX #16,SP CMOPKT+6, -(SP) CMOPKT+4,-(SP) CMOPKT+2,-(SP) OSTAER4, -(SP) 006733 104415 062706 OSTAER7,-(SP) CS$PNTB TRAP 000004 #12,5P ;s THEN RETRIEVE 006562 000006 SP,RO CS$PNTB TRAP CMOPKT,R2 #177740,R2 04, -(SP) PRINTX ADD SP,RO CSPNTX e12,SP OSTAERS ,MSGPKT +MS . XSO ,MSGPKT +MS . XS1 ,MSGPKT +MS . XS2 ,MSGPKT +MS . XS3 ,MSGPKT +MS . XS MOV MOV MOV MOV MOV MOV MSGPKT +MS . XS4, -(SP) MSGPKT +MS . XS3, -(SP) MSGPKT +MS.XS2, -(SP) MSGPKT+MS . XS1, -(SP) MSGPKT+MS, XSO, -(SP) e GLOBAL AREAS MACRO M1113 GLOBAL AREAS SECTION REPORT GLOBAL ERROR 006416 006422 006424 860 006432 012746 010600 104415 062706 MOV MOV 000016 ADD EXIT 000167 000432 865 006530 867 006616 STAER1: eeghl‘l NLIST BEX 101 123 116 120 061 045 STAER7: STAER6: STAER2: STAER3: STAER4: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCII .ASCII .ASCIZ .ASCII /#APREVIOUS CMD WAS XXX / /#S11%A+ RECORD READ:%DS#A »/ /79NSACMDPK THS28ATSBASSASARF CHSSSATSSRES3SATCCEN/ /#064S2%06%S2406%S2406%S2%D 18N/ /#06%N/ /#06%N/ /#06%N/ /#AXSTOSSASAXST1SS4ASAXST28S4SAXSTINSASAXSTASN/ LIST BEX 101 872 006753 873 007027 874 875 876 007066 878 007070 007070 007070 130 117 117 117 117 869 006733 870 006740 871 006745 117 STAERS: RECRED: 104423 MSG 101 33334 045 SEQ 0058 000006 861 863 006436 G5 14-JUN-84 18:32 L10003: .SBTTL .ASCIZ .EVEN .WORD O TRAP GLOBAL SUBROUTINES SECTION TEST HEd : sROUTINE TO DO A SOFT INITIALIZE OF THE CONTROLLER ;8Y WRITING INTO THE TSSR REGISTER. AFTER THE INIT, s THE TSSR REGISTER IS TESTED FOR ERRORS. ANY ERRORS sDETECTED SHOULD BE TREATED AS DEVICE FATAL ERRORS. 3 ; INPUTS; RS CURRENT UNIT NUMBER RO CARRY CONTENTS OF TSSR, IF ERROR SET IF INIT WAS OKAY CLEAR IF FATAL ERROR H 3 ;:OUTPUTS H JsuMP L10003-2-. ENDMSG :+ THAT ARE USED IN MORE THAN ONE 3 3 H .WORD .WORD #16,5P ;sRECORD READ FROM TAPE 8-- : CSPNTX /#06%S2406%S2%06%S2806%S2806%N/ : THE GLOBAL SUBROUTINES SECTION C(NTAIN.. THE SUBROUTINES : TRAP /8AXXX CMD FAILED - UNIT sD1#S3#APASS :#DS#S3%ARECORD : $DS#N/ e 3 06, -(SP) SP,RO ;CALLING SEQUENCE: PC,FIRSTU JSR 3 CIMSG GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION HS 14-JUN-84 18:32 JSR BCS 909 910 911 912 ERRDF SEQ 0057 PC,SOFINIT CONTINUE sREPORT FATAL ERROR 913 914 SOF INIT:: 915 007072 916 917 007072 918 007100 919 007104 920 007110 921 007114 922 007116 007116 007122 007124 007130 007132 007136 007140 007144 923 007146 924 007150 925 007152 926 007156 927 007160 928 007164 929 007170 930 007172 931 007174 932 007176 933 007200 934 007202 012775 000000 004767 012703 004767 103416 003574 000550 000070 012727 000000 016727 000000 005367 001375 005367 001367 005303 001357 017500 010004 042704 0527C«4 000250 (02524 24: MOV JSR MOV JSR BCS DELAY s+ (SAVREG) SAVE THE REGISTERS : DO THE INIT, 90,8TSSR(RS) PC,WSSR sWAIT FOR UNIT TO BE READY ©360. ,R3 gC.HAITF + WAIT FOR SSR $ 250 MOV . WORD MOV . WORD DEC BNE 172766 177772 177756 DEC BNE 23 002524 3s: MOV $ 8TSSR(RS),RO 8250.(9(:)0 %‘NY.(PC)O -6(PC) .-4 -22(PC) . -20 ;:GET THE TSSR REGISTER RO,R4 s TSSR CONTENTS 0tC<TS.A17!TS.A16!TS.OFL> R4 176277 002200 #TS.SSR!TS.NBA,R4 tR4 HAS EXPECTED CONTENTS S4 1BRANCH IF OKAY R4,RO Ss: 10¢: SEC RTS sONLY EXPECTED BITS SET ? ;CLEAR THE CARRY FOR ERROR 104 1GO TO EXIT PC tRETURN TO CALLER 1SET THE CARRY RIT : SUBROUTINE TO WAIT FOR THE SUBSYSTEM READY FLAG H ;sINPUTS: B RS CURRENT UNIT NUMBER CONTENTS OF LAST TSSR READ SET - READY BIT SET CLR - TIMEOUT WAITING FOR READY 950 007204 007204 951 007206 952 007212 953 007216 954 007220 955 007222 007222 104422 012746 017500 105700 100420 012727 + DO A SUPVSR BREAK FIRST. WAITF:: BREAK 005670 002524 000025 24: MOV MOV TSTB BMI DELAY 03000.,-(SP) 8TSSR(RS),RO + 300 MSEC TIMER. tREAD THE TSSR REGISTER 25 s WAIT RO 34 TRAP C$BRK MOV 025,(PC)+ : TEST FOR READY BIT SET s EXIT ON STOP FLAG. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 007226 000000 14-JUN-84 18:32 SEQ 0060 .WORD O 007230 016727 172662 MOV L$DLY,(PC). 007236 007242 007244 007250 005367 001375 005367 001367 177772 DEC BNE DEC BNE -6{PC) .-4 -22(PC) .-20 958 007256 959 007260 000241 000401 007234 956 007252 957 007254 960 007262 961 007264 962 007266 963 964 965 000000 .WMORD 177756 005316 001356 DEC BNE 000261 005326 3s: 4%: 000207 CLC BR SEC DEC RTS (SP) 24 43 (SP)e PC H s INPUT: : : R4 : RS 3_7,3 H ADDRESS OF COMMAND PACKET CURRENT UNIT NUMBER REQUIRES A CALL TC SOFINIT BE DONE PREVIOUSLY H 976 977 978 ;OUTPUT; B : RO ggg sIMPLICIT OUTPUT: 979 3:? H 5 H 3 : H 988 : 989 SOFTWARE SWITCHES SET AS FOLLOWS: EXTFEA = EXTENDED FEATURES PRESENT BENBSW = BUFFER ENABLE SWITCH ON OR OFF i H ;010475 004767 998 007302 000421 1000 007306 1001 007310 011402 011203 1005 007326 SET - WRITE CHARACTERISTICS COMMAND OK CLR - WRITE CHARACTERISTICS FAILED :sSIDE EFFECTS: 995 007270 996 007274 1004 007322 TSSR CONTENTS H 990 991 992 1002 007312 1003 007320 CARRY B 984 985 3:_6, 999 007304 s C = 1, CONTROLLER IS STOPPED. ;RESTORE STACK WITHOUT CHANGING CARRY BIT sROUTINE TO ISSUE A WRITE CHARACTERISTICS COMMAND AND CHECK FEATURES 970 971 972 973 997 007300 s C = O, CONTROLLER STILL RUNNING... $...0R HUNG-UP AFTER 300 MSEC. H gg 993 994 007270 sREDUCE DELAY COUNT sRETRY UNTIL TIMER EXPIRES O 103401 WRTCHK :: 002514 177704 10¢: 005267 40%: 000200 172774 R4 ,8TSDB(RS) PC.WAITF :SEND OUT COMMAND 1WAIT FOR SSR BR 604 ;BR IF TROUBLE CARRY = CLEAR MOV MOV (R4),R2 (R2),R3 ;POINT TO WRT CHARA DATA PACKET ;GET ADDRESS OF MESSAGE BUFFER EXTFEA :1SET EXTENDED FEATURES SW SWITCH BCS 005724 032763 001402 MOV JSR 000012 TST BIT BEQ 454 INC 404 (R4). X2 .EFE ,MS.XS2(R3) 454 s1BR, IF SSR IS SET AND OK ;:STEP IT ;EXTENDED FEATURES BIT SET? 18R IF NO GLOBAL AREAS MACRO M1!13 GLOBAL SUBROUTINES SECTION 1006 007326 1007 007334 032763 001402 1008 007336 005267 1012 007346 1013 007350 000261 000401 000241 017500 000207 1009 007342 1010 007342 1011 007344 1014 007354 1015 14-JUN-84 18:32 000100 000012 172762 BIT BEQ 50¢: S5¢: 60$: 70%: 002524 1016 3 1019 : 1018 H 1022 1023 : : 1024 : 1025 1026 007356 SEC BR 70% RTS PC cLC MOV 8TSSR(RS),RO ;SET SOFTWARE SWITCH FOR ENABLED $SET CARRY NO TROUBLE sEXIT ;:CARRY CLEAR = ERROR sRETURN TSSR CONTENTS ;RETURN 010475 004767 1030 007370 000420 1032 007374 1033 007376 1034 007400 011402 011203 032763 1029 007366 1031 007372 1035 007406 1036 007410 007410 103401 001407 1039 007426 1040 0C7430 000261 000401 1042 007434 1043 007434 1044 1045 002514 177616 10$: ADDRESS OF COMMAND PACKET CURRENT UNIT NUMBER MOV JSR R4 ,8TSDB(RS) PC,WAITF :SEND OUT COMMAND ;WAIT FOR SSR BR 60$ ;BR IF TROUBLE CARRY = CLEAR MOV MOV BIT (R4),R2 (R2),R3 OXO0.WLK,MS.XSO(R3) BCS 40%: 000004 000006 004767 000402 000241 000207 TST BEQ ERRHRD 104456 000001 005653 000000 1041 007432 WLKCHK :: 005724 007412 007414 007416 1037 007420 1038 007424 R4 RS 3~ 1027 007356 102R 007362 007554 55¢: 60$: 70%: 1046 ;¢ 1050 s INPUT 1055 1056 1057 1058 BENBSW s INPUT: 1021 1052 1053 1054 INC ;+BUFFER ENABLE SWITCH SET ;BR, IF SWITCH NOT SET ;ROUTINE TO CHECK WRITE LOCK CONDITION 1020 1051 #X2.BFE ,MS,XS2(R3) S0¢ R 1017 1047 {g:g SEQ 0061 JSR BR SEC BR cLC RTS 40% (R4). 554 1,UNIMWLK PC,DROPV 60 :BR, IF SSR IS SET AND OK sSTEP IT ;POINT TO WRT CHARA DATA PACKET ;:GET ADDRESS OF MESSAGE BUFFER ;IS UNIT WRITE LOCKED? ;NO,.PROCEED WITH TESTING ;TAPE IS WRITE LOCKED ;OROP IT :EXIT WITH CARRY=0 704 :SET CARRY NO TROUBLE EXIT PC ;RETURN ;CARRY CLEAR = ERROR : ;ROUTINE TO ISSUE A WRITE CHARACTERISTICS COMMAND 3 B 3 3 ; R4 RS ADDRESS OF COMMAND PACKET CURRENT UNIT NUMBER RO TSSR CONTENTS REQUIRES A CALL TO SOFINIT BE DONE PREVIOUSLY ‘ ;OUTPUT ; : i TRAP .WORD .WORD .WORD EOEMD UNIWLK 0 IK<5 GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 14-JUN-84 18:32 CARRY 1059 1060 1061 1062 - WRITE CHARACTERISTICS COMMAND OK - WRITE CHARACTERISTICS FAILED IMPLICIT OUTPUT 1063 1064 1065 1066 1067 1Cs8 1069 1070 1071 007436 1072 007436 1073 007442 1074 007446 1075 007450 1076 007452 1077 007452 1078 007454 1079 007456 SET CLR SIDE EFFECTS: 010475 004767 103401 002514 177536 000402 WRTCHR: 10%: : S0$: 000261 000241 017500 000207 002524 604: 70%: MOV JSR BCS BR SEC BR cLC MOV RTS R4 ,8TSDB(RS) PC,.WAITF :SEND OUT COMMAND sWAIT FOR SSR 504 60¢ 1BR, IF SSR IS SET AND OK :BR IF TROUBLE CARRY = CLEAR :SET CARRY NO TROUBLE sEXIT ;CARRY CLEAR = ERROR ;RETURN TSSR CONTENTS ;RETURN 704 8TSSR(R5),RO PC HE : ;ROUTINE TO DO SET UP OF RUNNING CONDITIONS H ;s INPUTS: 3 : RS CURRENT UNIT NUMBER 3 H ;OUTPUTS: 3 3 sCALLING SEQUENC E: PC,.FIRSTU JSR : PC,SOFINIT JSR ; CONTINUE BCS H ERROF H PC,MOSET JSR 3 1100 1101 1102 1103 1104 1105 007466 007466 1106 007470 1107 007474 1108 007500 1109 007502 007502 007506 007510 007514 007516 ;REPORT FATAL ERROR H ‘- 104422 004767 004767 103416 012727 000000 016727 000000 005367 : DO A SUPVSR BREAK FIRST. MDSET:: BREAK 000272 177656 000001 172402 177772 JSR JSR BCS DELAY PC,SETDEF PC, WLKCHK i$ ;RESTORE DEFAULT ;CHECK WRITE LOCK ;C=1 IS 0.K. sWAIT TRAP C$BRK MOV .WORD MOV .WORD 81.(PC)0 DEC I6$DLY.(PC)0 -6(PC) MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 007522 007524 007530 1110 007532 001375 005367 001367 007532 104422 007534 104444 1111 007534 1112 007536 1113 007542 1114 007544 1115 007550 1116 007554 005767 001064 004767 004767 005767 001415 052767 005767 001002 004767 004767 004767 000443 005767 001415 052767 005767 001002 004767 004767 004767 000423 005767 001415 052767 005767 001002 004767 004767 004767 000403 016767 14-JUN-84 18:32 SEQ 0063 177756 $BREAK TO SUPER 100 CLEAN AND ABORT 172550 1$: sRUN IN DEFAULT MODE? 173742 000122 000160 2%: 172476 3s: 177624 000030 172466 4% 172434 S$: 177564 000020 172426 173612 104 OEF .RBO, TSUNT EXTFEA 64 10¢: TSUNT,SCHBK +10 ;AND UNIT ¢ 11%: PC ;:RETURN 114 000207 H PC,SETDEF PC,.WRTCHR PC,INVRT 64: 172562 : SUBROUTINE TO INVERT SENSE OF EXT'D FEATURES SWITCH : s INPUTS: : : : s OUTPUTS: 1159 1160 007724 1161 007724 012767 140006 172376 INVRT:: TRAP CS$DOCLN azgu WITH READ BUFFERING? sYES SET THE BITS ;ARE WE SET? : YES ;sINVERT THE SWITCH ;NOW SET THE MODES ;00 IT 173642 000022 000060 177524 C$BRK tRUN WITH WRITE BUFFERING? :NO ;:YES SET THE BITS ;ARE WE SET? : YES ;sINVERT THE SWITCH ;NOW SET THE MODES ;00 IT 173702 000062 000120 TRAP sRESTORE DEFAULT :GO DO SWITCH CHECK ;D0 WE RUN AT 100IPS? sNO s YES,SET THE BIT ;:ARE WE SET? s YES ;sINVERT THE SWITCH sNOW SET THE MODES ;00 IT 177514 172540 172526 -22(PC) .-20 s YES,RETURN 000216 000040 BNE DEC BNE MOV OWSM, CMOPKT +CP.CMD iWRT SUB-SYS MEM o<l MACRO M1113 GLOBAL SUBROUTINES SECTION 012767 012767 012767 012704 004767 000207 002506 000006 100010 002330 177452 172372 172370 172532 s INVERT THE SWITCH : ;00 IT sRETURN : SUBROUTINE TO SETUP DEFAULT SET CHAR CMD 3 ; INPUTS: 3 3 : 012701 010167 012767 012767 012767 016767 012704 000207 140004 172332 002474 000012 173506 002330 SETDEF : : 172326 172324 172462 172456 ADDRESS OF COMMAND PACKET OSCH . R1 OCMDPKT R4 PC ; ;OUTPUTS:: 173432 TO HANDLE TSOS INTERRUPTS. ;WRITE CHAR CMD #SCHBY ,CMDPKT +CP . ADL sSET UP ADR LO TO POINT TO MSG BUF (MSGPXO) R1.CMDPKT+CP.CMD OSCHONT ,CMDPKT «CP . CNT O0F TSCH, SCHBK +6 TSUNT ,SCHBK «10 TSSINO: : ;SET UP COMMAND :SET BUFFER EXTENT 1 STORE CHARACTERISTIC CODE IN SCH BLOCK. ;UNIT @ ;ADDRESS OF CMD PACKET ;RETURN TSSINO INTFLG ;SET INTERRUPT OCCURRED FLAG. L 10004: 173426 RTI TSSIN1 TSSINL:: INTFLG.2 ;SET INTERRUPT OCCURRED FLAG. L10005: 005267 173422 TSSIN2: : L10006: 1205 1206 010056 010056 1207 010056 1208 010062 :MSG BUF ADDR ;BYTE COUNT : < 1190 1191 1192 1193 1194 010034 010034 1195 010034 1196 010040 010040 010040 1197 1198 010042 010042 1199 010042 1200 010046 010046 010046 1201 1202 010050 010050 1203 010050 1204 010054 010054 010054 OWSMB , CMOPKT K +CP . ADL T . CNT +CP 06,CMOPK 2100010, WSMBK OCMOPKT R4 PC,WRTCHR PC MOV MOV MOV MOV JSR RTS 1174 1175 1176 1177 1178 1179 1180 007766 1181 007766 1182 007772 1183 007776 1184 010004 1185 010012 1186 010020 1187 010026 1188 010032 1189 SEQ 0064 32 1.62 007732 1163 007740 1164 007746 1165 007754 1166 007760 1167 V07764 1168 1169 1170 1171 1172 1173 1a -JUN -84 18:32 +2383333 GLOBAL AREAS 173416 TSSINS:: RTI TSSIN2 INC ENDSRV INTFLG.4 ;SET INTERRUPT OCCURRED FLAG. RTI TSSIN3 INC ENDSRV INTFLG+6 ;SET INTERRUPT OCCURRED FLAG. MACRO M111% GLOBAL AREAS SECTION INES SUBROUT GLOBAL SEQ 0065 L10007: RTI 000002 T mtm TO RETRIEVE RECORD COUNT READ FROM TAPE FOR ERROR P 1209 1210 1212 1215 1213 010062 010062 14 JUN-84 18:32 D 1214 LU 1215 1216 1217 010064 1218 010072 1219 010074 1220 010100 1221 010104 1222 010110 1223 010112 1224 010114 1225 010116 1226 010122 1227 010124 1228 01012¢ 1229 010132 1230 010134 1231 1232 010136 1233 019136 1234 010140 1235 010144 1236 010146 1237 010150 1238 010150 1239 010152 1240 010152 1241 010154 1242 010154 1243 1244 010160 010160 032767 001430 016702 066702 032702 001417 005202 111203 142703 000303 005302 105767 001401 005302 111204 142704 050403 000400 173326 INPUTS: OUTFUTS: R3 = RECORD COUNT READ REGISTERS: R2, R3, R4 CALLS: RECTAP: : BIT BEQ MOV ADD BIT BEQ INC 172260 173304 000001 MOV BICB 177400 Swi DEC TST8 173366 BEQ DEC S0003s : 177400 MOVB BICB #M0D .CO,CMDWRD RE R2 SJBFLG S0003s R2 (R2).Ra ©177400,Ra BIS R4 ,R3 011203 MOV (R2),R3 000402 BR S0005$ MOV @DATARD,R3 RTS PC 000207 ;FIND LAST READ AD. ;000 AD., REASSEMBLE ;REC COUNT STARTING ;WITH UPPER BYTE FETCH (R2),.R3 €177400,R3 BR 173230 ;READ REV FET(CH S0001$ MSGPKT +MS _RFC ,R2 DATARD ,R2 #BIT00,.R2 S0002$ He 000401 017703 pr ;LET R2 := R2 - @1 ;IFB SWBFLG NE 00 THEN ;LOMER BYTE AD. ;LET R2 := R2 - 01 » ;LOMER BYTE AD. ON SWAP ;FETCH LUWER BYTE S0004's ;LET R3 := (R2) SUBROUTINE TO STORE A ;EVEN AD. FETCH ;LET R3 := SDATARD ;READ FUWD FETCH SET CHARACTERISTIC COMMAND AS THE FIRST ENTRY IN YTHE SEQUENCE TABLE. INPUTS: OUTPUTS: REGISTERS: CALLS: 010162 010162 010166 010172 010176 010202 010204 012701 012721 012721 012721 005721 000207 003540 140004 000001 SETCH: : MOV #CMDSEQ,R1 ;INIT CMD SEQUENCE TABLE POINTER. MOV MOV ODFTSCH,(R1)+ #1,(R1) ;COMMAND AS THE FIRST COMMAND IN THE : SEQUENCE TABLE. nov TST RTS PC @SCH,(R1)+ (R1). ; THIS CODE SETS UP A SET CHARACTERISTIC ;SKIP PATTERN LOCATION. %tgsggTI'i TO STORE A REWIND COMMAND IN THE SEQUENCE TABLE B¢ GLOBAL AREAS MACRO M111% GLOBAL SUBROUTINES SECTION 14 JUUN-84 18:32 1264 1265 1266 1267 : : : 1268 010206 1269 010212 012721 012721 1271 010222 1272 010224 005721 000207 1270 010216 1273 1274 012721 OUTPUTS: REGISTERS: CALLS: SETRM:: MOV MOV 102010 000001 000001 MOV TST RTS : 1275 1276 1277 12;3 01,(R1). 10 OF OPERATIONS. (R1). PC ;SKIP PATTERN. s RETURN SUBROUTINE TO EXECUTE ALL COMMANDS IN THE SEQUENCE TABLE ON ALL DEVICES. INPUTS: : REGISTERS: : sCMD = REWIND. 18BRF, ORWD,(R1). 01,(R1). : : : 1278 12 SEQ 0066 OUTPUTS: R2 = TERMINATION INDICATOR (O=END OF TABLE,1+EOT) CALLS: CMDAC,SETUP ,EXSUB,CKHAE ,NEXTU,FIRSTU,VFYDAT, 1281 010226 012701 003540 EXALL:: MOV oCMDSEQ,R1 s INIT SEQUENCE TABLE POINTER. 1283 010232 1284 010236 1285 010240 021127 001530 004767 177777 ce BEQ JSR (R1),0END S0007$ PC,SETUP sWHILE THERE ARE CMDS IN THE SEQUENCE TABLE. 010244 1287 010246 1288 010254 1289 010256 1290 010262 1291 010266 1292 010270 1293 010276 1294 010300 104422 026767 002116 004767 105767 001435 026727 001031 105767 cHP BGE JSR 7S78 BEQ cHp BNE 1818 NCWT ,NCNT1 S0011¢ PC,.CMDAC RANDOM S0012¢ CMDURD , WRT S00134 VFYFLG 1282 010232 1286 010244 1295 010304 1296 010306 1297 010314 1298 010322 1299 010330 1300 010336 1301 010344 ggg 010346 1304 010354 ig 010354 1307 010362 1308 1309 010362 1310 1311 010362 1312 010362 1313 010366 1314 010372 giz 010376 1317 010402 1318 010402 1319 010410 S00064: 000726 173140 50010%: BREAX 173140 000602 173227 173124 104005 173212 001026 066767 066767 016767 046767 026727 002003 012767 173122 173112 173106 173074 173054 173116 173112 173066 173060 000022 000022 173042 016767 173036 171754 BNE ADD ADD MOV 8IC cw BGE MOV S0015%: S00144 RANS , RANB RANB , RANS RANS , BRFCNT LENMSK ,BRFCNT BRFCNT,018. S001S¢ 018. ,BRFCNT GO SETUP THE COMMAND BLOCK. s DO A SUPVSR BREAK FIRST, TRAP sWHILE THERE ARE RECORDS "EMAINING: C$BRK sSTORE CMD ASCII IN ERROR MESSAGE. sIF IN RANDOM MODE : sIF CMD IS A WRITE THEN: :IF DATA IS NOT TO BE VERIFIED THEN: ;LET RANB := RANB « RANS ;GENERATE sLET RANS := RANS + RANB ;RANDOM sLET BRFCNT := RANS sLENGTH sMASK RANDOM LENGTH. ;00 NOT ALLOW BYTE COUNT OF LESS THAN 18 ;CHANGE COUNT OF 0-17 TO 18. MOV BRFCNT ,CMDPKT «CP ,CNT JSR JSR MOV JSR PC,.EXSUB PC,CKHAE 01,.R2 PC.FIRSTU cHP DEVTBL(RS), #END tMOVE BRF TO CMD PACKET. S0014%: S00134: 004767 004767 012702 004767 000136 007106 000001 006500 026527 002604 001426 S00124: 177777 500164 : BEQ 500174 ;ISSUE CMD TO ALL,AWAIT INTS,CHECK STATUS. ;CHECK MALT AFTER EACH CMD FLAG. tLET R2 := 01 :SET ALL UNITS AT BOT/EOT. sFIND FIRST UNIT. tWHILE THCRE ARE MORE UNITS: GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 14 JUN-84 18:32 1320 010412 032767 000400 173000 000002 003502 1321 010420 1322 010422 001406 032765 1324 010432 005002 1323 010430 001001 1325 500218: 1328 010436 1329 010436 032765 000001 003502 50020: 1331 010446 032767 000001 172744 1330 010444 001404 1332 010454 1333 010456 1334 1;;2 010456 1 001001 005002 1340 010460 1341 010464 004767 000746 006464 1343 010466 1344 010472 {33:2 010474 020227 001001 000412 000001 1348 010476 {g 010502 005267 016767 172710 172712 1351 010510 000655 1353 010512 004767 1356 010516 000645 1342 010466 1347 010476 1352 010512 gg; 1357 010520 1358 010520 isxsg 010522 BNE 50021$ CLR R2 BE 50022 BIT ;IF CMD IS REVERSE THEN: 50020 0%0.B0T,EOTFLG(RS) ;IF NOT AT BOT THEN: tLET R2 :+ 00 ;CLEAR EQT/BOT FLAG. ;ELSE IF CMD IS NOT REVERSE: X0 .EOT,EOTFLG(RS) BEQ 50023 ENE 50024 CLR R2 JSR B8R PC,NEXTU 500164 sFIND NEXT UNIT cP BNE I R2,01 500254 EXARTN sIF ALL UNIT ARE AT EOT/BOT THEN: INC MOV NCNT sLET NCNT := NCNT .+ 01 ;UPDATE RECORD COUNT. CMOWRD , PCMOWD :SAVE PREVIOUS COMMAND WORD. 8R S0010$ JSR PC.VFYDAT ar S0006 CLR R2 oCMD . CO, CMOWRD +IF NOT AT EOT OR NOT A MOTION CMD THEN: ;CLEAR EOT/BOT FLAG. 500244; 1338 1339 010460 oMOD . CO, CMOWRD BIT 50023: 1337 010460 8IT eEQ BIT 1326 010434 1327 010434 000411 SEQ 0067 500224: S0017$: 500254: 172714 S0011%: 005350 S0007$: 005002 000207 EXARTN: RTS PC 1361 1362 ;RETURN WITH R2 = o1. ;LET R2 ;IF LAST CMD WAS A WRITE VERIFY, THEN GO {VERIFY THE LAST N RECORDS OF DATA. := 00 ;SET NORMAL RETURN INDICATOR. {RETURN. 1363 1364 1365 1366 ; : : ; SUBROUTINE TO ISSUE COMMAND TO ALL DEVICES, WAIT FOR ALL INTERRUPTS, AND CHECK ALL STATUS. INPUTS; OUTPUTS: ggg : CALLS: 1367 : 1370 010524 1371 010530 004767 006352 1372 010530 1373 010536 026527 002604 177777 1374 010540 1375 010546 001465 032767 001421 000400 172652 000002 003502 1376 010550 032765 REGISTERS: EXSUB:: JSR 500266: EXCUTE ,GOWAIT ,NEXTU,FIRSTU. PC,FIRSTY ;SET UP FOR FIRST UNIT, cHP DEVTBL(RS ), 9END ;WHILE THERE ARE MORE DEVICES: BIT BEQ oM0D . CO, CMDWRD 500 304 BEQ BIT 500274 oX0.80T,EOTFLG(RS) ;IF CMD IS REVERSE THEN: +IF NOT AT BOT GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1377 010556 1378 010560 1379 010566 1380 010570 1381 010574 1382 010576 1383 1384 010602 1385 010602 1386 010604 1387 010604 1388 001014 032765 001406 105767 001402 004767 14 JUN-84 18:32 000001 TST8 172730 001252 S0033s: S0032¢: 001244 1389 010610 1390 1391 010610 1392 010610 1393 010612 1394 010612 1395 010620 1396 010622 1397 010630 1398 1399 010632 1400 010640 1401 1402 010644 1403 010644 1404 010652 1405 010654 1406 010662 1407 010664 SEQ 0068 BNE BIT BEQ 003502 000402 004767 D6 50031 oX0.EOT ,EOTFLG(RS) 500324 ALLEOT 50033¢ 3BUT IF AT EOT 1AND ALL OTHERS AT EOT BEQ JSR PC,EXCUTE BR 50034 JSR PC.EXCUTE sNOT AT EOT, 500354 sELSE IF CMD IS NOT REVERSE: s THEN EXECUTE REV CMD s IF NOT ALL AT EOT, FREEZE UNIT(S) AT EOT s IF NOT AT B80T AND EXEC REV CMD S0034$: S00314: 000435 026727 001011 032765 172610 003502 001405 016567 005077 002616 172646 CLR S00364: 8IT BIT 172536 S0037¢: JSR 001164 000405 105767 001402 004767 BIT BEQ 172652 003502 032765 001404 032767 001003 004767 S00304: 172626 S0040%: 001150 CMOLG, 2 50036 #X0.80T,EOTFLG(RS) 500364 BTADDR(RS),BTPT 8BTPT sCLEAR BAD SPOT COUNTS WHEN WRITING FROM BOT sLET BTPT := BTADDR(RS) sLET @8BTPT := 00 #X0.EOT,EOTFLG(RS) 500374 oCMD.CO, CMDWRD 500404 PC.EXCUTE +IF NOT AT EOT OR NOT A MOTION CMD THEN: :ISSUE CMD TO TSOS 500414 TST8 ALLEOT 500424 JSR PC.EXCUTE JSR PC.NEXTU :IFB ALLEOT NE 00 THEN S0042%: 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 010704 010704 010704 010710 010712 010712 010716 010720 010724 010724 1430 010726 1431 010726 1432 010732 S00414: 004767 006240 000707 105767 001403 105067 172601 S00274: 006150 S00434: S0044%: sFIND NEXT UNIT IN TEST CYCLE. 50026¢ 1578 CLRB DORPT 172573 104424 004767 S0035%: JSR RPTFLG S0043¢ RPTFLG PC.FIRSTY + IF REPORT HAS BEEN REQUESTED THEN: 1CLR THE FLAG, tPRINT THE PERFORMANCE REPORT. 1SET UP FOR FIRST UNIT, TRAP CSDRPT GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1433 010732 1434 010740 1435 010742 1436 010750 1437 010752 1438 010760 1439 010762 1440 010770 1441 010772 1442 010776 1443 011000 1444 026527 001450 032767 001421 032765 001014 032765 001406 105767 001402 004767 14-JUN-84 18:32 1447 011004 1448 011006 1449 011006 1450 1451 011012 1452 1453 1454 011012 1455 011012 1456 011014 1457 011014 1458 011022 1459 011024 1460 011032 1461 011034 1462 1463 011034 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 R 1484 1485 1486 1487 1488 1489 011040 011042 011042 011046 011050 SEQ 0067 002604 177777 cMe DEVTgL(RS).OEM) 000400 172450 003502 oM00D . CO, CMOWRD 50046$ ox0. 807 EOTFLG(RS) +IF CMD IS REVERSE THEN: 000002 BIT BEQ BIT 000001 003502 oX0.EOT ,EOTFLG(RS) ;BUT IF AT EOT BNE BIT 001360 000402 004767 BEQ 500514 ALLEOT sAND ALL OTHERS AT EOT JSR PC,GOWAIT s THEN WAIT FOR CMD END +IF NOT ALL AT EOT, DO NOT WAIT BR 50052¢ " JSR 001352 sNOT AT BOT, AND NOT AT EOT PC,GOMAIT sWATT FOR INT,CHECK STAT 50053 ;ELSE IF CMD IS FORWARD: 500524: S0047$: 000420 003502 032765 001404 032767 001003 004767 172366 105767 001402 004767 172456 50055% : 011054 500564: 004767 000724 000207 006070 50054$ #CMD. CO, CMOWRD JSR PC,GOWAIT B8R 500564 TST8 ALLEOT JSR PC,.GOWAIT JSR PC,NEXTU BR 50044 RTS PC BEQ 001310 S00534: 500454 : 0X0.EOT,EOTFLG(RS) BEQ BIT BNE 001324 000405 B8R " BIT S0057%: 011060 011062 011062 500504 ;IF NOT AT BOT 50051¢4: 011054 011054 011054 tWHILE THERE ARE MORE DEVICES: 500474 BEQ TST8 172526 1445 011004 1446 E6 50055+ s IF NOT AT EOT OR NOT A MOTION CMD THEN: sWAIT FOR INT,CHECK STATUS. ;IFB ALLEOT NE 00 THEN 500574 sFIND NEXT UNIT IN TEST CYCLE. tRETURN. 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 PCMOWD CONTAINS PREVIOUS CMD. INPUTS: OUTPUTS: REGISTERS: CALLS: R3, R4, GCMDA e— 6 GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1499 011064 1491 011070 1492 011074 1493 011100 1494 011104 1495 011110 1496 011114 1497 011120 1498 011124 1499 011130 011134 016704 004767 112367 112367 111367 016704 004767 112367 112367 111367 000207 14-JUN-84 18:32 CMDAC: 172330 000042 SEQ 0070 : MOV JSR MOVB MOVB MOVBe MOV JSR MOve MOVB MOve 175340 175335 175332 172310 000016 175430 175425 175422 RTS CMOWRD ,R4;LET R4 := CMDWRD sR4 = CMD BINARY, PC,GCMDA sGET CMD ASCII. (R3)+,STAER1+2 .$MOVE CMD ASCII (R3)+,STAER]1+3 : (R3), STAERIM s INTO MSG. Pcmw tR4 = PREVIOUS CMD BINARY. PC, GC'DA sGET CMD ASCII. (RS)o STAER7+24 sMOVE CMD ASCII (R3). .STAER? +25 (R3),STAER7+26 s INTO MSG. PC sRETURN. GO EXECUTE NEXT FUNCTION. SUBROUTINE TO FIND THE ASCII EQUIVILENT OF THE COMMAND IN R4, ADDRESS OF ASCII 1ST WORD IS RETURNED IN R3, INPUTS: OUTPUTS : REGISTERS: CALLS: 011136 011140 011140 011144 011146 011152 011154 011154 011156 011160 011162 011164 011170 : CLR 026304 001403 062703 000772 R3;LET R3 := 00 003752 cHP CMOTBL(R3),R4 000002 ADD BR #2,R3 500604 BEQ 500614 : 010304 004040 50061 ¢ R3,R4 ADD ADD R4,R3 @CMDASC,R3 RTS R3 s INIT CMD TBL POINTER. sUNTIL CURRENT CMD IS FOUND: tLET R3S:= R3 + @2 MOV g 000240 060403 062703 000207 R4 = PRESENT COMMAND WORD. R3 = ADDRESS OF PRESENT COMMAND ASCII. ;;LET R4 := R3 PC :SEARCH CMD TABLE. ;POINT TO ASCII FOR THAT COMMAND sRETURN, THIS SUBROUTINE LOADS THE TSOS COMMAND PACKET FROM ONE 1527 1528 1529 1530 1531 011172 1532 011176 1533 011202 1534 011206 1535 011212 1536 011216 1537 011222 1538 011224 1539 011230 1540 011232 1541 011236 1542 011240 1543 011246 1544 011250 1545 1546 011256 ENTRY IN THE SEQUENCE TABLE. INPUTS: OUTPUTS: REGISTERS: CALLS: 005067 012167 011167 011167 016702 042702 010203 162703 001003 011167 000464 026727 001003 012767 SETUP: : CLR 172230 171126 171130 172204 171112 177740 000010 171074 MOV MOV MOV MOV BIC MOV SuB BNE CMOLG (R1)+,CMOPKT (R1),CMOPKT +CP.CNT (R1),BRFCNT CMOPKT,R2 ONCMD.C,R2 R2,R3 oCMD.C3,R3 24 sCLR CMD LOGGING CODE(DISABLES LOGGING) :LOAD THE COMMAND WORD. 1LOAD THE BYTE/RECORD/FILE COUNT. $SAVE BRF FOR THIS COMMAND. 1GET CMD. sCLR ALL BUT CMD BITS. sSAVE IT TWICE. sPOSITION COMMAND? :BR IF NOT. cHP BNE MOV CMOPKT , OWTM 500624 02,CMOLG +IF CMD IS A WRITE TAPE MARK THEN: B'KR)V 171064 100011 000002 172150 24: 500624 : R2, R3. GENPAT, g‘:l).CPOPKTOZ {MOVE BPCR IN 2ND PKT WORD FOR POSITION CMD. tWTM LOGGING CODE IS 2. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1547 011256 1548 011260 1549 011264 1550 011266 1551 011274 1552 011302 1553 011304 1554 1555 011312 1556 011314 1557 011314 1558 1559 011322 1560 011322 1561 011324 1562 011326 1563 011332 1564 011334 1565 011342 1566 011350 1567 011354 1568 011362 1569 011364 1570 011366 1571 011372 1572 011374 1573 011402 1574 011410 1575 011412 1576 011416 1577 011422 1578 011426 1579 011430 1580 011434 1581 011436 1582 011444 1583 011450 1584 011456 1585 011464 1586 011466 1587 011474 1588 1589 011502 1590 011504 1591 011504 1592 1593 011510 1594 011510 1595 011516 1596 011524 1597 011530 1598 011532 1599 1600 011540 1601 011540 1602 011546 1603 011554 010203 162703 001017 016767 032767 001404 012767 14-JUN-84 18:32 SEQ 0071 R2,R3 OCN) CO.R3 000001 DATARD CMOPKT +CP . ADL 172116 000400 171036 171026 oM0D 000004 172114 04,CMOLG 50064 000403 012767 000006 34 R2,R3 001014 012767 012767 011167 016767 000412 010203 44 oCMD.C2,R3 162703 001006 012767 012767 005721 012167 005067 012167 010203 162703 001010 016767 004767 012767 032767 001407 112767 042767 002474 000012 171126 172152 170770 170766 000020 003406 @SCHBK , CMDPKT +CP, ADL O@SCHCNT ,CMOPKT «+CP . CNT (R1),SCHBK+6 ;%WT.SOBKOIO 171122 R2,R3 4%: 000006 170734 170722 171776 171770 172020 3s: 170666 000106 000002 000100 171750 170644 000001 000100 172022 170626 000402 172006 016767 016767 171704 170606 171770 171706 171674 MOV MOV TST8 010000 170570 BIS 004000 170562 171646 042767 016767 000207 170556 S00674: 8IC RTS s CONTINUE. :IS IT ;SRSET CHARACTERISTICS cMD? ’ $1SET UP ADR LO FOR SET CHAR. sSET BUFFER EXTENT $1STORE CHARACTERISTIC CODE IN SCH BLOCK. sUNIT ¢ s CONTINUE. $IS IT sA DIAGNOSTIC (DIA) CMD? 18R IF NOT. gt‘:m.cozcm.cz.as A WRITE? DATAWT,CMDPKT«CP . ADL PC,GENPAT ;:LOAD WRITE BUFFER LO ORDER. :1GO GENERATE THE WRITE PATTERN. ;LOAD BUFFER ADR LOW. sPOINT TO N (NUMBER OF TIMES TO EXECUTE THIS INS :SAVE NUMBER OF OPERATIONS sCLEAR OPERATION COUNTER. t%QVEtPATYERN CODE FOR CURRENT CMD. : ;BR IF NOT. #2,CMDLG sWRITE LOGGING CODE IS 2. sIF DATA VERIFICATION IS REQUIRED: ¢1,VFYFLG OVFY.C,CMOPKT :SET VERIFY FLAG. sCLEAR VERIFY BIT(NOT USED BY HARDWARE). +IF DATA VERIFICATION IS NOT REQUIRED: 50066¢ S00654: sLOGGING CODE IS 6. sLOAD ”FER EXTENT. OVFY,C,CMOPKT 500654 S¢: 105067 105767 001403 052767 sLOGGING CODE IS 4. sELSE - IF CMD IS A READ FWD: ODIACNT ,CMOPKT +CP.CNT JDIABLK,CMOPKT «CP . ADL (R1). (R1)+,NCNT1 NCNT (R1)+ ,PATERN R2,R3 000005 171744 sIF CMD IS A READ REV THEN: 06,CMOLG 172104 000432 010203 162703 CO CMOPKT 500634 +IS IT A READ? 1BR IF NOT. +IF SO, LOAD THE BUFFER ADDR. VFYFLG :CLR VERIFY FLAG. CMOWRD , PCMOWD CMOPKT , CMDWRD SWBFLG +SAVE PREVIOUS CMD WORD. B . C,CMOPKT oSW :SET SWAP BIT IN COMMAND. EEOPKT .CMDSAV 1CLR BRF BIT (INTERNAL ONLY). $SAVE 1ST WORD OF COMMAND PACKET. tRETURN 500674 1 SAVE PRESENT CMD WORD. +IE SWAP BYTES IS ENABLED: GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 14-JUN-84 18:32 1604 1605 1606 B : 3 3 : : 1607 1608 1609 1610 1611 1612 011556 1613 011562 1614 011564 1615 011570 1616 011572 1617 011576 1618 011602 1619 011606 1620 011612 1621 011616 1622 1623 1624 1625 1626 011620 1627 011622 1628 011624 1629 011626 1630 011630 1631 011632 1632 011634 1633 011636 1634 011640 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 011642 011646 011652 011654 011656 011662 011666 INPUTS: OUTPUTS: REGISTERS: CALLS: ASL MOV INC BiC SuB MOV ADD JSR RTS R2, R3, R4, PATRO - PATR7 PATERN,R3 1SETUP PATTERN ROUTINE POINTER R4 BRFCNT R4 21.R4 o2,.R4 DATAMT ,R2 #2,R2 PC.SPATTBL(R3) :SET LENGTH OF WRITE BFR R3 PC tROUNDED UP TO NEXT WORD sWITH FIRST WORD RESERVED 1FOR RECORD COUNT 1GO GENERATE THE APPROPRIATE PATTERN. sRETURN TO SETUP SUBROUTINE. USED TO JSR TO THE :7SOS WRITE PATTERN LOOKUP TABLE. sCORRECT DATA PATTERN GENERATING ROUTINE. PATTBL: PATRO PATR1 PATR2 PATR3 PATR4 PATRS PATR6 PATR?7 PATR8 s INCREMENTING PATTERN. 012703 162704 100411 010322 062703 020327 001002 012703 011674 011674 000764 011676 000207 1660 011716 THIS SUBROUTINE SETS UP AND CALLS THE APPROPRIATE SUBROUTINE THE DESIRED PATTERN FOR THE WRITE AND WRITE/VERIFY COMMANDS. GENPAT : : MOV 016703 006303 016704 005204 042704 162704 016702 062702 004773 000207 011670 1652 1653 1654 011700 1655 011704 1656 011710 1657 011712 1658 011714 1659 SEQ 0072 000002 PATRO:: 14: 001002 001000 000400 S0070%: 2%: MOV ©400,R3;LET R3 BMI MOV ADD cMP BNE MOV 24 R3,(R2)+ €1002,R3 R3, 1000 S00704 ©400,R3 1BR IF DONE. :STORE DATA WORD. sUPDATE PATTERN. :IF PATTERN HAS WRAPPED AROUND THEN: BR 14 ;00 IT AGAIN. RTS PC ;RETURN, SuUB := #8400 02,R4;LET R4 := R4 - 02 ;DECREMENT WORD COUNT, ;INIT THE PATTERN AGAIN. sALL ONE'S PATTERN. 012703 162704 100402 010322 000773 000207 177777 000002 PATR1:: MOV SUB BMI MOV BR #2,R4 14 R3,(R2)+ ZROPAT sDECREMENT BYTE COUNT. :OONE?,BR IF YES. +IF NOT LOAD NEXT BYTE WITH PATTERN. 100 IT AGAIN. 1%: RTS PC tRETURN, ZROPAT: ¢-1,R3 ;:ALL ONES PATTERN;. TO GENERATE et N GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 16 14-JUN-84 18:32 1661 1662 SEQ 0073 ;ALL ZEROES PATTERN, 1663 1664 011720 1665 011722 1666 011726 1667 1668 1669 1670 011730 1671 011734 1672 011740 1673 011742 1674 011744 1675 011746 1676 011750 1677 011752 005003 004767 000207 PATR2:: 177756 CLR JSR RTS R3 sCLR PATTERN REGISTER. PC,ZROPAT PC 1GO GENERATE IT, sRETURN, ;ONE BIT WALKING FROM R TO L IN A FIELD OF ZEROES. 012703 162704 100404 MOV WLKZRO: SuB BMI MOV PATR3:: 000401 000002 010322 006303 005503 000771 000207 ASL 1%: ADC BR RTS #401,R3 02,R4;LET R4 14 R3,(R2)+ R3 s INIT PATTERN REGISTER. := R4 - 02 ;DECREMENT WORD COUNT. +BR IF DONE. :LOAD DATA, R3 WLKZRO PC s SHIFT PATTERN. +ADD CARRY BACK INTO PATTERN. 100 IT AGAIN. tRETURN, +ZERO BIT WALKING FROM R TO L IN A FIELD OF 1'S. 011754 011760 011764 012703 004767 000207 PATR4: : MOV 177376 177750 JSR RTS 9177376 ,R3 PC,WLKZRO PC s INIT PATTERN REGISTER. :GO GENERATE ;IT. sRETURN, sALTERNATING ONE AND ZERO BITS WITH ALTERNATE BYTES : COMPLEMENTED. 011766 011772 011776 012703 004767 000207 PATRS: : 125125 177706 MOV JSR RTS #125125,R3 PC,ZROPAT PC s INIT PATTERN REGISTER. ;GO GENERATE IT. sRETURN, sALTERNATING BYTES OF 000 AND 377. 012000 012004 012010 012012 012014 012016 012703 162704 100402 010322 000773 PATR6: : MOV 177400 000002 1%: 24: 000207 SuB BMI MOV BR RTS #177400,R3 02,R4 24 R3,(R2)+ 1 PC ;INIT PATTERN REGISTER. sDECREMENT WORD COUNT. :BR IF DONE. sLOAD DATA, 100 IT AGAIN. :RETURN, sRANDOM PATTERN GENERATOR 012020 012024 012026 012034 1707 012042 012046 012050 1710 1711 1712 1713 012052 1714 1715 1716 1717 162704 100411 066767 066767 016722 0007€4 000207 PATR7:: 000002 171402 171372 171366 171376 171372 SuB BMI ADD ADD 02,R4 GIT RANS , RANB RANB , RANS sDECREMENT WORD COUNT :BR IF DONE. BR PATR7 s CONTINUE. MOV CIT: RTS RANS, (R2)+ PC 1GET NEW 0. :SAVE ¢, sRETURN NO PATTERN GENERATION. 000207 PATRS: : RTS PC tRETURN. THIS SUBROUTINE INITIATES TSO5 COMMAND EXECUTION %Ug;ECKS FOR TSOS RESPONSE. MACRO M1113 14-JUN-84 18:32 : 1718 1719 1720 1721 1722 012054 1723 012062 1724 012062 1725 012066 1726 012072 1727 012074 1728 012100 012100 012102 012104 012106 1729 012110 1730 012114 1731 1732 012116 1733 012116 1734 012124 1735 012126 1736 012134 1737 012136 1738 012142 1739 012146 1740 012146 1741 012154 1742 012156 1743 012162 1744 1745 1746 1747 1748 1749 1750 012166 012170 012170 012174 ; P 012767 177777 005367 005767 001011 004767 171350 171344 171354 032775 001756 026727 001022 010567 004767 026527 001405 004767 004767 000200 002524 171266 140004 012260 012262 DEC TIMEL sUPDATE TIMEOUT COUNTER. BNE JSR 50072% PC,MOVMSG 50072 BIT 002604 171256 020227 001405 012723 062702 000020 177777 ;REPORT TSOS5 NOT READY TRAP .WORD .WORD .WORD sWAIT UNTIL DEVICE IS READY. CS$ERDF 2 NSSRM STAERM :IF WE ARE DOING A SET CHAR CMD THEN: +SAVE CURRENT DEVICE POINTER. sFIND FIRST UNIT. sWHILE DEVTBL(RS) NE €END DO ;WAIT FOR UNIT READY OR TIME OUT, :FIND NEXT UNIT. BEQ ;RESTORE CURRENT DEVICE POINTER. :SET UP ADR OF MSG PKT IN SCH BLOCK. MSGPKA(RS),R3 :ADR OF THIS UNIT'S MSG PACKET. ;CLR COUNTER. R2, OMSGCNT 50077% sWHILE THERE ARE MORE LOCATIONS: R2 500764 : 0-1,(R3). 02,R2 171200 sMOVE CURRENT PACKET MSG. @7S.SSR,8TSSR(RS) 500714 CMOWRD, S50073$ MSGPKA(RS), SCHBK 50073¢: 003472 +IF TIMED OUT: ;OROP THE UNIT. sRETURN. RSSAVE ,RS 170272 167756 - 500744 S0075%: S0077¢: sWAIT PC,DROPY EXCRTN DEVTBL(RS), #END 500754 PC,WSSR PC.NEXTU 177777 000002 002524 2,NSSRM,STAERM PC,.FIRSTY 000516 004762 002544 TIMEL R5,RSSAVE 171310 004734 002544 104455 000017 004727 006120 s INIT TIMEOUT COUNTER. JSR BR 005064 R2, R3. DROPU, MOVMSG, FIRSTU, NEXTU, WSSR. 0-1,TIMEL ;REPEAT ERRDF 000770 1765 012246 1766 012254 012254 012256 50071¢: 000634 016503 005002 105767 001023 126527 003412 017567 REGISTERS: CALLS: TST 000767 016705 016567 OUTPUTS: EXCUTE:: MOV 104455 000002 004536 006120 004767 000522 SEQ 0074 s INIT THE MSG PACKET WITH ALL 1'S 1UPDATE COUNTER. 500764 TST8 BLE MOV ERRDF DINT 14 INTFLG(RS), 01 501004 @TSSR(RS), TSSREG 15,T00MM, STAERM :ARE INTERRUPTS DISABLED. :BR IF YES. +IF MORE THAN ONE INTERRUPT HAS OCCURED: ;FREEZE THE CURRENT STATUS REG FOR PRINT ;REPORT TOO MANY INTERRUPTS. TRAP .WORC .WORD .WORD CS$ERDF 15 TOOMM STAERM S—| | GLOBAL AREAS GLOBAL SUBROUTINES SECTION J6 IK6 GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1767 012264 1768 012270 1769 1770 012272 1771 012272 1772 012276 1773 012304 1774 012310 1775 012312 1776 012316 1777 1778 012324 1779 012324 1780 1781 012332 1782 012340 1783 012342 1784 012346 012346 012350 012352 012354 1785 012356 1786 1787 012362 1788 012362 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 012364 012372 1801 012372 012372 1802 012374 1803 1804 012404 012404 012410 012412 012416 012420 012424 012426 012432 012434 012434 012442 012444 012452 012454 004767 000434 14- JUN-84 18:32 004710 50100%: 005065 052767 105767 001005 005265 016577 003472 000200 171161 003376 003376 171062 012775 002330 002514 032775 001410 004767 000200 002524 104455 000003 004453 006120 004767 170024 1$: 50101¢%: 000366 SEQ 0075 JSR BR PC,DROPU EXCRTN CLR 8IS INTFLG(RS) @IE.C,CMOPKT sCLR INTERRUPT FLAG FOR THIS DEvV. $SET INT ENABLE BIT. 501014 RECCNT(RS) RECCNT(RS),SDATAWT sLET RECCNT(RS) := RECCNT(RS) + 01 s THEN UPDATE REC COUNT TO WRITE IT ON TAPE MOV OCMOPKT ,8TSDB(RS) sLOAD TSDB WITH CMOPKT ADDRESS gé; ;;§63§R.OYSSR(RS) s THIS INITIATES COMMAND EXECUTION. :IF READY DID NOT DROP THEN: JSR ERRDF PC,MOVMSG 3,TOERM,STAERM sMOVE CURRENT MESSAGE PACKET TO COMMON. ;REPORT NO TSO5 RESPONSE TST8 BNE INC MOV JSR 004616 50102%: EXCRTN: RTS 000207 ;DROP THE UNIT ;RETURN - UNIT HAS BEEN DROPPED. ERRREC; IFB ERRREC EQ #0 THEN :IF NOT RETRYING TRAP PC,DROPU ;:DROP THE UNIT PC sRETURN. . WORD .WORD .WORD (3: $ERDF 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 BYTES AND ERRORS AND PERFORM ERROR RECOVERY IF NESSASARY. INPUTS: OUTPUTS: REGISTERS: CALLS: 012767 104422 026727 001014 177777 171020 171044 50103%: 102010 012727 000000 016727 000000 005367 001375 005367 001367 000012 026727 001404 026727 001014 170760 105010 170750 105410 R2, R3. DROPU, MOVMSG, RECUD, CHKERR, LOG, CLRERR. MOV 0-1,TIMEL ; REPEAT BREAK s INIT TIME OUT COUNTER. cHP CMOWRD , #RWD :IF COMMAND WAS REWIND THEN: DELAY 10. ;WAIT BNE 50104 ;REPEAT UNTIL INTERRUPT CCCURES: ;GO TO THE SUPER TO ALLOW TTY INPUT. TRAP EXTRA MSECS EACH LOOP. MOV .WORD C$BRK €10.,(PC)- O 167500 MOV L$OLY,.(PC)» 177772 DEC -6(PC) 177756 DEC .WORD BNE : 501044 BNE cHP CMOWRD, #SFF CcHP CMDWRD, #SFR BEQ 50105%: BNE 501054 501064 O .-4 -22(PC) .-20 ;IF CMDWRD EQ #SFF OR CMDWRD EQ #SFR THEN AR R MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 1811 012454 14-JUN-84 18:32 012727 000000 016727 000000 005367 001375 005367 001367 000014 105767 167502 001003 016502 L6 SEQ 0076 DELAY 012622 012624 012624 012630 012634 012640 012644 012646 012652 177772 DEC BNE DEC BNE 177756 501064 : 000200 005367 005702 001003 005767 001310 170676 005767 001022 016577 005377 004767 170660 TST8 BNE MOV 003472 012703 005103 017502 040302 97S.SSR,R3 R3 8TSSR(RS) ,R2 R3,R2 501104 170666 003376 170614 000136 50111%: 1850 012656 1851 1852 012662 1853 1854 012662 1855 012662 -6(PC) .-4 -22(PC) .-20 : IF INTERRUPTS ARE ENABLED. ;FETCH INTERRUPT OCCURRED FLAG. :SET UP A MASK FOR THE DONE BIT. ;:FETCH DONE BIT. TIMEL R2 50111 TIMEL 50103 sUPDATE TIMEOUT COUNTER. ;REPEAT UNTIL INTERRUPT OR READY OCCURES. TIMEL :IF TIME OUT HAS OCCURRED: 170620 4 ,NOINTM,STAERM PC,DROPU OENDERF ,R3 PC,.CLRERR ;REPORT NO INTERRUPT, ;OROP THE UNIT. iLET R3 := OENDERF .WORD .WORD CSERDF 4 NOINTM STAERM 50113$ 50112s: PC,MOVMSG sMOVE CURRENT MSG. PC,CHKERR ;CHECK FOR STATUS ERRORS. PC,.RECUD PACKET sUPDATE THE RECORD COUNT. 170617 TST8 002714 003472 000002 JSR MOV JSR PC,LOG :LOG BYTES AND ERRORS. PC.CLRERR ;CLEAR ALL ERROR FLAGS RTS PC S01134: TRAP .WORD ;:CLEAR ALL ERROR FLAGS WRTYFG 501144 ®ENDERF ,R3 :IFB WRTYFG EQ 00 THEN ;LET R3 := OENDERF S01144%: 000207 L$DLY,(PC). O 501124 RECCNT(RS),S8DATAWT SOATAWT PC,MOVMSG sMOVE CURRENT MSG PACKET TO COMMON AREA. 004366 003472 000042 000104 000164 000350 DINT 50107¢ INTFLG(RS),R2 e12.,.(PC). O 50110¢ 50107%: 002524 000417 004767 004767 004767 105767 001006 004767 012703 004767 MOV .WORD MOV .WORD 104455 1841 1842 1843 1844 1845 1846 1847 1848 1849 :ADD DELAY FOR SPACE TAPE MARK COMMANDS 167430 000406 000004 004670 006120 004767 012703 004767 12. tRETURN IF DONE. TO COMMON AREA. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1856 1857 1858 1859 1860 1861 1862 1863 012664 1864 012670 1865 012670 1866 012672 1867 012674 1868 012676 1869 1870 1871 1872 M6 14 - JUN-84 18:32 SUBROUTINE TO CLEAR FLAGS. INPUTS: R3 = LWA TO BE CLEARED + 2. REGISTERS: R2 OUTPUTS: CALLS: 012702 OBGNFLG,R2 CLRERR: : MOV S01154: ;REPEAT CLR (R2) 003460 005022 cMP BNE 001375 000207 RTS R2,.R3 S0115¢ sLET R2 := O0BGNFLG sLET (R2)+ := 00 sUNTIL R2 EQ R3 PC mm TO WAIT UNTIL CURRENT UNIT IS READY OR UNTIL TIME OUT. OUTPUTS: REGISTERS: CALLS: 1873 1874 1875 1876 1877 012700 1878 012700 1879 012706 1880 012706 012706 1881 012710 1882 012714 1883 012722 1884 012724 1885 012730 1886 012732 1887 012732 SEQ 0077 012767 104422 032775 001003 005767 001366 177777 170530 S50116%: MOV BIT BNE TST 170506 S0117%: 000207 ;INIT TIMEOUT COUNTER. sREPEAT UNTIL DEV READY OR TIMEOUT: ;BREAK TO THE SUPERVISOR. TRAP C$BRK sUPOHATE TIMEOUT COUNTER. BREAK DEC 170522 000200 o-1,TIMEL TIMEL OTS.SSR,BTSSR(RS) S0117s ;UNTIL OTS.SSR SETIN STSSR(RS) OR TIME1 EQ @0 TIMEL BNE S0116% RTS PC sRETURN, SUBROUTINE TO MOVE THE CURRENT MESSAGE PACKET TO THE COMMON AREA AND TO UPDATE THE CURRENT TERMINATION CLASS CODE. INPUTS: OUTPUTS: REGISTERS: 1897 1898 1899 1900 1901 1902 012734 012742 012746 012752 012756 1903 012762 1904 012766 1905 012770 1906 012770 1907 012774 1908 012776 1909 013002 1910 1911 013006 CALLS: 017567 016702 042702 010267 006267 016503 005002 020227 001405 012362 062702 000770 170506 177761 170472 170466 170512 : : MOV MOV 002354 0000C2 STSSR(RS ), TSSREG TSSREG,R2 ;FREEZE THE STATUS REG CONTENTS ;EXTRACT THE TERMINATION CLASS CODE, MOV ASR MOV CLR R2.CTCC (o (' MSGPKA(RS ) ,R3 R ;AND SAVE I7 cp BEG MOV ADD R2, #MSGCNT S01214 (R3)+ ,MSGPKT(R2) 02.R2 B8R 50120 8IC 501204 : R2, R3S, #7SC.T7CC.R2 ;ADR OF THIS DEVICE'S MSG. ;CLR COUNTER. ;WHILE THERE ART MORE LOCATIONS: ;MOVE MSG TO COMMON AREA. ;UPDATE COUNTER. . GLOBAL AREAS MACRO M111% GLOBAL SUBROUTINES SECTION 1912 013010 1913 013010 1914 013016 1915 016767 000207 14 JUN-B4 18:32 167346 170464 1916 1917 1918 1916 1922 013020 1923 013024 1924 013026 1926 013040 105767 001070 005365 032767 001057 1928 013050 1929 013052 1930 013056 1931 013064 lgg 013066 001453 105267 026727 001003 005065 1934 013072 000442 1936 013C74 1937 013102 032767 001«356 1939 013112 001007 1941 013122 {:“g 013124 001002 005265 1925 013032 1927 013042 1 1935 013074 1938 013104 1940 013114 032767 17044] 003376 000001 170410 100000 167316 170407 170336 102010 170316 032767 000400 170306 032767 000400 170302 1944 013130 000423 1948 013132 1949 013140 1950 013142 1951 013150 1952 013152 032767 001417 032765 001013 105767 013156 013160 013164 013166 1957 013172 1958 013174 1959 013200 1960 1961 013200 1962 1963 013200 1964 1965 013200 1966 1967 1968 013200 PC BIT RECLOG S01224 RECCNT(RS) 001406 105767 001403 105767 001002 005365 000400 170264 #8I170,CTCC 50123 ;LET RECCNT(RS) := RECCNT(RS) - 01 ;IF TAPE MOVED { X2 .0PM MSGPX T «MS XS2 BEQ INCB c BNE CLR 50123 RECLOG CMDWRD , ORWD S0124% ) RECCNT(RS) BR 501254 BIT BEQ OBRF .C,CMDWRD 501264 BNE S0127% 3NE INC S0130¢ RECCNT(RS) BR S01314 BIT BEQ BIT BNE TST8 oM00D.CO,PCMDWD S0132¢ #X0.80T ,EOTFLG(RS) S0133¢ ERRREC ; IF PREVIOUS CMD WAS A REV ALSO: BNE 104 RECCNT(RS) ;BR, IF HAVE ALREADY BUMPED RECORD CNTR. BIT BIT 000002 003502 50127%: 170313 BEQ TST8B BEQ TST8 170332 170273 003376 2%: 10%: S0133%: S0132%: S01314: 501264 : ;MOVE XSTATO TO EOT FLAG. ; IF RECORD HAS NOT BEEN LOGGED: DEC :;SET RECORD LOGGED, :IF TRIS IS A REWIND CMD: ;CLEAR RECORD COUNT, ;IF BRF USED, UPDATE RECORD COUNT. &M0D .CO,CMDUWRD :IF A FORWARD CMD: #M00.CO,PCMDWD ;IF PREV CMD WAS A FWD ALSO: S0130%: 1945 1946 013130 1947 013132 ENE 003376 MSGPK T «MS . XSO,EQTFLG CALLS: BIT S0124%: SEQ 0078 SUBROUTINE TO ADJUST THE RECORD COUNT, INPUTS: OUTPUTS: REGISTERS: RECUD:: TSTB BNE DEC 003376 004000 MOV RTS 3 1920 1953 1954 1955 1956 S50121%: 3 3 : : 1921 N6 24 VFYFLG 24 RECLOG ; INCREMENT RECORD COUNT, ;s IF REVERSE CMD: ;WHEN NOT AT BOT THEN ;CHECK THE ERROR RETRY INDICATOR ;BR, IF WE ARE NOT NOW IN ERROR RETRY ;CHECK THE WRITE VERIFY INDICATOR ;BR, IF WE ARE NOT IN WRT/VFY MODE ;CHECK IF THIS RECORD HAS BEEN COUNTED ;DECREMENT RECORD COUNT. MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 14 JUN-84 18:32 1969 1970 013200 50125¢: 1972 013200 1973 013200 S0123s: 016577 1975 013206 1976 013206 000207 1971 1974 1977 003376 170200 S0122%: 1980 1981 1982 1983 1964 1995 1996 013242 1997 1998 013242 1999 013242 2000 013250 2001 013252 2002 013260 2003 013262 2004 013262 2005 013270 2006 013272 2007 2008 013276 2009 013300 2010 013300 2011 2012 013304 RTS PC INPUTS: OUTPUTS: REGISTERS: CALLS: 032767 001441 026727 001405 105767 001002 005265 100000 170236 CHKERR: : 8IT 170224 170235 003336 sLET SDATAWT :+ RECCNT(RS) tRETURN, R2, R4, TCCO-TCC7. BEQ cp BEQ TST8 BNE INC 07S.SC, TSSREG S01344 C7CC, 02 S0135¢ ERRREC S0136¢ SCCNT(RS) ;IF SPECIAL COND STATUS IS SET THEN: BIT #TS . NXM, TSSREG 8IT O0TS.UPE, TSSREG 8IT OX2.0PM, MSGPKT «MS . XS2 :AND TAPE NOT MOVED MOV o5,R2 :SET TCCS INDEX BR S01424 MOV o4 ,R2 BR 50143 MOV CTCC.R2 ASL R2 BR 501444 BIT BEQ #8RF .C, CMDWRD 501454 sIF TCC IS NOT 2 THEN: s IF NOT IN ERROR RECOVERY: s INC SC COUNTER. S01364: 032767 001004 032767 170204 032767 001003 012702 167076 S0135%: 170174 001412 S0137¢: S0141%: 012702 sWHEN NON-EXTSTANT MEMO s TAPE MOVED, SET TCC4 INDEX S0142%: 2013 2014 013304 2015 013306 2016 013306 2017 2018 013312 2019 013312 2020 013314 2021 2022 013320 2023 013322 2024 013322 2025 013330 RECCNT(RS),S8DATAWT THEN AN ERROR RFC IS REPORTED, 1985 1988 013210 1989 013216 1990 013220 1991 013226 1992 013230 1993 013234 1994 013236 MOV THIS IS THE ERROR CHECK SUBROUTINE. AFTER INTERRUPT TMIS SUBROUTINE IS CALLED TO CHECK THE TSOS STATUS, IF SPECIAL COND IS SET THEN THE TCC MANDLING SUBROUTINE IS ENTERED. IF THE RFC IS NON ZERO FOR A COMMAND REQUIRING A BPCR, 1978 1979 1986 1987 SEQ 0079 016702 006302 004772 501404 : 170136 S01434: JSR 013414 000426 032767 001422 170070 S0134%: PC.8TCCRA(R2) +SET DETECTED TCC INDEX sCURRENT TCC X 2. ;GO TO THE TCC HANDLING SUBROUTINE. +IF BRF IS USED IN THIS CMD THEN: -/,' GLOBAL AREAS MACRO Mi11% GLOBAL SUBROUTINES SECTION 2026 013332 2027 013336 2028 013340 2029 013344 2030 013346 2031 013352 2032 013354 2033 2034 013354 2035 013360 2036 013362 2037 013366 013366 013370 013372 013374 2038 2039 013376 2040 2041 013376 2042 2043 013376 005767 001417 105767 001403 105767 001411 105767 001006 005265 14 JUN-84 18:32 1ST 167022 BEQ TST8 BEQ 170151 170144 1S78 S0147%:; 170141 2048 013376 2049 013402 2050 013404 2051 2052 013412 2053 013412 2054 2055 2056 2057 015414 2058 013416 2059 013420 2060 013422 2061 013424 2062 013426 2063 013430 2064 013432 2065 2066 2067 2068 2069 2070 2071 2072 2073 013434 2074 013440 013440 013442 013444 013446 501464 RANDOM 50147¢ s IF THERE IS5 AN RFC THEN: +IFB RANDOM EO 00 ORB VFYFLG NE 00 THEN VFYFLG 501504 TST8 IRE ERRMRD 104456 MSGPK T +MS . RFC BEQ BNE INC 003356 501514 HROCNT(RS) 13,RFCERM,STAERM s IF NOT IN RANDOM OR IF CMD IS WTV: s IF RFC ERROR REPORTS ARE ALLOWED: sUPDATE HARD ERROR COUNT sREPORT RFC ERROR TRAP 000015 004521 006120 .WORD .MORD .WORD CSERHRD 13 RFCERM STAERTMM 50151%: 50150%: S50146%: 2044 2045 013376 2046 2047 013376 SEQ 0080 501454 : 105767 001403 016767 S0144%: 170065 170012 166716 : 501524 000207 ;258 Rs:flg. MOV CMDSAV, CMOPKT RTS PC :IF A READ/WRITE ERROR HAS OCCURRED THEN: sRESTORE CMD PACKET AFTER ERROR RECOV. sRETURN, ADDRESSES OF TCC HANDLING ROUTINES FOR TERMINATION CLASS CODES 0 TCCRA: 013434 013452 013470 013600 013616 014232 014330 014472 7. 1CCO 7CC1 TCC2 TCC3 TCCa TCCS TCC6 TCC? SUBROUTINE TO HANDLE TERMINATION CLASS CODE O, UNDEFINED SPECIAL CONDITION ERROR. INPUTS: OUTPUTS: REGISTERS: CALLS: 003356 104456 004475 006120 TCCO:: INC ERRHRD HROCNT(RS) S,SCERM,STAERM tUPDATE HARD ERROR COUNT. 1REPORT SPECIAL CONDITION ERROR. TRAP CS$ERHRD .WORD .WORD SCERM STAERM GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2075 013450 2076 14 -JUN-84 18:32 SEQ 0081 RTS PC 000207 2077 2078 2079 sRETURN, SUBROUTINE TO HANDLE TERMINATION CLASS CODE 1, ATTENTION CONDITION. THIS TCC INDICATES THAT THE DRIVE MAS UNDERGONE A STATUS CHANGE SUCH AS GOING OFFLINE OR COMING ONLINE. INPUTS: OUTPUTS: R2,.R4 REGISTERS: CALLS: 2086 013452 013452 013454 013456 013460 2087 013462 2088 013466 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 013470 2095 013476 2100 013500 2101 013504 2102 2103 013506 2104 2105 013510 2106 013510 2107 2108 2109 013516 2110 2111 013520 2112 013524 2113 013526 2114 013532 2115 013534 2116 2117 013534 2118 013540 2119 013542 2120 013546 2121 013550 2 122 2123 013554 2124 013556 2125 013556 2126 2127 013562 TCC1:: 104455 004603 006120 004767 000207 ERRDF DROPU 6,ATTNM,STAERM sREPORT ATTENTION-UNIT OFF LINE. TRAP 6 .WORD STAERM .WORD JSR 003512 RTS PC,DROPY sOROP THE UNIT, PC CSERDF .WORD ATTNM ;RETURN, SUBROUTINE TO MANDLE TERMINATION CLASS CODE 2, TAPE STATUS ALERT, A STATUS CONDITION HAS BEEN ENCOUNTERED THAT MAY HAVE SIGNIFICANCE TO THE PROGRAM. BITS OF INTEREST INCLUDE TMX, RLS, LET, RLL, BOT, EOT. INPUTS: OUTPUTS:: REGISTERS: CALLS: 032767 001404 105767 001401 166664 TCC2:: 170010 170002 166644 501534 : 001427 105767 001403 105767 001421 167771 105767 167761 105767 001403 105267 167723 001016 005265 BR TC2RTN BIT OX0.RLS!XO.RLL !X0. TMK!XO0.LET!X0,.BOT ,MSGPKT +MS . XSO BEQ 501544 TST8 RANDOM TST8 S0155%: S01614: s IF AT BOT AND BOT IS EXPECTED: sRETURN-TCC2 CAUSED BY EXPECTED BOT. +IF OXO.RLS!XO.RLL X0, TMK!XO0.LET!X0.BOT SETIN MSGPKT+MS.XSO THEN 50155+ s IF TCC2 CAUSED BY ANYTHING BUT EOT: :IFB RANDOM EQ #0 ORB VFYFLG NE 00 THEN VFYFLG 501564 TST8 IRE 1ST8 501604 : S0153¢ BEQ BNE 167714 003336 EXPBOT BEQ 167764 X0 .BOT ,MSGPKT +MS ., XSO S01534 1ST8 BEQ 000433 032767 BIT BEQ 501574 ERRREC BEQ INCB 50160¢ UNREC BR 501614 INC SCCNT(RS) s IF NOT IN RANDOM OR IF CMD IS WTV: :IF RFC ERROR REPORTS ARE ALLOMED: +IF WE ARE IN ERROR RECOVERY THEN: 1SET UNRECOVERABLE FLAG FOR LOG. tELSE - IF NOT IN ERROR RECOVERY: s INCREMENT THE SPEC COND COUNTER. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 14-JUN-84 18:32 2128 013562 005265 003356 2129 013566 013566 013570 2130 013572 013574 INC ERRMRD 104456 2133 013576 S01564: 21;2 013576 S01544: 2134 000207 TC2RTN: 2140 2141 2142 2143 2144 2145 sREPORT TAPE STATUS ALERT, 104455 000010 004622 006120 004767 000207 TRAP C$ERMRD .WORD .WORD TSAM STAERM RTS PC SUBROUTINE TO HANDLE TERMINATION CLASS CODE 3, FUNCTION REJECT. THE SPECIFIED FUNCTION WAS NOT INITIATED. BITS OF INTEREST ARE RMR, OFL, VCK, BOT, ILC, WLE, ILA, AND NBA. CALLS: R2,R4 PU DRO TCC3:: ERRDF 8,FUNRM,STAERM INPUTS: OUTPUTS: REGISTERS: ;REPORT FUNCTION REJECT. 3 003364 JSR RTS 7 sRETURN, : : : : : : : gi:? 2148 013600 013600 013602 013604 013606 2149 013610 gigg 013614 ;UPDATE HARD ERROR COUNT, 004705 006120 S01574: 3139 7, TSAM, STAERM JWORD 2132 2137 013576 HRDCNT(RS) SEQ 0082 000007 2131 013576 21 E7 PC.DROPU PC sDROP THE UNIT. ;RETURN, TRAP .WORD .WORD .WORD CSERDF 8 FUNRM STAERM 2152 2153 2154 2155 3 ? : 3 SUBROUTINE TO HANDLE TERMINATION CLASS CODE 4, RECOVERABLE ERROR. 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. 2157 2158 2159 2160 2161 s : : 3 : THE FIRST ONE, VIA BADTSW SWITCH, DOES DETECT BAD SPOTS ON TAPE. IT CALLS A WRITE RETRY SUBR UNTIL THE RECORD IS RECOVERED OR 20 BAD SPOTS HAVE BEEN LOGGED. ON REACHING 20 BAD SPOTS LOGGED, A BAD TAPE OVERFLOW MSG IS PRINTED AND THE UNIT DROPPED. 2156 : 2162 : gigg H 2163 2164 2165 2166 2167 2170 013616 2171 013624 026727 001125 2173 2174 2175 2176 001522 105767 001007 105767 2172 013626 013632 013634 013640 013642 105767 167604 166356 167631 166341 000002 2 WRITE-ERROR-RECOVERY ALGORITHMS CAN BE SELECTED: THE SECOND ALGORITHM ISSUES THE TSO0S WRITE RETRY COMMAND : : s : : UP TO 16 TIMES BEFORE DROPPING THE UNIT OR PROCEEDING WITH THE NEXT RECORD ON RECOVERY, INPUTS: OUTPUTS: REGISTERS: R2.R4, TCC4:: CMP BNE CMDLG, @2 S0162¢ BEQ TST8 BNE TST8 501624 ERRREC 501634 ERCVER CALLS: 1S7T8 RTLE, EXCUTE, GOWAIT, DROPU, WRTY :IF CMDLG EQ #2 ANDB BADTSW NE @0 THEN BADTSW ;1IFB ERRREC EQ €0 ANDB ERCVER NE ©¢0 THEN GLOBAL AREAS MACRO M1113 . GLOBAL SUBROUTINES SECTION 2177 013646 2178 013650 013650 013652 013654 013656 013660 013774 014002 014004 014004 014010 014014 014016 014020 2208 014024 2209 014030 2210 014034 2211 014040 2212 014044 2213 2214 014052 2215 014052 2216 014056 2217 014062 2218 2219 014070 2220 2221 014070 2222 014072 2223 014072 2224 50163$ BEQ ERRSOFT 9,RERM,STAERM 104457 TRAP .MORD .WORD .WORD 105767 166327 105767 167577 167566 167561 016767 016767 016767 105267 105267 167510 166412 166412 167535 167525 005265 005067 105067 004767 105767 003316 027727 103761 167522 027727 103423 167512 012746 015177 000001 013704 013712 013720 013726 013732 013762 013764 013772 013774 SEQ 0083 g 000011 005017 006120 001072 013756 14-JUN-84 18:32 001404 013660 013664 013666 013672 013676 013702 013736 013736 013742 013746 013752 F7 001102 105267 105267 001404 012746 010600 104414 062706 004767 005365 004767 005065 012775 105067 105267 016767 501634: 001174 001164 001162 501664: 000660 167502 000050 50167%: 167405 167447 001020 MOV MOV MOV INCB INCB CMOWRD ,WTYWRD ;SAVE WRITE COMMAND PACKET CMOPKT ,WTYCMD CMOPKT +CP . CNT, WTYBRF RWERR ;LOG SUBR FLAG: COUNT WRT ERRORS WRTYFG sRETRY IN PROGRESS FLAG INC JSR 1ST8 BEQ cHe BLO PRINTB 002514 501704 : 167334 +FIRST RETRY ON THIS RECORD: SUBSEQUENT sRETRIES WITH TCCA ERRORS BY-PASS THIS SECTION sREPEAT WRTYCT(RS) ;COUNT GLOBAL WRITE RETRIES PC,WRTY WRTYER 501674 8BTPT,040. 50166$ ;CALL WRITE RETRY ;REPEAT RETRIES ON SAME RECORD RETRYC RPTCNT ;CLEAR & OF RETRIES PER RECORD ;:CLEAR & OF REPEATS ;UNTIL RECOVERED OR 20 BAD SPOTS SBTPT,040. 50170% ;WHEN 20 BAD SPOTS LOGGED ;PRINT BAD TAPE OVERFLOW MSG JSR DEC JSR PC,BORERS RECCNT(RS) PC,DROPU ;ERASE BAD RECORD MOV ORWCPK ,BTSDB(RS) sREWIND UNIT WRTYFG ;RETRY COMPLETE FLAG CLR8 105267 167372 501644 : MOV MOV MOV TRAP ADD #BTMSG2, -(SP) #1,-(SP) SP,RO cwme 04,5P ;:DROP UNIT RECCNT(RS) INCB MOV MISCFG WTYWRD , PCMOWD BR 501714 INCB UNREC ;D0 NOT HALT ON THIS CMD FLG ;RESTORE ORIGINAL WRT CMD AFTER RECOVERY 501654 000402 STAERM ;RETRY FLAG FOR EXCUTE SUBR: DON'T UPDATE REC CN tREWRITE ERROR FLAG FOR WRTY SUBR #BTMSG2 CLR 9 RERM ;IFB IREC EQ 00 THEN 501644 ERRREC WRTYER WRTYFG 501654 (o, BLO 000050 IREC BNE INCB INCB 1ST8 BNE CLR CLR8 167512 167510 000004 001266 003376 003140 003376 002350 TST8 C$ERSOFT ;LET UNREC :B= UNREC + @1 GLOBAL AREAS _ MACRO M1113 GLOBAL SUBROUTINES SECTION 14-JUN-84 18:32 2227 014076 2228 014100 2229 014100 2230 014104 2231 014112 2232 014114 2233 014120 2234 014122 2235 014126 223 014130 22 000454 004767 026727 003411 012702 006202 026702 002403 052767 000404 167316 501624: 000002 000020 167332 020000 166172 2239 2246 2247 014162 2248 014162 2249 014166 2250 014174 2251 014200 2252 014202 2253 014206 2254 014210 2255 014212 2256 014216 005767 001007 105767 001404 2259 014224 2262 014230 2263 2264 014230 2265 014230 50173$: 167316 166037 104457 000011 005017 006120 005267 052767 105767 001011 105267 012602 012602 004767 000167 2257 2258 014222 000402 2260 014224 BR 501724 JSR CMP BLE MOV PC,RTLE CMDLG,®2 50173$ ORRECL,R2 sCHECK FOR RETRY LIMIT EXCEEDED. 1IF READ CMO THEN: sR2=READ RETRY COUNT LIMIT / 2 ASR CM BLT BIS R2 RETRYC,R2 S0174$ 20PP.C,CMOPKT TST BNE TSTB BEQ ERRSOFT RETRYC sIF THIS IS THE ORIGINAL ERROR THEN: 50175% ERCVER 50175 9,RERM,STAERM ;REPORT RECOVERABLE ERROR +IF RETRY COUNT IS MORE THAN HALF LIMIT: 1SET OPPOSITE BIT FOR RETRY2. 501745: 2238 014136 2240 014136 2241 014136 2242 014142 2243 014144 2244 014150 2245 014152 014152 014154 014156 014160 SEQ 0084 50171$: 2225 014076 2226 G/ 105267 167272 001000 166013 501758: 166134 167263 175636 176142 167240 501764 : TRAP CSERSOFT MORD 9 .WORD RERM .WORD _ STAERM sPROVIDED OPERATOR HAS ENABLED THE REPORT INC BIS TSTB BNE INCB MOV MOV JSR JP RETRYC OMOD.C1,CMOPKT IREC BR 501774 INCB UNREC 501764 ERRREC (SP)+,R2 (SP)+,R2 sUPDATE RETRY COUNT. ;SET RETRY BIT IN CMD PACKET. sIF ERROR RECOVERY ENABLED: sSET ERROR RECOVERY FLAG. iPOP 2 RTN ADRS FROM STACK. PC,EXCUTE GOWAIT 160 EXECUTE THE RETRY COMMAND. sGO WAIT FOR INTERRUPT » CHECK STATUS. 1ELSE IF ERROR RECOVERY IS NOT ENABLED: sSET UNRECOVERABLE ERROR FLAG. 501774: S0172¢: 000207 RTS PC sRETURN 2267 2268 2269 ; ; i SUBROUTINE TO HANDLE TERMINATION CLASS CODE S5, RECOVERABLE ERROR. TAPE POSITION HAS NOT CHANGED. RECOVERY PROCEDURE IS TO LOG THE ERROR AND RE-ISSUE THE ORIGINAL COMMAND. 2271 2272 ; ; OUTPUTS: REGISTERS : TCCS:: JSR TST BNE 2270 i S274 2275 014232 004767 000252 2276 014236 2277 014242 005767 001004 167216 i INPUTS: CALLS: PC,RILE RETRYC 502004 R2,R4, RTLE, EXCUTE, GOWAIT, DROPU. JCHECK FOR RETRY LIMIT EXCEEDED 1IF THIS IS THE ORIGINAL ERROR THEN: .) H7 MACRO 11113 GLOBAL AREAS . GLOBAL SUBROUTINES SECTION 2278 014244 014244 014246 014250 014252 2279 014254 2280 014254 2281 014260 2282 014264 2283 014266 2284 014272 2285 014276 2286 014304 2287 014306 2288 014310 2289 014314 2290 2291 014320 2292 014322 2293 014322 2294 2295 014326 2296 014326 2297 14-JUN-84 18:32 SEQ 0085 ERRSOFT 106457 10,RERM,STAERM ;REPORT RECOVERABLE ERROR. .WORD .WORD .WORD 000012 005017 006120 005267 105767 001016 105267 005265 016577 012602 012602 004767 000167 50200%: 167200 165727 167177 003376 003376 167102 175540 176044 000402 105267 50201¢%: 167142 502024 : 000207 TRAP INC 1ST8 BNE INCB INC MOV MOV MOV JSR JMP CSERSOF T 10 RERM STAERM BR RETRYC sUPDATE RETRY COUNTER. IREC s IF ERROR RECOVERY IS ENABLED: 502014 ERRREC 1SET ERROR RECOVERY FLAG. RECCNT(RS) sUPDATE REC COUNT RECCNT(RS),S8DATAWT sAND INSERT IT INTO WRT BFR (SP)+,R2 sPOP 2 RTN ADRS FROM STACK. (SP)+,R2 PC.EXCUTE 1GO RE-ISSUE THE COMMAND. GOMWAIT 1GO WAIT FOR INTERRUPT + CHECK STATUS. ;ELSE IF ERROR RECOVERY IS NOT ENABLED: 502024 INCB UNREC RTS PC :SET UNRECOVERABLE ERROR FLAG. sRETURN, 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: 2310 014330 2311 014336 163454 2313 2314 2315 2316 167062 014340 014344 014346 014352 2320 2321 2322 2323 2324 2325 2526 014366 014372 014374 014374 014400 014404 TCCé6:: BIT TST X3.DCK,MSGPKT +MS . XS3;IF X3.DCK NOTSETIN MSGPKT+MS.XS3 THEN 502034 sIF THERE IS NO DENSITY CHECK THEN: CMOLG +IF CMD IS A READ OR WRITE THEN: INCB INCB RWERR UNREC ERRDF 11,URERM,STAERM BNE BEQ 167115 167112 2318 014356 2319 014356 014356 014360 014362 014364 166032 502044: R2, R4 RTLE, WSSR, EXCUTE, GOWAIT, DROPU 502044 :SET RD/WR ERROR FLAG, +SET UNRECOVERABLE ERROR FLAG. ;REPORT UNRECOVERABLE ERROR. TRAP C$ERDF .WORD .WORD URERM STAERM .WORD 002606 000110 167054 502034 : JSR PC,DROPU BR 502054 JSR TST BNE PC,RTLE RETRYC 502064 11 ;REPORT ERROR + DROP UNIT. ;ELSE-IF THERE IS DENSITY CHECK: 1CHECK FOR RETRY LIMIT EXCEEDED. +IF THIS IS THE ORIGINAL ERROR THEN: MACRO M1113 GLOBAL AREAS . GLOBAL SUBROUTINES SECTION 2327 014406 014406 014410 014412 014414 014416 014416 014422 014426 014430 014434 014442 014446 014450 014452 014456 014462 014464 014464 14-JUN-84 18:32 ERRSOFT 11,URERM,STAERM 104457 000013 005041 006120 005267 105767 001016 105267 012775 004767 012602 012602 004767 000167 167035 002350 176232 002514 175702 167000 INC RETRYC BNE INCB MOV JSR MOV MOV JSR JHP 502074 ERRREC ORWCPK ,3TSDB(RS) PC,WSSR (SP)+,R2 (SP)+,R2 PC,.EXCUTE GOWAIT BR 50210¢ INCB UNREC RTS PC TSTB 175376 000402 105267 502064 : 167036 167073 50207$: ;REPORT DENSITY CHECK ERROR TRAP .WORD .WORD .WORD CS$ERSOF T 11 URERM STAERM sUPDATE RETRY COUNT. IRE : IF ERROR RECOVERY IS ENABLED THEN: :SET ERROR RECOVERY FLAG, s ISSUE A REWIND COMMAND, sWAIT FOR SUBSYSTEM READY, :POP 2 RTN ADRS FROM STACK. ;REISSUE THE COMMAND, sWAIT FOR INTERRUPT ;ELSE-IF ERR REC DISABLED: :SET UNRECOVERABLE ERROR FLAG. 502104: 014470 014470 014470 SEQ 0086 S0205$: 000207 sRETURN 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 ADDITIONAL INFORMATION ON THE TYPE OF FATAL ERROR. INPUTS: OUTPUTS: REGISTERS: CALLS: 014472 014472 014474 014476 014500 014502 014506 TCC7:: 104455 000014 006120 004767 000207 ERRDF R2, R4 12,FATSM,STAERM ;REPORT FATAL SUBSYSTEM ERROR. TRAP .WORD .WORD JSR 002472 RTS PC,DROPU PC ;OROP THE UNIT. WORD CS$ERDF 12 FATSM STAERM sRETURN. SUBROUTINE TO CHECK FOR RETRY LIMIT EXCEEDED. PRINTS ERROR MESSAGE IF EXCEEDED AND DROP UNIT UNLESS COMMAND IS A READ. INPUTS: OUTPUTS: REGISTERS: CALLS: 014510 014514 014516 014516 005767 001010 104455 166712 RTLE:: R2, R4, DROPU TST CMOLG ERRDF 11,URERM,STAERM ;REPORT UNRECOVERABLE ERROR. BNE 502114 :IF CMD IS NOT A READ OR WRITE THEN: TRAP C$ERDF S MACRO M1113 GLOBAL AREAS SECTION NES GLOBAL SUBROUTI 014520 014522 014524 2375 014526 2376 014532 2377 014534 2378 2379 014536 2380 014536 2381 014542 2382 014550 2383 014552 2384 014560 2385 014562 2386 014566 014566 014570 014572 014574 2387 014576 2388 014602 2389 014604 2390 2391 014604 2392 2393 <394 2395 2396 014606 014606 014614 014616 014622 014622 014624 014626 014630 2397 014632 2398 014634 2399 2400 014634 2401 014634 2402 000013 005041 006120 004767 012602 000437 14-JUN-84 18:32 002446 50211¢: 105267 026727 001016 026727 166725 166660 000002 166702 000020 105267 166702 001011 002376 50213%: 166646 000020 50212%: 166646 000207 INCB cMP BNE CMP BNE RWERR CMDLG, @2 502124 RETRYC, #WRECL S0213$ ERRDF 14 ,RLEXM,STAERM ;REPORT RETRY LIMIT EXCEEDED. sDROP THE UNIT. ;POP RTN ADRS FROM STACK, sAND RETURN, UNREC PC,DROPU (SP)+,R2 BR 502144 CcMP BNE INCB RETRYC, #RRECL 502154 UNREC 502154 : MOV 502144 : RTLRTN: RTS ;IF RETRY COUNT HAS REACHED LIMIT: :SET UNRECOVERABLE FLAG TRAP ;DROP THE UNIT. ;POP 2 RTN ADRS FROM STACK. TRAP .WORD .WORD .WORD ;POP 2 RTN ADRS FROM STACK. PC sRETURN 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 4 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. ;BEGIN RETRY STAERM :SET UNRECOVERABLE FLAG SUBR TO REWRITE A BAD, BUT RECOVERABLE WRITTEN RECORD. REWRITE RECORD ON SAME SPOT: REPEAT 4 TIMES. IF ALL 4 REPEATS GOOD, RECORD IS RECOVERED WRTY:: 14 RLEXM s IF RETRY COUNT HAS REACHED LIMIT: (SP)+,R2 CALLS: CS$ERDF ;ELSE - CMD IS A READ: 14 ,RLEXM,STAERM ;REPORT RECOVERABLE ERROR. INPUTS: OUTPUTS: REGISTERS: 11 URERM STAERM :SET READ/WRITE ERROR FLAG. sIF CMD IS A WRT OR WTM: . WORD JSR MOV ERRHRD 104456 000016 004556 006120 012602 PC,DROPU (SP)+,R2 RTLRTN .WORD .WORD 000413 026727 001007 105267 .WORD .WORD .WORD JSR MOV B8R INCB 104455 000016 004556 006120 004767 012602 SEQ 0087 R3,R4 BORERS, REWRT s REPEAT C$ERHRD 14 RLEXM STAERM I<7 ' GLOBAL AREAS MACRO M1113 . GLOBAL SUBROUTINES SECTION . | | | | | 14-JUN-84 18:32 50217%: 2421 014636 2422 2423 2424 014636 2425 014636 2426 014642 2427 014646 2428 014652 2429 014656 2430 014664 2431 014666 2432 014672 2433 014674 2434 2435 014674 2436 014674 2437 014700 2438 014704 2439 014706 2440 2441 014710 2442 014710 2443 014714 2444 014716 014716 014720 014724 014730 014734 014740 014742 014744 2445 014750 2446 014750 2447 014756 2448 014760 2449 014766 2450 014772 2451 014776 2452 015002 2453 015006 2454 015010 2455 015014 2456 015016 2457 2458 015022 2459 2460 015022 2461 015022 2462 015026 2463 015032 2464 2465 015036 2466 015036 2467 015044 2468 2469 015046 SEQ 0088 004767 105067 004767 105267 126727 001403 105767 001761 005267 105767 001001 000457 105767 001415 50221%: 000454 166616 166600 ;:BEGIN REPEAT JSR CLRB JSR PC,BORERS WRTYER PC,REWRT sBACKSPACE/ERASE ONE RECORD ;CLEAR WRITE RETRY ERROR ;REWRITE RECORD ON SAME SPOT cMPB RPTCNT, 04 ;LIMIT: 4 REPEATS OR RECOVERED INCB 000004 RPTCNT BEQ 502224 TST8 166572 502224 : 502204 : 166560 166560 502214 :END REPEAT INC BNE 502234 : :COUNT REPEATS WRTYER BEQ TST8 165273 ;REPEAT RETRYC WRTYER 502234 BR 502164 TST8 BEQ ERCVER 502254 PRINTB ;COUNT RETRIES ;EXIT RETRY LOOP IF RECOVERED :IFB ERCVER NE €0 THEN @BTMSG1,RETRYC,<B,RPTCNT> s PRINT SUSPECYEDCE‘A.D SPOT(SP) 005046 156716 016746 012746 012746 010600 104414 062706 000003 MOV MOV 000010 ADD 026727 166504 001021 016567 017704 062704 010477 020427 101005 016703 060304 016514 8IS8 MOV 166536 166530 015112 002616 166520 50225%: cMP BNE MOV MOV 166524 ADD 166510 000050 02.R4 sIF R4 LOS #40. THEN MOV ADD BTPT,R3 R3,R4 ;:STORE FIRST 20 BAD SPOTS ;LET R4 := R4 + R3 INCS CLRB CLRB ERSFLG RWERR RPTCNT cMP BNE RETRYC, %4 502174 502274 RECCNT(RS),(R4) #BTMSG1, -(SP) TRAP C$PNTB ;LET (R4) := RECCNT(RS) H : 502274 : 105267 105067 105067 166477 166435 166424 026727 001274 166416 502264 : 000004 502244 : 50216%: ;END RETRY 03,-(SP) SP,RO 010,5P ;BTPT IS BOTH THE BAD SPOT COUNTER ;AND THE LOGGING INDEX R4 ,8BTPT R4,040. MOV 003376 502264 BTADDR(RS),BTPT 8BTPT, R4 MOV ;ON FIRST RETRY, LOGG BAD SPOT MOV cMP BHI 166476 RETRYC,#1 RPTCNT,(SP) RETRYC, -(SP) ;ERASE FLAG TO ERASE BAD RECORD ;CANCELL "LCG” ERROR FLAG ON FAILING RET ;:CLEAR REPEAT COUNT FOR NEXT RETRY ;LIMIT: 4 RETRIES MACRO M1113 GLOBAL AREAS GLOBAL SUBROUTINES SECTION 2470 015046 2471 015052 2472 015054 2473 015060 2474 015062 015062 015066 2475 015072 015074 015076 105767 001413 105767 001410 012746 012746 010600 104414 062706 14-JUN-84 18:32 166412 165127 015247 000001 SEQ 0087 TST8 BEQ TST8 BEQ PRINTB WRTYER 502304 ERCVER 50231% RTS PC .WORD .WORD .WORD 0 0 0 oBTMSG3 ;IFB WRTYER NE 00 THEN :IFB ERCVER NE 00 THEN ;PRINT RETRY FAILED 000004 2477 2478 015102 leg 015102 000207 2481 015104 2482 015106 22:3‘3 015110 000000 000000 000000 2485 015112 015115 015120 015123 015126 045 125 105 040 104 502304: WTYCMD: WTYWRD: WTYBRF: 101 123 103 102 040 123 120 124 101 123 BTMSG1: .ASCIZ /#ASUSPECT BAD SPOT AFTER #D1sA RETRY, #D1sA REPEATSN/ 120 040 124 040 061 040 117 101 105 045 045 122 015156 015161 015164 015167 054 104 101 105 040 061 040 120 045 045 122 105 2486 015177 015202 015205 015210 015213 015216 015221 015224 015227 015232 015235 015240 015243 015246 045 101 104 101 040 105 114 072 110 107 124 105 116 000 116 102 040 120 117 122 117 040 101 105 101 041 045 045 101 124 105 126 106 127 103 116 040 120 045 116 BTMSG2: .ASCIZ /#N#ABAD TAPE OVERFLOW: CHANGE TAPE !%NsN/ 101 124 040 111 104 122 122 106 114 040 BTMSG3: .ASCIZ /#ARETRY FAILED ON BAD SPOT...ERASED!%N/ 015172 015175 2487 015247 015252 015255 015260 015263 08TMSG3, -(SP) e1,-(SP) SP,RO C$PNTB 04,5P :STORAGE FOR WRITE CMD WHILE RETRYING 1STORAGE FOR WRITE CMD WORD WHILE RETRYING :STORAGE FOR WRITE BPCR WHILE RETRYING 015131 015134 015137 015142 015145 015150 015153 MOV MOV MOV TRAP ADD 50231%: 2476 015102 24 L7 124 101 116 045 105 131 101 105 122 124 000 124 106 122 104 101 105 131 045 GLOBAL ARE MACRO M1113 GLOBAL SMWTI'(S SECTION 2488 015266 015271 015274 015277 015302 015305 015310 015313 117 102 040 117 056 122 105 045 14-JUN-84 18:32 116 101 123 124 056 101 104 116 SEQ 0090 040 104 120 056 105 123 041 000 2489 .EVEN 2490 2491 : 3 SUBR TO BACSPACE ONE RECORD IF THE ERASE FLAG IS SET, THEN ERASE THAT RECORD 2493 2494 : : OQUTPUTS: REGISTERS: 2492 : gg 3 2497 015316 016767 2500 015340 042767 2498 015324 2499 015332 2501 015346 2502 015354 2503 015362 2504 015366 2505 015372 2506 015376 2507 015402 2508 015406 2509 015412 2510 015414 2511 015422 2512 015430 2513 015436 2514 015444 2515 015450 2516 015454 2517 015460 g{g 015464 2520 015470 gé 015470 012767 016767 016767 012767 005067 004767 004767 004767 004767 105767 001426 016767 012767 016767 016767 004767 004767 004767 004767 105067 2530 015530 2531 015536 2532 015544 2533 015550 2534 015554 2535 015560 2536 015564 EXCUTE, GOWAIT, CKMAE BORERS::MOV 004000 164762 8IC 164756 000001 166040 173472 166066 164770 166046 164750 174456 174762 002072 166113 166000 100411 165764 164666 173414 174400 166002 165770 164672 165756 174704 002014 S0232%: 165722 165724 016767 012767 004767 004767 004767 004767 177354 000002 173314 164600 165662 177402 177372 164610 165660 174300 174604 001714 165712 164614 165700 164602 ;SET COMMAND TO SPACE aev OSRR , CMDWRD CMDUWRD , CMDPKT MOV MOV CLR JSR CMOPKT,CMDSAV ;LET CMDSAV := CMOPKT 3 #1,CMDPKT «CP . ADL ;LET CMOPKT+CP.ADL := @1 CMOLG ;LET CMOLG := @0 3 PC,CMDAC : 1ST8 BEQ MOV MOV MOV MOV JSR JSR ;WHEN ERASE FLAG IS SET, DO ERASE #8RF .C,CMDPKT CLRB PC.EXCUTE PC.GOWAIT PC,.CKHAE ERSFLG S02324 CMDWRD , PCMDWD #ERS , CMDWRD CMDMWRD , CMDPKT CMDPKT ,CMDSAY PC.CMDAC PC.EXCUTE PC.GOMAIT PC,.CKHAE ERSFLG RTS PC JSR JSR 166035 CMOMRD ,PCMDMD 1 = DO ERASE MOV MOV JSR JSR 016767 000207 CALLS: 166100 000207 016767 016767 016767 016767 ERSFLG 166076 104410 166062 2523 2525 015472 2526 015500 2527 015506 2528 015514 2529 015522 INPUTS: ;LET CMDWRD := OSRR ;LET CMDPKT := CMDWRD CLR BY 9%BRF.C H 3 3 ;LET PCMDMD ;LET CMDURD ;LET CMDPKT ;LET CMDSAV : SUBR TO REWRITE A BADLY WRITTEN RECORD REWRT:: MOV MOV MOV MOV MOV RTS CMDWRD OERS CMDWRD CMDPKT ; H ; ; ;LET ERSFLG :B8= @0 : MOV MOV JSR JSR JSR JSR := := := := CMOMRD .PCMDMD ;RESTORE \aIYE COMMAND PACKET WTYWRD,CMDMRD ;LET CMOWRD := WTYWRD WTYCMD, CMOPKT sLET CMOPKT := WTYCMD CMDPKT ,CMDSAY ;LET CMDSAV := CMOPKT 3 OATM.OMNC'.ADL ;LET CMOPKT+CP.ADL := DATAWT WTYBRF ,CMDPKT «CP .CNT tLET CMDPKT.CP.CNT := WTYBRF #2,.CMDLG sLET CMOLG := @2 PC.CMDAC PC.EXCUTE PC.GOMWAIT PC . CKHAE PC ;RE-WRITE RECORD : : ’ 3 GLOBAL ARF AS MACRO M111% GLOBAL SUBROUTINES SECTION 25%7 Jctg 25%9 2540 2541 : 3 3 3 2542 2544 2553 015616 2554 015622 2555 015626 2556 015632 2557 015640 gg: 015642 2560 015646 2561 015646 % 015650 2564 015654 2565 015654 2566 015660 2567 015662 g: 015666 105767 001126 105267 016704 005704 001520 162704 010502 066402 062702 066712 026767 101002 166712 001747 003404 162712 005213 010302 062702 g;: 015712 005212 2580 015714 000771 2582 015716 2583 015720 2584 015724 010203 062703 021327 003404 162713 2585 015724 2586 015730 2587 015732 258825‘9 015736 021227 003404 162712 005213 2590 015740 000771 2592 015742 2593 015746 105767 001440 165556 502364 : 001750 S0237%: 000010 001747 001750 001747 ERLOG S0233s ERLOG CMOLG.R4 R4 S02344 02.R4 RS.R2 :IF DATA AND ERRORS MAVE NOT BEEN LOGGED THEN: :SET LOG DONE FLAG. ;GET CURRENT CMD LOGGING CODE. sIF THERE IS A CODE THEN: ;ADJUST THE CODE FOR TABLE INDEX. ;R2 = ADR OF BYTE COUNT LSW. BINC(R4),R2 OCNTBGN, R2 BRFCNT,(R2) MSGPKT+MS . RFC ,BRFCNT 502354 MSGPKT+MS .RFC,(R2) R2.R3 010,R3 ;ADD BRF TO LSW. ;;IF THE RFC IS LOWER OR THE SAME AS BRF THEN sSUBTRACT RFC FROM EXPECTED BRF. ;R3 = ADR OF 2ND WORD. sWHILE (R2) GT #999. DO cHP (R2),0999. BLE SuUB INC 50237 €1000. ,(R2) ;UPDATE BYTE COUNT (R3) ;LET (R3) := (R3) + 91 BR S02364 INC (R2) BR S50240$ ;LET (R2) := (R2) + 01 MOV R2,R3 sLET R3 := R2 + #10 ADD ¢10,R3 502424 : ;WHILE (R2) GT #999. DO 001750 165521 MOV ap0 R2. R3, Ra, MOV R3,R2 ;LET R2 := R3 + 010 ADD #10,R2 S0240% : sWHILE (R3) GT #999. DO cHP (R3),0999. BLE 502414 SuB €1000.,(R3) ;UPDATE BYTE COUNT S0241%: 000010 CALLS: ADD ADD ADD cp BHI SuUB S0235%: 021227 2572 015672 2573 015674 2574 015700 2575 015700 2576 015704 2577 015706 2591 015742 1S78 BNt INCB MOV TSTY BEQ SuB MOV 164512 000010 000771 2581 015716 LOG:: 000002 016052 002626 165564 164522 INPUTS: OUTPUTS REGISTERS 165666 165622 010203 062703 2570 015670 2571 015672 165674 SUBROUTINE TO LOG BYTES READ/WRITTEN, ALSO UPDATES READ/MWRITE ERROR COUNTERS. 3 : 254% 2545 015566 2546 015572 2547 015574 2548 015600 2549 015604 2550 015606 2551 015610 2552 015614 SEQ 0091 14 JUN-B4 18:5%2 502434: CcMP BLE SuB INC (R2),0999. 50243 ©1000. ,(R2) ;UPDATE BYTE COUNT (R3) sLET (R3) := (R3) + 41 B8R 502424 TST8B RWERR BEQ 502444 :2ND WORD. ;R2 = ADR OF 3RD WORD. :3RD WORD. ;R3 = ADR OF 4TH WCRD. ;4TH WORD. :IF R/W ERROR, UPDATE ERROR COUNT. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2594 015750 010502 2595 015752 2596 015756 2597 015762 2598 015766 2599 015770 2600 015774 066402 062702 105767 001404 062702 00S212 2602 015776 000424 2604 016000 2605 016002 2606 016006 2607 016010 2608 016014 005212 105767 001020 105767 001015 2601 2603 016000 2609 016016 2610 016022 2611 016024 016024 016030 016034 016040 2612 016042 016044 14 -JUN-84 18:32 MOV 016060 002766 165502 000010 502454: 164205 165506 105767 001412 164165 016746 012746 012746 010600 104414 062706 165430 005422 000002 016050 502464: 016050 502444: 016050 502344: 016050 2627 2628 016052 2629 016054 2630 016056 2631 2632 016060 2633 016062 22:;; 016064 BR 502464 INC TST8 BNE 1578 BNE (R2) IREC 502474 DROPED 502504 PRINTB ONURTY] ,RETRYC RTS PC 1R2 = ADR OF COUNTER, 1IS THE ERROR UNRECOVERABLE? s YES, POINT TO NEXT COUNTER, tUPDATE THE ERROR COUNTER 1ELSE - IF ERROR IS RECOVERABLE : tUPDATE THE ERROR COUNTER +IF ERROR RECOVERY IS ENABLED: +IF UNIT HAS NOT BEEN DROPPED: ERCVER 502504 sPRINT @ OF RETRIES TO RECOVER MOV MOV MOV MOV RETRYC, -(SP) OMNURTYL, -(SP) 02,-(SP) SP,.RO TRAP CSPNTB ADO 6, SP sPROVIDED PRINT HAS BEEN ENABLED 50247 : 50233 : 000207 3 INDEXES TO BYTE COUNTERS. 000000 BINC: 000000 000020 000040 EINC: O 20 40 ; : : : : ; IF A WRITE/VERIFY COMMAND IS ISSUED, CONTROL IS THEN TRANSFERRED TO THIS SUBROUTINE TO READ REVERSE, CHECK DATA, READ FORWARD, CHECK DATA, THEN CONTINUE TO NEXT COMMAND. INPUTS; OUTPUTS: REGISTERS: 000040 000100 3 2636 2637 2638 2639 2640 2641 g::g 2644 016066 EINC(R4),R2 OWRREC ,R2 UNREC 502454 10,R2 (R2) 000006 502504: 2626&5 016050 R5,R2 ADD ADO 1578 BEQ ADD INC TST8 BEQ 2613 016050 2614 2615 016050 2616 2617 2618 2619 2620 2621 2622 2623 2624 SEQ 009¢ ' 105767 165424 O 40 100 IWRITE, 1READ REV. sREAD FWD. INDEXES TO READ/WRITE ERROR COUNTERS. IWRITE. 1READ REV. tREAD FWD. CALLS: VFYDAT::TSTB VFEXC, VFYFLG +IF DATA IS TO BE VERIFIED: GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2645 016072 2646 016074 2647 016102 2648 016110 2649 016116 2650 016122 2651 016130 2652 016136 2653 016144 2654 2655 016150 2656 016150 2657 2658 2659 2660 001426 016767 012767 012767 004767 016767 012767 012767 004767 14 -JUN-84 18:32 165320 104401 000004 000030 165272 104001 000006 000002 165274 165262 165262 S0251%: CMOWRD , PCMOWD OROR , CMOWRD 04 ,CMOLG PC,VFEXC CMOWRD , PCMOWD ORDF , CMDWRD 6,CMOLG PC,VFEXC RTS PC OUTPUTS: 2663 REGISTERS: CALLS: 2664 2665 2666 165242 164150 2667 016152 2668 016160 2669 016166 2670 016172 2671 016174 016767 042767 105767 001403 052767 010000 164126 016202 016202 016210 016216 016767 016767 005067 164122 165174 165170 165212 026767 002062 004767 004767 165164 165164 2677 MOV MOV MOV JSR MOV MOV MOV JSR 1SAVE THE PREVIOUS COMMAND WORD. sCOMMAND IS READ REV. 1SET UP CMD LOGGING INDEX. 1GO READ ALL THE RECORDS REV, 1SAVE THE PREVIOUS COMMAND WORD. sCOMMAND IS READ FWD. $SET UP CMD LOGGING INDEX. 1GO READ ALL RECORDS FWD. tRETURN, gwamsmvc T0 EXECUTE THE READ AND VERIFY, FORWARD OR REVERSE. 2661 2662 2672 2673 2674 2675 2676 502514 BEQ 165322 165310 165310 000207 SEQ 0093 2689 016270 2690 016272 2691 016300 2692 016302 2693 016306 2694 016310 2695 2696 016314 2697 2698 0163.4 2699 016316 2700 016316 2701 026527 001442 032767 001421 032765 001014 032765 001406 105767 001402 004767 004000 165326 164142 8IC BEQ 8IS 502524: 164114 172626 000640 002604 177777 000400 165140 000002 003502 000001 003502 165216 VFEXC:: MOV MOV MOV CLR R2 CMDAC, FIRSTU, VFISU, NEXTU, CKMAE. CMOMWRD ,CMDPKT OBRF .C,CMOPKT SWBFLG 502524 . C,CMOPKT #5uB 004767 +IF BYTES ARE TO BE SWAPPED: 1SET SWAB BIT IN CMD PACKET, CMOPKT ,CMDSAV DATARD ,CMOPKT+CP . ADL NCNT s SAVE COMMAND PACKET 1ST WORD. :SAVE BUFFER START ADDRESS. :CLEAR NUMBER OF OPERATIONS. sMHILE NCNT LT NCNT1 DO tWHILE THERE ARE RECORDS REMAINING: ce NCNT,NCNT1 B8GE 502544 JSR PC,CMDAC 1STORE CMD ASCII IN ERROR MSG. JSR PC,FIRSTY :SET UP FOR FIRST UNIT. S02554: sWHILE DEVTBL(RS) NE #END DO ;WHILE THERE ARE DEVICES REMAINING: ce DEVTBL(RS), #END BEQ S02564 BIT #M00.CO, CMOWRD :IF CMD IS REVERSE THEN: 502574 BEQ BIT #X0.80T,EOTFLG(RS) +IF NOT AT BOT BNE 502604 BIT #X0.EOT ,EOTFLG(RS) 1BUT IF AT EOT BEQ 502614 : 502534 1578 000064 ALLEOT BEQ JSR 502624 PC.VFISV erR 502634 JSR PC.VFISU 502624: 000402 ;COMMAND PACKET = READ REV OR FWD. 502614 : tAND ALL OTHERS AT EOT 1 THEN READ VERIFY +IF NOT ALL AT EOT, FREEZE UNIT(S) +IF NOT AT BOT AND tNOT AT EOT, READ VFY GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 14-JUN-84 18:32 2702 016322 502634 : 2704 016322 2705 016322 2706 016324 2707 016324 2708 016332 2709 016334 2710 016342 2711 016344 502604: 2703 2712 2713 016344 2714 BR 502644 BIT BEQ BIT oX0.EOT ,EOTFLG(RS) 502654 oCMD.CO, CMOWRD JSR PC,.VFISU JSR PC.NEXTU BR 502554 JSR INC MOV PC,CKHAE NCNT CMOWRD , PCMOWD 000712 BR 502534 000207 RTS PC 000412 032765 001404 032767 001002 004767 000001 003502 000001 165056 000030 2725 2726 016374 2727 016376 2728 016376 2729 2730 004767 502644 : 000574 000732 004767 005267 016767 001116 165024 165026 165030 OUTPUTS: REGISTERS: CALLS: 2734 2735 2736 502664 :IF NOT AT EOT OR NOT A MOTION CMD THEN: s ISSUE CMD, CHECK STATUS AND DATA. 1GO FINC THE NEXT UNIT. sCHECK FOR HMALT AFTER EACH CMD. sUPDATE THE RECORD COUNT. :SAVE PREVIOUS COMMAND WORD. sRETURN, SUBROUTINE TO ISSUE COMMAND, AWAIT INTERRUPT, CHECK STATUS, CHECK DATA, INPUTS: 2731 2732 2733 2737 016400 2738 016404 2739 016410 2740 016410 2741 016414 2742 016416 2743 2744 016422 2745 016424 2746 016424 2747 016430 2748 016434 2749 016436 2750 2751 016442 2752 016442 2753 016446 2754 016450 2755 016456 2756 016460 2757 2758 016464 BNE sELSE IF CMD IS NOT REVERSE: 502664: 2716 2719 2720 016354 2721 016356 2722 016356 2723 016362 2724 016366 502574 : 502654: 2715 016350 2717 016350 2718 016350 SEQ 0094 016702 062702 020267 001403 012742 DATARD ,R2 + INIT READ BUFFER POINTER. 8. ,R2 502674: sWHILE R2 NE DATARD DO sUNTIL 8 BYTES MAVE BEEN SET, cHe R2,0ATARD 502704 BEQ MOV ¢-1,-(R2) s INIT READ BUFFER. 165004 VFISU:: 000010 164774 177777 000772 004767 105767 001002 004767 105767 00100€ 032765 001002 004767 50270% : 173424 165066 MOV ADD BR 502674 JSR PC,EXCUTE BNE JSR 502714 PC.GOWAIT TST8 OROPED 1ST8 173722 S0271%: 165054 000002 R2 EXCUTE, GOWAIT, CKDATA, BNE BIT BNE JSR 003502 000002 502734 : DROPED 160 EXECUTE THE COMMAND. +IF UNIT HAS NOT BEEN DROPPED THEN: 1GO WAIT FOR DONE BIT. :IF UNIT HAS NOT BEEN DROPPED THEN: 502724 #X0.B0T ,EOTFLG(RS) sWHEN NOT REVERSED INTO BOT, THEN 502734 PC,CKDATA 1GO VERIFY DATA, . GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 5763 502724: 000207 2764 2765 2766 2767 2768 3 H : : 3 2769 : 2770 2771 016466 016703 2773 016476 005703 2772 016472 2774 016500 2775 016502 016502 016504 016506 016510 2776 016512 000560 2780 016540 2781 016542 101417 012746 010600 104414 062706 2779 016534 020367 016542 104456 2782 016552 016552 016556 016562 016566 016570 016572 2783 2784 016576 2785 016600 CALLS: 164656 BRFCNT,R3 sCOMPUTE REC LENGTH READ R3 ;WHEN NO DATA RECEIVED S0274% 17,WTVERM,DTAERM @DTAER4 ;PRINT ERROR AND EXIT BR 502754 cMP R3,BRFCNT BLOS PRINTB O@DTAERS,CMOPKT+CP.CNT 163560 005360 000002 000006 000272 000266 000264 2790 016616 2791 016622 2792 016626 2793 016632 2794 016634 2795 016703 016704 105767 001401 000313 164564 164562 164671 005002 CSERHRD MOV MOV MOV TRAP ADD ODTAER4E, -(SP) .WORD .WORD .WORD ;COMPARE ROUTINE S0276% ERRHRD 17,WTVERM,DTAERM TRAP 502764 : ; THAN EXPECTED, PRINT CS$ERHRD .WORD .WORD WTVERM DTAERM MOV MOV MOV MOV CMOPKT +CP.CNT, -(SP) @0DTAERS, -(SP) 02,-(SP) SP,.RO S0300%: ;AN ERROR MESSAGE ;AND EXIT ROUTINE TRAP ADD 502774 MOV DEC CLR R3,CKDCNT CKDCNT CKDFF :SAVE VERIFICATION LENGTH - 1. MOV MOV 7S78 BEQ SWAB DATAWT ,R3 DATARD,R4 T1SuB S03004 (R3) ;GET WRITE BUFFER ADDRESS. :1GET READ BUFFER ADDRESS. s WHEN RUNNING TEST1-SUB 12, R2 01,-(SP) SP,RO C$PNTB 04 ,SP TRAP BR CLR 17 WTVERM DTAERM ;WHEN REC READ IS LONGER .WORD 000536 —— GCMDA MSGPKT+MS.RFC,R3 PRINTB 004430 005752 104414 062706 - R2, R3, R4, 000001 010367 005367 005067 2796 016636 INPUTS: OUTPUTS: REGISTERS: ERRHRD 50274 : — SUBROUTINE TO COMPARE DATA BETWEEN READ AND WRITE BUFFERS TST 000004 S AND PRINT ERROR MESSAGE ON MISCOMPARE. SuUB 005337 . PC BNE 2786 016600 2787 016604 2788 01661C 2789 016614 RTS 000021 016746 012746 012746 010600 —— SEQ 0095 CKDATA: : MOV 000021 004430 005752 2777 016532 2778 016534 016546 016550 163662 104456 012746 016544 164724 001015 016512 016516 016522 016524 016526 [rm e ——— 166703 - 14-JUN-84 18:32 2759 2760 016464 2761 016464 —— 17 C$PNTB #6,5P ;CLEAR @ OF BYTES IN ERROR COUNTER. sINIT BYTE COUNTER 1SWAP FIRST WORD OF WRT BFR sWHICH CONTAINS THE RECORD COUNT F& GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTIOM 14-JUN-84 18:32 2797 2798 016636 2799 016636 2800 016642 2801 016644 2802 016650 2803 016652 2804 016660 2805 016662 2806 016664 020267 000234 105767 164650 001011 001406 032767 001202 000001 S0301$: SEQ 0096 tREPEAT cMP BNE R2,CKDCNT 503024 BIT BNE #8IT00,CKDCNT 503044 1ST8 BEQ 000216 TSTB TSTB 105723 105724 sREPEAT UNTIL ALL DATA IS COMPARED: sIF THIS IS THE LAST BYTE THEN: SWBFLG 503034 (R3). (R4). s IF BYTE SWAPPING IS ENABLED THEN: s IF RECORD LENGTH IS ODD THEN: sLAST BYTE WILL BE IN : THE UPPER BYTE. S03045$: S0303$: 121314 001452 005767 001010 005265 S0302%: BEQ TST BNE INC INC 003346 003356 000124 28 VFYCNT(RS) HRDCNT(RS) ERRHRD 17,WTVERM,DTAERM 000154 164506 177400 164476 177400 (R3),(R4) 3 CKDFF 2%: 164500 000013 $BR _IF NOT. :INC THE VERIFY ERROR COUNTER. s INC THE HARD ERROR COUNT. sREPORT WRITE/VERIFY ERROR. TRAP .WORD .WORD .WORD 8IC 2177400, TIMEL :CLEAR GARBAGE. 8IC cHe BGE 0177400, TIME2 CKDFF ,011. 503054 :CLEAR GARBAGE. :IF ERROR BYTE COUNT IS LESS THAN 11: (R4),TIMEL (R3),TIME2 ;INCREMENT ¢ OF BYTES IN ERROR. :SAVE WAS DATA FOR TYPOUT. :SAVE SHOULD BE DATA FOR TYPOUT. @DTAER2,R2,<B,TIME1>,<B,TIME2>;PRINT ACTUAL & EXEESTED DAI;P) L — N - 164452 8IS8 TIME2,(SP) 164442 8ISB MOV MOV MOV MOV TRAP TIMEL,(SP) R2,-(SP) ODTAERZ, -(SP) 04,-(SP) SP,RO CSPNTX CLR 005226 017044 17 WTVERM DTAERM CKDFF;LET CKDFF := CKDFF «+ @1 PRINTX 2828 017016 2829 2830 017016 2831 017020 2832 017022 2833 017024 2834 017030 2835 017032 2836 017036 2837 017042 2838 017044 C$ERHRD INC MOVB MOVB 164470 sARE THEY EQUAL 1BR IF SO. :11 ST TIME THRU? 000012 3s: 005767 001414 000036 016746 000026 ADD S0305¢% : TSTB TSTB 1ST8 e12,SP (R3). (R4). (R2)+ tUPDATE WRITE BUFFER ADDRESS. tUPDATE READ BUFFER ADDRESS. tUPDATE BYTE COUNTER. CKDFF 503064 + IF COMPARE ERROR HAS OCCURED THEN: cHP BLE INC R2,CKDCNT 503014 CKDCNT PRINTB #ODTAER3,CKDFF ,CKDCNT TST BEQ -(SP) :END OF DATA COMPARE REPEAT LOOP. sCKOCNT EQUALS RECORD LENGTH, tPRINT & OF BYTES IN ERROR. MOV CKDCNT, -(SP) GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2839 017050 017054 017060 017064 017066 017070 016746 012746 012746 010600 104414 062706 14-JUN-84 18:32 MOV MOV MGV MOV TRAP ADD 000010 50306$: 2842 017074 S0277%: 2841 2843 000207 2847 017076 2::3 017100 000000 000000 2846 2 S0275%: 2850 RTS PC ;OTHERWISE, RETURN, CKDCNT: CKDFF: .WORD .WORD 0 O ;1@ OF BYTES TO BE VERIFIED -1. :+® OF BYTES IN ERROR COUNTER. : SUBROUTINE TO FIND THE FIRST DEVICE IN THE TEST SEQUENCE. 3 OUTPUTS: 3 CALLS: 2851 3 2853 : 2852 ggg; 2856 017102 2857 017106 105067 005005 2858 017110 2859 017116 2860 017120 2861 017124 026527 001003 062705 2863 017126 2864 017134 2865 017136 026527 001001 2862 017126 000771 017136 104444 2868 017140 016567 2866 2867 017140 g:élg 017146 000207 164414 002604 177774 000002 0026C4 002604 177777 162726 2871 2872 2873 2874 164346 2881 017154 062705 000002 2883 017166 001772 2885 017176 2886 2887 2888 000207 2880 017154 2882 017160 2884 017170 S0311¢%: 026527 016567 MOV RTS : 105067 cHP BNE DOCLN 3 2878 017150 2879 REGISTERS: S03074: CMP BNE ADD BR S0310$: DROPED RS ;CLR UNIT DROPPED FLAG ;CLR DEVICE POINTER. DEVTBL(RS ), @NINUSE ;WHILE DEVICES ARE NOT IN USE: S0310¢ 02,.RS ;LET RS := RS + @2 ;POINT TO NEXT DEVICE. S0307¢ DEVTBL(RS), #END S0311¢ 002604 177774 002604 162676 ;IF ALL UNITS HAVE BEEN DROPPED THEN: ;00 CLEAN CODE AND TERMINATE PASS. TRAP DEVTBL(RS),L$LUN PC C$OCLN :SET UNIT @ IN "HEADER” FOR ERROR REPORT ;RETURN WITH 1ST DEVICE IN RS. SUBROUTINE TO FIND THE NEXT UNIT IN THE TEST CYCLE. INPUTS: OUTPUTS: REGISTERS: CALLS: NEXTU:: CLRB DROPED sREPEAT S0312%: CKDFF, -(SP) ODTAER3, -(SP) 03,-(5P) SP,RO CS$PNTB €10,SP INPUTS: FIRSTU:: CLRB CLR : : : 2875 g:;g SEQ 0097 000024 005275 000003 2840 017074 2844 017074 2845 017074 Ele ADD ;CLR UNIT DROPPED FLAG tREPEAT UNTIL THE NEXT DEVICE IS FOUND. cHP 02.RS DEVTBL(RS), ONINUSE t+UPDATE DEVICE TABLE POINTER. MOV DEVTBL(RS),L$LUN :1SET UNIT @ IN "MEADER" FOR ERROR REPORT BEQ RTS S0312¢ PC tUNTIL DEVTBL(RS) NE ONINUSE ;RETURN, SUBROUTINE TO DROP A DEVICE FROM THE TEST SEQUENCE. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2889 2890 2891 2892 2893 2894 017200 2895 017204 2896 017210 2897 017214 2898 017220 2899 017222 2900 017222 2901 017226 2902 017230 2903 017234 2904 2905 017240 2906 017242 2907 017242 2908 017250 2909 017254 2910 017260 2911 017264 2912 017266 017266 017270 017272 017274 2913 2914 017276 2915 017300 2916 017300 2917 2918 017304 2919 017304 2920 017310 2921 017312 2922 017316 2923 2924 017322 2925 017322 017322 2926 017324 2927 017330 2928 017332 2930 017336 2931 017336 2932 017344 2933 017350 017350 2934 2935 2936 017352 2937 017360 2938 017362 2939 017366 14-JUN-84 18:32 SEQ 0098 INPUTS: OUTPUTS: REGISTERS: CALLS: 005265 016704 042704 016503 005002 003366 163160 000377 002544 020227 001405 012723 062702 000020 DROPU: : INC ;KI)E cMP BEQ MOV ADD 177777 000002 002340 173424 173454 157400 FTLCNT(RS) W;RHS.XSB.RQ 002514 S0314%: 104455 R2, #MSGCNT 50314% 9-1,(R3). s INIT THE MSG PACKET WITH ALL 1'S 02, ,R2 tLET R2 := R2 + @2 sUPDATE COUNTER. MOV JSR JSR OGSCPK ,8TSDB(RS) PC.,WSSR PC,MOVMSG BNE 503154 16,RNYM,STAERM 000020 004753 006120 000402 000106 105767 164155 001404 105267 004767 50315%: 503164 : 164204 176244 016767 016700 026527 001410 105767 001005 ;PRINT EXTENDED STATUS REGISTERS. TST8 RECLOG :IF THE RECORD HAS BEEN LOGGED THEN: INCB JSR DROPED PC.LOG :SET UNIT DROPPED FLAG. :LOG DATA BYTES + RD/WR ERRORS. 162625 177774 S50317% DORPT DEC 002604 16 RNYM STAERM PC,PRXST 003326 104451 ;ELSE-IF NOT A RUNNAWAY: .WORD .WORD .WORD JSR : 8£Q TST 503204 : sREPORT CAPSTAN RUNAWAY WITH TACH CNT. TRAP CSERDF 503164 003326 164172 164164 s INITIATE A GET STATUS COMMAND. sWAIT A WHILE FOR SSR=1 sMOVE MSG PACKET TO COMMON AREA. +IF WE HAVE A CAPSTAN RUNAWAY THEN: BR BEQ 50317%: 104424 005765 001402 005365 1GET UDIAG ERROR CODE FROM XSTAT3, 50313¢ ERRDF 004767 s INCREMENT THE FATAL ERROR COUNT, MOV MSGPKA(RS),R3 ;ADR OF THIS UNIT'S MSG PACKET. CLR Re tLET R2 := 90 sCLR COUNTER, 50313%: sWHILE R2 NE OMSGCNT DO sWHILE THERE ARE MORE LOCATIONS: 000770 012775 004767 004767 020427 001005 MOVMSG, PRXST, LOG :PRINT PERFORMANCE REPORT PASCNT(RS) 50320% PASCNT(RS) TRAP :IF PASCNT(RS) NE @0 THEN ;LET PASCNT(RS) := PASCNT(RS) - @1 MOV MOV o) V) TSNP, DROPN TSNP ,RO RO $1SAVE @ OF UNIT TO BE DROPPED. +RO=LOGICAL DEVICE NUMBER cHP DEVTBL(RS), ONINUSE +IF UNIT NOT DROPPED BNE 503224 BEQ TSTB 503214 IREC C$DRPT :DROP THE UNIT TRAP Cs00o0vV O = IDU IF CODE :EXEC BGNDU-ENDDY + IF RECOVERY IS ENABLED THEN: MACRO M1113 GLOBAL AREAS | GLOBAL SUBROUTINES SECTION 2940 917370 2941 017372 2942 017374 2943 017376 2944 000240 000240 000240 105267 14-JUN-84 18:32 2947 017402 2948 017402 | 105267 2949 017406 000207 2951 017410 000000 2950 164114 2953 2954 2955 2956 2957 2958 2959 017412 ; 017412 017416 017422 017424 017426 012746 012746 010600 104415 062706 005507 000001 017432 017436 017442 017446 017452 017456 017462 017466 017470 017472 016746 016746 016746 016746 016746 012746 012746 010600 104415 062706 162734 162726 162720 162712 162704 006753 000006 2960 017432 2961 017476 STAFLG ;SET START FLAG TO ENABLE REWIND, DRORTN: INCB DROPED ;SET UNIT DROPPED FLAG. DROPN: .WORD O ;@ OF UNIT TO BE DROPPED ; ; ; ; - SUBROUTINE TO PRINT EXTENDED STATUS REGISTERS. INPUTS: OUTPUTS: REGISTERS: CALLS: 000207 503218 RTS PRINTX 000016 2967 017514 2974 017516 017516 105767 162502 164017 108450 103023 CKHAE:: TSTB MOV 2977 017530 2978 017534 112367 112367 164552 164547 MOVB MOVB 111367 HAE;IFB HAE NE 00 THEN BEQ 503234 1ST8 MISCFG BNE 503244 MANUAL 163674 2979 017540 164544 MOV MOV MOV MOV MOV MOV MOV MOV TRAP ADD MSGPKT +MS . XS4, -(SP) MSGPKT +MS . XS3, -(SP) MSGPKT +MS . XS2, -(SP) MSGPKT +MS.XS1, -(SP) MSGPKT+MS. XSO, -(SP) @STAERS, -(SP) 06, -(SP) SP,RO CSPNTX ©16,5P @STAERS,MSGPKT+MS.XS0,MSGPKT+MS.XS1,MSGPKT+MS.XS2,MSGPKT +MS . XS3,MSGPKT +MS . XS MOVB ;IF HALT FLAG IS SET: :IFB MISCFG EQ @0 THEN BNCOMPLETE CKHRTN 171406 OGETSTM, -(SP) 01,-(SP) SP,RO CHPNTX 04,SP CALLS: 016704 004767 MOV MOV MOV TRAP ADD SUBROUTINE TO HALT AFTER EACH COMMAND. INPUTS: OUTPUTS: REGISTERS: R3, R4 2975 017520 2976 017524 ;RETURN. RTS PC : 001430 105767 001023 PC PRXST:: PRINTX OGETSTM : : : ; 2970 017504 2971 017506 2972 017512 2973 017514 S— INCB 000004 2963 2964 2965 2966 2969 017500 SEQ 0099 50322%: 2946 ’ NOP NOP NOP 164124 2945 017402 j 18 ;IS MANUAL INTERVENTION ALLOWED? TRAP C$MANI :BR IF NOT. CMOWRD , R4 iLET R4 := CMDWRD (R3)+ ,HALTM (R3)+ ,HALTM+1 tMOVE CMD ASCII tLET HALTM+1 :B= (R3). 1 INTO MESSAGE. JSR PC,GCMDA (R3),HALTM+2 ; sFETCH ADR OF CMD ASCII. 8cC CKHRTN ; COMMAND WORD. MACRO M1113 ' GLOBAL AREAS | GLOBAL SUBROUTINES SECTION 2980 017544 017544 017546 017550 017552 A ER S, ERREL LY i 017554 017556 017560 017560 017560 017562 017562 14-JUN-84 18:32 GMANIL HALTM,TIME1,1,YES 000404 003436 000130 004306 000001 sHALT - WAIT FOR AN OEPRATOR INPUT, TRAP BR .WORD .WORD .WORD .WORD 10000%: 10000¢ : 000402 105067 S— SEQ 0100 104443 503244 : 163743 BR 503254 CLRB MISCFG sLET MISCFG :8= #0 C$GMAN 100004 TIME1 T#$CODE HALTM 1 : 50325%: 017566 017566 017566 J8 503234 : CKHRTN: RTS .EVEN 000207 PC ;RETURN ENDMOD 017570 .TITLE MISCELLANEOUS SECTIONS .SBTTL REPORT CODING SECTION e ; THE REPORT CODING SECTION CONTAINS THE : "PRINTS” CALLS THAT GENERATE STATISTICAL REPORTS. '-- 8 R 017570 017570 017570 017574 017600 017600 017606 017610 017610 017614 017620 017624 017630 017634 017636 017640 12 017644 017644 017650 017654 017660 017664 017670 017674 017676 LS$RPT: : 010567 004767 026527 001562 016546 016546 016546 012746 012746 010600 104416 062706 016546 016546 016546 016546 012746 012746 ¢10600 104416 177777 S50326%: BGNRPT MOV JSR RS ,RSSAVE PC,FIRSTU cMP DEVTBL(RS), #END ;WHILE DEVTBL(RS) NE #END DO BEQ PRINTS PRINTS 503274¢ :SAVE CURRENT DEVICE POINTER. ;FIND THE FIRST UNIT. ;WHILE THERE ARE MORE DEVICES: ORPT1A,DEVTBL(RS),PASCNT(RS),RECCNT(RS) MOV RECCNT(RS),-(SP) MOV MOV MOV S ), -(SP) PASCNT(R DEVTBL(RS), -(SP) ORPT1A,-(SP) MOV TRAP ADD SP,.RO CSPNTS MOV MOV MOV MOV MOV MOV MOV TRAP WRBC(RS), -(SF) WRBC+10(RS),-(SP) WRBC+20(RS), -(SP) WRBC+30(RS), -(SP) ORPT18B, -(SP) #5,-(SP) SP,RO CSPNTS 212,.5P ORPT1B,WRBC+30(RS),WRBC+20(RS>,WRBC+10(RS),WRBC(RS) B — MISCELLANEOUS SECTIONS REPORT CODING SECTION 017700 3013 017704 017704 017710 017714 017720 017724 017730 017734 017736 017740 3014 017744 017744 017750 017754 017760 017764 017770 017774 017776 020000 3015 020004 020004 020010 020014 3016 3017 3018 3019 3021 3022 3023 3024 3025 020152 MACRO M1113 062706 000014 016546 016546 016546 016546 012746 012746 010600 104416 062706 002666 002676 002706 002716 016546 016546 016546 016546 012746 012746 010600 104416 062706 002726 002736 002746 002756 020631 016546 016546 016546 012746 012746 010600 104416 062706 016546 016546 016546 012746 012746 010600 104416 062706 105767 001402 004767 14-JUN-84 18:32 104416 062706 004767 000612 SEQ 0101 ADD PR INTS 000014 MOV RRBC+10(RS), -(SP) RRBC+20(RS), -(SP) RRBC+30(RS), -(SP) ORPT1C, -(SP) MOV TRAP SP,RO CS$PNTS MOV MOV ORPT1F ,WRREC(RS),RRREC(RS),RFREC(RS) 0027€6 020735 PR INTS 003036 003016 002776 021006 ORPT1G,WRUNR(RS),RRUNR(RS) ,RFUNR(RS) RFBC+20(RS), -(SP) RFBC+30(RS), -(SP) ORPT1D, -(SP) 95, -(SP) SP,.RO CS$PNTS 014,SP MOV MOV MOV MOV RFREC(RS),-(SP) RRREC(RS), -(SP) WRREC(RS), -(SP) #RPTIF,-(SP) CS$PNTS MOV MOV MOV RFUNR(RS), -(SP) RRUNR(RS), -(SP) WRUIR(RS), -(SP) ADD MOV TRAP TSTB BEQ 000056 003346 003366 003356 003336 021203 000005 golg;gl: JSR PC,BTRPT PR INTS ;IFB BADTSW NE #0 THEN ;GO PRINT BAD TAPE SPOTS WHEN ADD : JSR 176776 BR 012,5P ORPT1G, -(SP) SP,RO C$PNTS 212,SP ENABLED ORPT1I,SCCNT(RS),HRDCNT(RS),FTLCNT(RS),VFYCNT(RS) MOV MOV MOV MOV MOV MOV MOV VFYCNT(RS),-(SP) FTLCNT(RS),-(SP) HROCNT(RS), -(SP) SCCNT(RS), -(SP) ORPT1I, -(SP) 05,-(SP) SP,RO ADD 14,5P TRAP 000014 .RO TRAP MOV 000012 162110 RFBC(RS), -(SP) RFBC+10(RS), -(SP) MOV MOV MOV MOV MOV TRAP ADD MOV 000012 014,SP ORPT1D,RFBC+30(RS),RFBC+20(RS),RFBC+10(RS),RFBC(RS) INTS 003026 RRBC(RS), -(SP) MOV MOV MOV MOV ADD PR INTS 000014 014,SP @RPT1C,RRBC+30(RS),RRBC+20(RS),RRBC +10(RS ) ,RRBC(RS) 020560 000005 50330%: 016546 016546 016546 016546 012746 012746 010600 K8 PC,NEXTU 503264 ;FIND THE NEXT UNIT, C$PNTS MISCELLANEOUS SECTIONS REPORT CODING SECTION 3026 020154 3027 020154 3028 020160 020160 020162 3029 3030 3031 3032 3033 3034 3035 3036 3037 3039 3041 3043 3045 §a48E 3047 016705 3055 3056 3057 14-JUN-84 18:32 50327%: 163272 SEQ 0102 MOV RSSAVE ,RS sRESTORE CURRENT DEVICE POINTER, RPT EXIT 000167 001130 .WORD . WORD JEJMP 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. 016546 012746 012746 010600 104416 062706 016567 017703 006203 010346 012746 012746 010600 104416 062706 005703 001457 020327 101402 012703 BTRPT:: PRINTS 003316 021057 000002 000006 002616 163270 012746 012746 010600 104416 062706 016704 062704 005002 104416 062706 005202 062704 020227 001014 @RPTI1E,WRTYCT(RS) sPRINT GLOBAL WRITE RETR:‘,SMY MOV MOV 163274 MOV BTADDR(RS),BTPT PRINTS @ORPT1J,R3 TST R3 cHP BLOS MOV R3,020. 503324 FAflSx 000006 %TPT.RS BEQ 000024 000024 005744 000001 CS$PNTS MOV MOV MOV MOV TRAP ADD R3,-(SP) RPT1J, -(SP) 02,-(SP) SP,RO C4PNTS #6,SP ;PRINT RECORD # IF BAD SPOTS DETECTED ;IF R3 HI #20. ©20. ,R3 THEN ; :20 BAD SPOTS IS THE LIMIT OCRLFSP ; MOV MOV TRAP 163202 000002 MOV BTPT,R4 CLR R2 ADD 503334 : 02,R4 ;REPEAT PRINTS tLET R4 := BTPT + @2 ADD ;;FETCH A BAD SPOT ID ;R2 = PRINT COUNT PER LINE: ORPT1K,(R4) i ;PRINT A BAD SPOT ID 021174 000002 MOV MOV MOV MOV TRAP 000002 000012 INC ADD CMP BNE R2 #2.R4 R2,#10, 503344 SP,RO TRAP sAND THE LOGGING INDEX :PRINT @ OF BAD TAPE SPOTS 503314 PRINTS WRTYCT(RS), -(SP) ORPT1E, -(SP) ADD #6,SP +8TPT IS BOTH THE BAD TAPE SPOT COUNTER 021107 000002 503324 : 011446 012746 012746 010600 3053 MACRO M1113 L& PRINTS OCRLFSP tLET R2 := R2 + @1 ;COUNT PRINTS ;LET R4 := R4 + 02 ;NEXT +IF R2 EQ #10. THEN ; OCRLFSP, -(SP) SP,RO C$PNTS 04,SP 10 MAX (R4),-(SP) ORPTIK, -(SP) 02,-(SP) SP,RO C$PNTS 6,SP 1GO TO NEXT PRINT LINE PAST 10 PRINTS g5EEEeEay MISCELLANEOUS SECTIONS REPORT CODING SECTION 012746 012746 010600 104416 062706 162703 162702 14-JUN-84 18:32 MOV 000004 000012 000012 SuB 021006 021057 021107 021174 021203 021257 R2,R3 50333$ 005741 000001 ;LET R3 := R3 - 010. sLET R2:= R2 - 010. MOV SP,RO TRAP CSPNTS ADD 04,5P sADJUST BAD SPOT COUNT ;ADJUST PRINT COUNT sUNTIL R2 EQ R3 sLIMIT: @ OF BAD SPOTS 3 PRINTS OCRLF MOV MOV OCRLF, -(SP) Ol.égSP) TRAP CS$PNTS ADD 116 101 101 101 RPT1A: RPT18B: RPTIAC: RPT1D: 101 101 101 RPTIF: RPTI1G: RPTI1E: RPT1J: RPTIK: RPT1I: 116 104 101 123 104425 010. ,R3 010. ,R2 04,5P /SNSNSAUNIT #D18S38APASS : #05#S3SARECORD : SDS%N/ /#ABYTES WRITTEN «D3sA, sZ36A, 8Z38A , 8Z38N/ /4ABYTES READ REV wD3#A,#Z3sA, 8Z38A , %Z38N/ /SABYTES READ FUD SD3wA,sZ3%A,SZ3%A,SZ 38N/ /9852 38AUR TS SASARD SASARDF RS SN/ /SAWRITE RETRIES#S8sDS#N/ /9NsD2%A BAD SPOTS THIS TAPE PASS PRECEDING RECORD @:/ /%05%S1/ “$ASPEC COND®S3SAHARDSS 38AF ATAL #S3%ACOMPARE SN /%S 380585 38D 5%S 38055 38D SENSN/ L10010: .SBTTL OCRLFSP, -(SP) B : 503344 S50331¢$: 020701 020735 SEQ 0103 005744 000001 020203 001343 012746 012746 010600 104416 062706 000207 021314 021314 021314 MACRO M1113 M8 TRAP CSRPT LOAD DEVICE PROTECTION TABLE e ;TABLE FOR SUPERVISOR TO IDENTIFY THE P-TBL FOR THE LOAD DEV : THE SUPERVISOR USES THE TBL TO WARN THE OPERATOR WHEN HE TRIES TO TEST THE LOAD DEV 021316 021316 1] 000000 177777 177777 - ¢ 021316 021320 021322 L$PROT: : 021324 3101 .SBTTL INITIALIZE SECTION ;P-TBL OFFSET OF TSDB ;P-TBL OFFSET OF MASS BUS UNIT &: -1 = NOT A MASS BUS DE ;P-TBL OFFSET OF DRTVE @#: -1 = NONE, THREE DRIVES PER CONTRO MISCELLANEOUS SECTIONS INITIALIZE SECTION MACRO M11153 14-JUN-84 35102 3103 3104 3105 3106 3107 18:32 SEQ 0104 e : THE INITIALIZE SECTION CONTAINS THE CODING THAT IS PERFORMED : AT THE BEGINNING OF EACH PASS. '-- 3108 021324 3109 N& LSINIT:: 021324 000003 3110 021324 3111 021332 5112 021334 021334 021336 021340 021342 5113 021344 021344 021350 021352 021356 021360 021364 021366 021372 3114 021374 3115 3116 021376 3117 3118 021376 3119 021402 3120 021404 3121 021410 3122 021412 3123 021412 3124 021416 3125 021420 3126 021424 3127 3128 021430 3129 021432 3130 3131 021432 3132 3133 021432 3134 021436 3135 021440 3136 3137 021446 3138 3139 021454 3140 021454 021454 021460 3141 021462 021462 3142 021464 002330 BGNINIT INIT10: :é; sogg;g;uu.mr ;IF CMD PACKET IS NOT ON MODULO 4 BOUNDRY: ERRSF 1,CMDPKM 012727 000310 016727 000000 005367 001375 005367 001367 000753 160540 ;PRINT ERROR MSG, CSERSF INIT10 . WORD 1 CMDPKM .WORD .WORD O ;GO TO SUPERVISOR, WAIT 2 SECONDS. MOV 0200. ,(PC).WORD O MOV LS$OLY, (PC) .WORD O DEC -6(PC) .-4 BNE DEC -22(FC) u -‘20 3 CLRFLG ;IF CLR COUNTERS FLAG SET: DELAY 200. 177772 177756 BR TRAP S0335s: 105767 160602 105067 005002 160574 020227 001405 005062 062702 000550 001413 TST8 S50337%: 002626 000002 000770 S03404: BEQ CLRB CLR S033%64 CLRFLG R2 cHP BEQ CLR ADD R2,0CNTLEN 503404 WRBC(R2) #2.R2 BR 50337 TST8 RRANV ;LET R2 := 00 ;INIT CLR FLAG. ;WHILE R2 NE OCNTLEN DO ;LET R2 ;CLR ALL STATISTICAL COUNTERS. := R2 + #2 503364 : 105767 001406 012767 012767 160547 153624 161764 BEQ MOV 032561 161760 MOV ORANSC , RANS READEF OEF .START 503415%: 012700 104447 103057 105267 503414 #RANBC ,RANB BNCOMPLETE 162036 INCB STAFLG INIT1S :IF RESET RANDOM VARIABLE FLAG IS SET THEN: ;RESET RANDOM BASE #. ;RESET RANDOM SAVE LOCATION. ;READ START COMMAND EVENT FLAG. MOV :BRANCH IF NOT STARTING. :SET START COMMAND FLAG. RO OEF .START TRAP CS$REFG B8CC INIT1S MISCELLANEOUS SECTIONS INITIALIZE SECTION MACRO M1113 14-JUN-84 18:32 3143 021470 012705 000006 3144 021474 3145 021474 012765 3146 021502 3147 021506 3148 021510 3149 021512 3150 021520 3151 021522 177774 002604 162705 000002 005705 001371 022767 000001 160272 001425 #6,RS MOV ONINUSE ,DEVTBL(RS) SUB TST aNE c BEQ LET RS :+ 06 JINITIATE UNIT NUMBER TABLE 1BY STORING NOT IN USE IN EACH LOCATION. 02, RS iLET RS := RS - 02 RS JUNTIL RS EQ 00 503428 01, ,LSUNTT sONLY ONE UNIT ALLOWED 3 0K 50344 PRINTF OAUDRUN s TELL THE MAN MOV MOV MOV 104417 TRAP 021536 062706 000004 . MOV 503428: ;REPEAT 021522 012746 005146 021526 012746 000001 021532 010600 021534 SEQ 0105 3152 021542 DELAY 021542 012727 000025 021546 000000 021554 000000 021562 001375 021572 104444 25 ADD sWATT MOV O 021556 005367 177772 DEC 021564 005367 021570 001367 3153 021572 177756 DEC BHE 3154 021574 016705 3155 021600 006305 160212 3156 021602 3157 021602 162705 000002 3158 021606 010565 002604 3159 021612 006265 002604 3160 021616 005705 gig 021620 001370 3163 021622 021622 012700 000034 021626 3164 021630 021630 3165 021632 ;igg 021636 3168 021642 021642 104447 103004 105267 105267 104421 021644 3169 021650 010067 005003 3171 021656 001020 3170 021652 3172 021660 105767 S03438: 161651 3173 021666 3174 021670 3175 021674 3176 021676 104447 103014 105767 001010 161632 021676 012700 000037 021702 104447 TRAP CSDCLN -22(PC) .-20 02,RS iLET RS := RS - @2 sNUMBERS IN DEVTBL. RS,DEVTBL(RS) sLET DEVTBL(RS) := RS SHIFT -1 DEVTBL(RS) RS iUNTIL RS EQ 00 B 1STORE ALL UNIT S0343$ INIT1S: READEF 0€F .PWR INCB INCB {HAS THERE BE A POMER FAILURE? MOV BRE 503444 TSTB PWRFLG 503454 Bk 503464 1ST8 CSREFG {READ AND STORE FLAGS SET BY OPERATOR TRAP CSRFLA MOV RO, OPFLAG iCLEAR EVENT FLAG jLET R3S := 00 READEF OEF .NEW BCC 0EF .PUR RO BCC INIT16 ;IF SO - SET THE START FLAG. :IF SO - SET THE POMER FAIL FLAG. OPFLAG R3 TRAP ;BRANCH IF NOT, STAFLG PWRFLG CLR 021660 012700 000035 021664 .-4 5UB MOV ASR TS1 INIT16: RFLAGS 161666 -6(PC) S LSUNIT,RS RS BNCOMPLETE INIT16 161670 161665 LSOLY,(PC). MOV ASL ;REPEAT sLET RS := LSUNIT SHIFT 1 025,(PC). .MORD MOV SO348: 04,5P O 160342 1 ABORT CIPNTF .MORD 021550 016727 DOCLN OAUDRUN, - (5P ) 01,-(SP) SP,RO STAFLG READEF 0EF .RES :IF POMER FAIL HAS NOT OCCURRED THEN: 1UPDATE PASS COUNT WHEN MOV TRAP 1SUPERVISOR IS IN NEW PASS 0EF .NEW, RO CSREFG sAND DIAG WAS NEITHER STARTED I NOR MOV TRAP 0EF .RES,RO CSREFG ) MISCELLANEOUS SECTIONS INITIALIZE SECTION 3177 021704 3178 021706 103402 005103 3180 021710 3181 021712 000401 3179 3182 021712 3183 3184 021714 3185 3186 021714 3187 021716 3188 021716 3189 3190 021720 3191 3192 021720 3193 3194 021720 3195 021720 3196 021724 3197 021726 3198 021726 000401 503464: 005203 004767 005002 175156 026527 002604 012746 016546 016546 012746 000340 002554 002534 000003 3215 022036 503473 R3 BR 503504 INC R3 BR 503514 INC R3 104437 062706 005065 005703 503444: 177777 50352¢: 1SET 1ST PASS IF NEW PASS AND 1 STARTING PC,.FIRSTY R2 sLET R2 := 00 BEQ INC MOV ASR 503534 R2 RS,.RO RO 8CC MOV MOV ADO MOV MOV MOV TRAP CS$GPHRD 503544 s IFCOND CS THEN (RO),TSDB(RS) :SAVE T3508 ADORESS. (RO)+,TSSR(RS) sSAVE TSSR ADDRESS. #2,TSSR(RS) (RO)+,TSVCT(RS) s SAVE INTERRUPT VECTOR ADDRESS. (RO), TSUNT(RS) 1SAVE NUMBER OF DRIVE (RO), TSNP $1SAVE FOR PRINT QUT'S ;WHILE DEVTBL(RS) NE @END DO c DEVTBL(RS), #END SETVEC 003472 CLR RO,RO TST R3 3220 022050 000403 3232‘42’13’ 022052 012765 003326 000001 003326 503564: 503574 : 50355%: INTFLG(RS) R3 B8GE INC 005703 sGET HARDMARE P TABLE FROM SUPER. TSVCT(RS),TSSINT(RS),@INTPRI TST 002003 005265 s INIT DEVICE POINTER. s INIT DEVICE COUNTER. tLET R2 := R2 + 01 tLET RO := RS SHIFT -1 000010 3217 022042 g{g 022044 3224 022060 3225 3226 022060 sRESTARTING JSR CLR BEQ 3221 022052 1SET 1ST PASS IF NEW PASS AND 1OR ON POMER FAIL GPHARD 002524 sRESTARTED ;00 IT 100 NOT UPDATE IT ON CONTINUE 001410 3216 022040 s IFCOND CC THEN tLET RS := COMP R3 50345: 002514 002524 000002 002534 003532 161532 3214 022034 8CS comM 50351%: 104442 103044 011065 012065 062765 012065 011065 011067 3212 3213 022030 SEQ 010% 503504 : 021744 3204 021746 3205 021750 3206 021754 3207 021760 3208 021766 3209 021772 3210 021776 022006 022012 022016 022022 022024 ———— 005203 001456 005202 010500 006200 3211 022002 022002 14-JUN -84 18:32 50347%: 3199 021734 3200 021736 3201 021740 3202 021742 3203 021744 - MACRO M1113 503554 503564 PASCNT(RS) BR 503574 MOV 01 ,PASCNT(RS) MOV MOV MOV MOV ®INTPRI, -(SP) TSSINT(RS), -(SP) TSVCT(RS), -(SP) 03,-(SP) TRAP C$SVEC ADD 010,5P 1SET UP INTERUPT PROCESSING CONDITIONS. 1CLEAR INTERRUPT FLAGS. sACTUAL PASSCOUNT UPDATE PER R3 :IF R3 LT 00 THEN tLET PASCNT(RS) := PASCNT(RS) . 01 tLET PASCNT(RS) := 01 MISCELLANEOUS SECTIONS INITIALIZE SECTION MACRO M1113 14-JUN-84 18:32 3227 503544; 3228 022060 3229 022060 005065 003376 3230 022064 3231 004767 175060 : 503533 3233 022072 3235 022072 005702 022076 022102 022106 022110 022112 3238 022116 022116 022122 022124 022130 022132 022136 022140 022144 3239 022146 022146 3240 022150 s0qy 022150 012746 005114 012746 000001 010600 104417 062706 000004 012727 000000 016727 000000 005367 001375 005367 001367 000310 157766 177772 177756 104422 104444 3242 022152 3243 3244 3245 022152 022156 3246 022160 104441 105767 160027 3248 022166 032767 0C0020 3247 022164 001033 3249 022174 001027 3250 022176 004767 3251 022202 026527 002608 3254 022212 3255 022216 105067 161312 012746 012746 012746 012746 000340 023730 000004 000003 3253 022210 001421 022240 3256 3257 022244 3258 022252 3259 022254 3260 50352$ ST R2 503604 sCLEAR RECORD COUNT 400 IT FOR ALL DEVICES. s IF THERE ARE NO UNITS: PRINTF @AUDRPM sPRINT ALL UNITS DROPPED, DELAY 200. 1GO TO SUPERVISOR, WAIT 2 SECONDS. MOV MOV MOV TRAP ADO BREAK DOCLN MOV .MORD MOV .MORD DEC BNE DEC BNE 1GO TO SUPERVISOR, CHECK TTY. TRAP D0 CLEAN CODE + ABORT PASS. SETPRI #PRIOO ;LOWER CPU PRIORITY TO O TST8 IREC TRAP s IF ERROR RECOVERY IS ENABLED BIT #ADR , OPFLAG 104437 BNE 161342 174700 3252 022202 022236 BR PC,NEXTU SEQ 0107 TRAP GAUDRPM, (SP) 01,-(SP) SP,RO CHPNTF 04,5P 9200.,(PC)+ LSOLY,(PC)e O -6(PC) .-4 ~22(PC) .-20 0 CBRK C$OCLN 503604: 022152 012700 000000 022216 022222 022226 022232 RECCNT(RS) BNE 3236 022074 001026 3237 022076 CLR JSR 3232 022070 000716 3234 D9 177777 062706 000010 012767 000001 161164 000404 000167 000622 503624 : BNE JSR 14 PC.FIRSTU P DEVTBL(RS ), 9END CLR8 SETVEC TRAPD4 ©4,0TRAP4, #INTPRI BEQ 1: 1 MOV BR JHP 14 01, TIMEL 50365+ 50363+ MOV #PRI00,RO C$SPRI 1AND AUTO-DROP NOT CALLED, THEN SET UP FOR FIRST WHILE THERE ARE MORE DEVICES: 1CLEAR TRAP FLAG ySET VECTOR 4,PRIORTY 26 MOV MOV MOV MOV TRAP ADD sSTART 3.5 MINUTE COUNTER 1INCR TIMEL FROM @1 TO 25 BY o1 @INTPRI, -(SP) OTRAPS, - (SP) 04, -(SP) 03, -(5P) CHSVEC 010,5P - MISCELLANEOUS SECTIONS INITIALIZE SECTION 3261 022260 3262 022260 3263 022264 3264 022264 3265 022272 3266 022274 3267 022302 022302 022306 022310 022314 022316 022322 022324 022330 3269 022340 3270 022344 3271 022346 3272 022352 3273 022376 3274 022404 3275 022406 3276 022410 3277 3278 022412 3279 3280 022414 3281 022420 3282 022446 3283 022452 3284 022502 MACRO M1113 503654 : 161152 026727 003134 012775 161146 000025 002340 002514 012727 000000 016727 000000 005367 001375 005367 001367 000025 012700 104436 105767 001423 005265 000004 016546 012746 012746 010600 104417 062706 016567 010500 006200 002524 005543 —— 0GSCPK ,8TSDB(RS) 25 sAND GET UNITS STATUS sWAIT CLRVEC TSTB 161164 BEQ INC 003366 PRINTF &4 TRAPD4 24 FTLCNT(RS) ONODEV, TSSR(RS) ;CLEAR VECTOR AT 4 MOV MOV 175004 ASR DEVTBL(RS),DROPN R5,RO RO RO 000340 023730 000004 000003 005775 000010 002524 2%: . — — i ——— . CLR8 SETVEC MOV TRAP 025,(PC). O L$OLY,(PC)O -6(PC) .-4 -22(PC) .-20 04 ,RO C$CVEC tLET FTLCNT(RS) := FTLCNT(RS) + &1 ;PRINT ERROR MOV TSSR(RS), -(SP) MOV ONODEV, -(SP) MOV TRAP ADD SP,RO CS$PNTF TRAP CsDO0OV TRAP C$OCLN MOV MOV Q@INTPRI, -(SP) OTRAP4, -(SP) ;:SAVE @ OF UNIT TO BE DROPPED. +RO=LOGICAL DEVICE NUMBER ;DROP THE UNIT 06,5P TRAPD4 04 ,0TRAP4 , 6INTPRI :CLEAR TRAP FLAG :SET VECTOR 4,PRIORTY a6 MOV 03,-(SP) TRAP ADD C$SVEC 210,SP MOV 025,(PC). 157432 MOV L4DLY,(PC). 177772 DEC -6(PC) 177756 DEC Bm -22(PC) 0-20 MOV 24 ,RO 012727 000000 016727 000000 005367 001375 005357 001367 000025 012700 000004 . + EXEC BGNOU-ENDDU CODE iF IDU = O ;00 CLEAN EABORT DOCLN 104444 DEC BNE DEC BNE :IFB TRAPD4 NE €0 THEN 000002 012746 012746 012746 012746 MOV .WORD MOV .WORD 177756 161110 < TIMEL, @25 41 177772 105067 e SEQ 0108 157602 002604 S TIMEL S0365%: 104451 104437 062706 e E9 14-JUN-84 18:32 005267 @ —— TST DELAY 8TSSR(RS) 25 ;+CHECK FOR ADDRESS sWAIT BNE CLRVEC @4 1CLEAR VECTOR AT 4 .-4 Sl MISCELLANEOUS SECTIONS INITIALIZE SECTIOCN 022506 3285 022510 3286 022514 3287 022516 3288 022522 022522 022526 022532 022536 104436 105767 001424 005265 016546 012746 012746 010600 104417 062706 016567 010500 006200 MACRO M1113 14-JUN-84 18:32 161014 002524 005543 000006 002604 174634 022662 022664 022672 022674 022702 022704 3303 3304 3305 3306 3307 3308 3309 022706 3310 022706 022706 022712 022716 022722 022724 022726 012727 000000 016727 000000 005367 001375 005367 001367 032775 001420 032775 001001 000457 sPRINT ERROR MOV DEVTBL(RS),DROPN sSAVE @ OF UNIT TO BE DROPPED. MOV $ R5,R0 RO RO 4%: 165174 3s: 002514 BGT JSR MOV DELAY 000025 sLET FTLCNT(RS) := FTLCNT(RS) + @1 MOV MOV MOV MOV TRAP ADD ;DROP THE UNIT Cs000V ;00 CLEAN EABORT TRAP CSDCLN 503674 PC,SETDEF g;.GTSDB(RS) :SET UNIT NUMBER MOV O .WORD O DEC BNE DEC BNE 177756 000025 0GSCPK,8TSDB(RS) 25 177772 177756 @TS.SSR,8TSSR(RS) 160622 005456 000002 000006 sWAIT MOV 002524 BIT BNE BR 503704 07S.0FL ,8TSSR(RS) 503714 503644 PRINTF @OFLINM, TSNP L$OLY,(PC). -&(PC) .-4 -22(PC) .-20 825,(PC)- .WORD O .WORD O MOV 157250 000100 ;AND GET UNITS STATUS 025,(PC)- .WORD 177772 MOV DELAY 06,SP TRAP MOV 002514 TSSR(RS), -(SP) ONODEV, -(SP) #2,-(5P) SP,RO CSPNTF 1RO=LOGICAL DEVICE NUMBER 157306 002340 CsCveC s EXEC BGNDU-ENDOU CODE IF IDU = O DOCLN S03714: 016746 012746 012746 010600 104417 062706 PRINTF FTLCNT(RS) ONODEV, TSSR(RS) DODV 003127 012727 000000 016727 000000 005367 001375 005367 001367 012775 INC ASR 104444 TRAP ;RAPDQ 000002 104451 004767 010475 :IFB TRAPD4A NE 00 THEN TST8 BEQ 003366 SEQ 0109 L$DLY,.(PC)+ -6(PC) DEC BNE .-4 -22(PC) DEC B!NE .-20 :IF 0TS.SSR SETIN @TSSR(RS) THEN +IF O7S.OFL NOTSETIN @TSSR(R5) THEN $EXIT COUNTER WHEN UNIT ON LINC ;PRINT UNIT OFF LINE EVES; 10 SEC MOV MOV TRAP ADD Q0FLINM, -(SP) SP,.RO CS$PNTF 06,SP MISCELLANEOUS SECTIONS INITIALIZE SECTION MACRO M1113 14-JUN-84 18:32 3311 331§ 022732 50372%: 3314 022732 3315 022734 000412 022734 022740 022744 022750 022752 - 022754 016546 012746 012746 01060C 104417 062706 50370%: 3316 022734 1 3318 022760 000001 3322 022770 005267 160444 3324 022774 3325 023002 160440 3326 023004 023004 023010 026727 003C16 012727 000000 000144 023016 000000 023012 023020 023024 023026 023032 3327 023034 023034 001367 cHP BGT TIME2,013 503764 DELAY 100. sWAIT FOR UNIT "0 BE SET ON-LINE 177756 BREAK 104422 012700 000004 3334 023052 3335 023060 3336 023062 026727 003404 004767 160360 104436 004767 50376%: 5035674 : 503644 : 000025 sALLOW TERMINAL INTERRUPT BR 50375¢ JMP 50366 CLRVEC o4 cHP BLE 167646 170360 3339 023072 004767 174052 ;33:2 023076 000167 177100 105767 3348 023106 001026 023110 104431 160421 ;:CLEAR VECTOR AT 4 TIMEL, 25 S50377¢ JSR PC,MOVMSG JSR PC,TCC1 S0377%: g;g 023072 3349 023110 TIME2 .WORD 0100.,(PC). O .WORD O DEC BNE DEC 023044 3345 023102 3346 023102 3347 023102 INC JSR PC,NEXTU 503634: 503614 : JHP 503624 TST8 PWRFLG BNE 50400% MEMORY DATAWT DEVTBL(RS), -(SP) ONRDYM, -(SP) 02,-(SP) SP,RO CS$PNTF 06,5P :INCR TIME2 FROM 01 TO 013 BY @1 177772 177214 3340 000013 50374%: 01, TIME2 50374 005367 001375 005367 000167 3337 023066 50375%: MOV B8R MOV 3330 027040 023050 50373$: 157100 000754 3331 023044 3332 023044 3333 023044 160452 016727 3328 023036 3329 023040 MOV MOV MOV MOV TRAP ADD 000006 012767 000402 3323 022774 PRINTF ONRDYM,DEVTBL(RS) 002604 023700 000002 3319 022760 3320 022766 3321 022770 50373¢ BR g 331 SEQ 0110 L$OLY,(PC). -6(PC) .-4 -22(PC) - TRAP C$BRK MOV @4,RO TRAP +IF OFF LINE FOR 3.5 MINUTES CsCveC :GET MESSAGE PACKET sPRINT ERROR AND DROP OFF LINE UNIT ;REPEAT UNTIL ON LINE OR TIMED OUT. :SET UP FOR NEXT UNIT. ;IFB PWRFLG EQ 00 THEN tREQUEST MEMORY FROM SUPER FOR RD/WR BUFFERS. TRAP CS$MEM H9 MISCELLANEOUS SECTIONS - INITIALIZE SECTION : 010067 016767 062767 027727 002011 023112 023116 023124 023132 023140 023142 023142 023146 023152 023154 023156 3355 023162 023162 3356 3357 023164 3358 3359 023164 010600 023164 023170 023174 023200 105067 012703 004767 105067 3350 3351 3352 3353 3354 3360 3361 3362 3363 3364 3365 3366 012746 012746 104417 062706 MACRO M1113 160270 160264 004000 160250 BGE SDATAWT ,#DATCNT 504014 PRINTF OMEMOM 000004 DOCLN ;SET RD BFR ADDRFSS MOV RO,DATAWT ;WHEN NOT ENOUGH FREE MEMO AVAILABLE sWARN OPERATOR MOV MOV MOV :AND ABORT PASS ADD —_— OMEMOM, -(SP) e1,-(SP) SP,RO CSPNTF 04,5P C$DCLN :DIAG MUST BE RE-LOADED IN A CPU WITH LARGER MEMO S04014: 504004: 157024 003526 167464 160323 101 122 116 101 055 101 3368 023264 023267 023272 023275 023300 023303 023306 3375 cMP 104432 3369 3370 3371 023312 023312 023312 3372 DATAWT,DATARD ODATCNT ,DATARD TRAP 055 ' 160256 004000 SEQ 0111 023210 000001 115 117 117 123 114 106 3373 3374 MOV ADD 160264 104444 3367 : | 14-JUN-84 18:32 111 114 107 115 116 104411 106 105 105 MEMOM: CLR8 MOV JSR CLR8 CHGFLG OENDFLG,R3 PC,CLRERR PWRFLG EXIT INIT ;CLR CHANGE CMD SEQ TBL FLAG. tLET R3 := 9ENGFLG sCLEAR ALL FLAGS. :CLEAR THE POWER FAIL FLAG. .ASCII /#AFREE MEMO TOO SMALL FOR RD-WR BFRSsN/ .ASCIZ /#ARE-LOAD IN LARGER MEMOsN/ TRAP CS$EXIT . WORD L10012-. TRAP CS$INIT 117 115 114 117 122 127 102 123 122 114 116 101 115 117 .EVEN L10012: .SBTTL jee ENDINIT AUTO DROP SECTION - MISCELLANEOUS SECTIONS AUTO DROP SECTION . | MACRO M1113 14-JUN-84 18:32 3382 3384 023320 3385 023320 3386 023326 3387 023330 3388 023334 023334 023340 023344 023350 023354 023356 3389 3390 3391 3392 3393 3394 :FROM INTERFACE '-- L$AUTO:: 004767 173562 026527 001525 105067 002604 012746 012746 012746 012746 000340 023730 104437 062706 017502 177777 S50402¢: 001423 005265 016546 012746 012746 010600 104417 062706 016567 010500 JSR PC,FIRSTU ;WHILE DEVTBL(RS) NE #END DO CcMP DEVTBL(RS), #END 50403$ TRAPD4 sFIND FIRST UNIT : ;LET TRAPD4 :B= 40 SETVEC ©4,0TRAP4,0INTPRI :SET VECTOR 4 MOV MOV QINTPRI, -(SP) OTRAP4, -(SP) TRAP C$SVEC 000003 000010 002514 MOV 8TSDB(R5),R2 CLRVEC @4 012700 104436 105767 BGNAUTO BEQ CLRB 160174 TSTB 160130 BEQ INC 003366 002514 TRAPD4 50404 FTLCNT(RS) s ADDRESS TSOS INTERFACE ;:CLEAR VECTOR AT 4 :IFB TRAPD4 NE 00 PRINTF @AUTODM, TSDB(RS) 000002 ADD MOV TRAP iHEN ;PRINT ERROR 000452 012775 004767 032775 001423 032775 001416 005265 002340 167216 016746 012746 012746 010600 104417 062706 004767 160022 000100 003366 002514 MOV DEVTBL(RS),DROPN 00OV RO BR S50405¢ :g; 50404% : MOV 002524 BIT 002524 BIT BEQ BEQ INC zg.RO ADD TSDB(RS), -(SP) QAUTODM, -(SP) SP,RO C$PNTF #6,5P :SAVE @ OF UNIT TO BE DROPPED. ;RO=LOGICAL DEVICE NUMBER :DROP THE UNIT: EXEC BGNDU-ENDDU CODE IF IDU = O #GSCPK,3TSOB(RS) JSR PC,WSSR #7S.SSR,8TSSR(RS) 504064 TRAP C$DODV :SEND GET STATUS COMMAND sWAIT +IF O0TS.SSR SETIN @TSSR(RS) THEN o7S.0FL ,8TSSR(RS) ;IF @TS.OFL SETIN ®TSSR(RS) THEN FTLCNT(RS) ;LET FTLCNT(RS) := FTLCNT(RS) + @1 504074 PRINTF @OFLINM, TSNP 000002 MOV MOV MOV TRAP 173566 #4 ,RO CsCveC MOV MOV TRAP 173750 ©10,SP sLET FTLCNT(RS) := FTLCNT(RS) + @01 MOV 104451 3410 SEQ 0112 :SECTION EXECUTED AFTER THE INIT CODE WHEN "ADR” FLAG IS SET BY OPERATOR :SECTION CHEKS FOR A VALID INTERFACE LOCATION. DROPS UNIT IF NO RESPONSE 3376 3377 3378 3379 3380 3381 023314 023314 3383 023314 19 JSR PC,DROPUA ADD TSNP, -(SP) Q0FLINM, -(SP) SP,.RO C4PNTF @6,SP MISCELLANEOQUS SECTIONS MACRO M1113 - AUTO DROP SECTION 14-JUN-84 18:32 3411 3412 023536 3413 3414 3415 3416 3417 023536 023540 023540 023544 023544 023550 023554 023560 023562 023564 3418 023570 3419 3420 023574 023574 023574 023600 023602 023615 023620 023623 023626 3431 023627 023632 023635 023640 023643 023646 023651 023654 023657 023662 023665 023670 023673 023676 3432 023700 023703 023706 023711 023714 023717 023722 023725 3433 SEQ 0113 50407$: 000416 005265 003366 016546 012746 012746 010600 104417 062706 004767 002604 504064: BR 504104 INC FTLCNT(RS) PRINTF ONRDYM,DEVTBL(RS) sLET FTLCNT(RS) := FTLCNT(RS) 023700 000002 JSR PC,DROPUA 173530 MOV MOV MOV MOV + M DEVTBL(RS), -(SP) ONRDYM, -(SP) SP,RO TRAP ADD CS$PNTF TRAP C$AUTO 06,SP 50410%: 004767 50405%: 173350 000647 50403 : 023602 023602 023602 3430 023604 023607 023612 J9 L10013: 101 102 040 AUTODM: JSR PC,NEXTU BR 504024 ENDAUTO .ASCII /#ABUS TRAP AT s06%N/ .ASCIZ /#AINTERFACE BAD OR NOT SET TO ABOVE ADSN/ .ASCIZ /#AUNIT #D1%A NOT RDY®#N/ 101 101 045 111 101 104 122 117 123 040 117 045 125 124 NRDYM: 101 117 122 045 .EVEN K9 MISCELLANEOUS SECTIONS AUTO DROP SECTION MACRO M1113 14-JUN-84 18:32 3434 3435 3436 3437 ; i 1 | : 3 3 3438 3439 023730 3440 023734 2441 105267 000002 157574 DEVICE BUS TRAP HANDLER OUTPUT: TRAPD4 BYTE 1: TRAPED AT 4 0: NO TRAP TRAP4:: INCB RTI 3442 SEQ 0114 TRAPD4;LET TRAPD4 :B= TRAPD4 + @1 3443 .SBTTL 3445 3446 g : THE CLEANUP CODING SECTION CONTAINS THE CODING THAT IS PERFORMED 3448 $-- 3444 3447 ; AT THE END OF EACH PASS. 3449 3450 023736 BGNCLN — 023736 L$CLEAN: : 3452 023736 004767 173140 3454 023742 026527 002604 3453 023742 3455 023750 3456 023752 3457 023756 023756 023762 001410 004767 016500 104436 33:.;)3 023764 004767 3460 023770 3461 023772 3462 3463 023772 000764 023774 000002 023772 3464 CLEANUP CODING SECTION 3465 3466 023776 023776 Sand 023776 177777 S0411%: JSR PC.FIRSTU cMP DEVTBL(RS),#END ;WHILE DEVTBL(RS) NE #END DO BEQ 50412 JSR PC,WSSR CLRVEC 166722 002534 173160 JSR 504124 : 104432 TSVCT(RS) PC,NEXTU BR S50411¢ EXIT CLN ;FIND FIRST UNIT. sWAIT FOR UNIT READY OR TIMEOUT, ;RELEASE INTERRUPT VECTORS FOR ALL DEV. MOV TRAP sFIND NEXT UNIT. TRAP .EVEN L10014: 104412 .SBTTL 3470 3471 s ; THE DROP-UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE 3472 33:;2 CSEXIT .WORD L10014-. TRAP C$CLEAN ENDCLN 3468 3469 TSVCT(RS),.RO C$CVEC DROP UNIT SECTION ; TO NO LONGER BE TESTED. THAT CODE SHALL BE EXECUTED WHEN DODU ;MACRO IS CALLED WHILE IDU FL 3 IS NOT SET BY OPERATOR ,-- 3475 3476 024000 — 024000 L$DV:: 3478 024000 3479 024002 3480 024004 010005 006305 012765 177774 024012 016500 002534 3481 024012 002604 BGNDU MOV ASL MOV RO,RS RS ONINUSE ,DEVTBL(RS) CLRVEC TSVCT(RS) ;RS = LOGICAL DEVICE NUMBER X 2. s1SET NOT IN USE FLAG FOR THE DEVICE. ;RELEASE THE INTERRUPT VECTOR. MOV TSVCT(RS),.RO S— ' MISCELLANEOUS SECTIONS , DROP UNIT SECTION 024016 3482 024020 024020 024024 02403C 024034 024036 024040 3483 024044 024044 024046 3486 024050 024050 024050 MACRO M1i13 PRINTF 173364 016746 012746 012746 005065 000002 062706 000006 010600 104417 ————— EXIT 4DROPDM,DROPN TRAP ;PRINT DROP DEVICE MESSAGE MOV MOV MOV MOV oV .EVEN L10015: 104453 .SBTTL — SEQ 0115 CsCvecC DROPN, -(SP) ADD ®DROPDM, -(SP) #2,-(SP) SP,RO C$PNTF #6,SP .WORD .WORD JSJUMP L10015-2-. TRAP csov TRAP 000167 000000 -— L9 14-JUN-84 18:32 104436 i ENDDU ADD UNIT SECTION e ; THE ADD-UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE : TO BE (A) TESTED FOR THE FIRST TIME, OR (B) RESUMED IN TESTING. : "EF.AUNIT” IS SET, THE UNIT WILL BE TESTED AS A NEW UNIT. IF '-- 3497 024052 010005 3499 024056 010065 024062 3501 024064 104442 011065 3503 024074 3504 3505 3506 3507 024102 024106 024112 024116 024116 024122 024126 024132 024136 024140 3508 3509 024144 3510 3511 024150 024150 024152 3512 3513 3514 3515 024154 024154 024154 062765 011065 011065 011067 L$AU:: BGNAU 002604 MOV ASL MOV RO,.RS RS RO,DEVTBL(RS) 002514 002524 000002 002534 003532 157416 MOV MOV ADD MOV MOV MOV (RO),TSDB(RS) (RO)+,TSSR(RS) #2,TSSR(RS) (RO),TSVCT(RS) (RO),TSUNT(RS) (RO), TSNP 012746 016546 016546 012746 104437 062706 000340 002554 002534 000003 005065 003472 GPHARD 002524 RO,RO SETVEC TSVCT(RS),TSSINT(RS),®INT 000010 000167 000000 CLR INTFLG(RS) EXIT AU :R5 = LOGICAL DEVICE NUMBER X 2. :STORE UNIT ¢ IN DEVICE TABLE. ;:GET HARDWARE P TABLE FROM SUPER. TRAP C$GPHRD :SAVE TSDB ADDRESS. :SAVE TSSR ADDRESS. :SAVE INTERRUPT VECTOR ADDRESS. :SAVE NUMBER OF DRIVE &S&VE FOR PRINT QUT'S MOV MOV TSSINT(RS), -(SP) TSVCT(RS), -(SP) TRAP C$SVEC .WORD .WORD JS$JUMP L10016-2-. TRAP CsAV ADD 210,SP :SET UP INTERUPT PROCESSING CONDITIONS. ;CLEAR INTERRUPT FLAGS. .EVEN 104452 L10016: ENDAV MISCELLANEOUS SECTIONS ADD 'NIT SECTION MACRO M1113 M9 14-JUN-84 18:32 3516 3517 3518 3519 3520 3521 3522 3523 SEQ 0116 .TITLE HARDWARE TESTS ,SBTTL TEST 1: BASIC FUNCTIONS. '00 ; TEST TO EXECUTE ALL TSOS FUNCTIONS. ‘-- BGNMOD 3527 024156 3528 3529 024156 024156 3530 3531 024156 3532 024162 3533 3534 024166 024166 024166 3535 3536 3537 3538 3539 024170 024174 024200 024202 024202 024204 024206 024210 3540 3541 024212 3542 024216 3543 024222 3544 024226 3545 024232 3546 024236 3547 024236 3548 024244 3549 024246 3550 024252 3551 024256 3552 024262 3553 024270 3554 024274 3555 024302 3556 3557 024332 024332 Ti:: 105067 105067 157333 CLRB 157326 s RANDOM CLRB EXPBOT BGNSUB ;CLR THE RANDOM OPERATIONS FLAG. ;CLR EXPECT BOT FLAG. ;SUBTEST 1 - SET CHAR, DRIVE INIT, GET STATUS. e 104402 004767 004767 103404 BGNTST 172706 162672 JSR .Blgg ERRDF 104455 PC,FIRSTU l;tl:;sormn 2,NSSRM, STAERM 026527 001451 016502 062702 011265 042765 011265 042765 016546 016546 012746 012746 010600 104417 062706 016546 163250 025074 000622 163774 172644 002604 177777 002544 000012 002564 177700 002564 002574 177477 002564 002604 004162 000003 000010 002574 002574 (C$8SUB TRAP LMORD .MORD .WORD CS$ERDF 2 NSSRM STAERM ;FIND THE FIRST UNIT. ;INIT DEVICE ;REPORT TSO0S NOT READY 004536 006120 004767 012702 004767 004767 004767 TRAP 118: JSR PC,MDSET :GO DO SETUP' MOV 08F SEQO, R2 ;ADR OF CMD SEQ. JSR PC.BFSEQ :SET UP CMD SEQ. JSR PC.,EXALL ;EXECUTE CMD SEQ ON ALL DEVICES. JSR PC.FIRSTU ;FIND THE FIRST UNIT. S04138: ;WHILE DEVTBL(RS) NE OEND DO ;WHILE THERE ARE MORE DEVICES: cH DEVTBL(RS), 9END BEQ 504144 MOV MSGPKA(RS ), R2 ;GET MSG PACKET ADR, ADD 012,R2 ;LET R2 := R2 + 012 ;GET XSTAT2 ADR, MOV (R2),TSSCL(RS) :STORE CODE LEVEL FROM DTR BYTE, eIC 0177700, TSSCL(RS) MOV (R2),TSSSW(RS) ;STORE SWITCH SETTINGS BIC 0177477, TSSSW(RS) PRINTF @CODELM,DEVTBL(RS), TSSCL(RS) MOV MOV MOV MOV MOV TRAP ADD TSSCLCRS), -(SP) DEVTBL(RS), -(SP) OCODELM, -(SP) 03, -{SP) SP,RO C$PNTF #10,5P MOV TSSSW(RS), -(SP) ;PRINT THE TSOS MICROCODE LEVEL. PRINTF OSWSET,DEVTBL(RS), TSSSW(RS) HARDWARE TESTS TEST 1: MACRO M1113 BASIC FUNCTIONS. 024336 024342 024346 024352 024354 024356 3558 3559 024362 016546 012746 012746 010600 104417 062706 3560 024362 004767 3562 024366 000723 3561 3563 024370 14-JUN-84 18:32 002604 172562 3569 024374 3570 024400 3571 024404 3572 024410 012702 004767 004767 105067 3573 024414 024414 — 024414 L10020: T1.2: 025146 000444 163616 157112 104403 — 024416 104402 3577 024420 3578 024424 3579 024430 012702 004767 004767 3580 024434 024434 — 024434 T1.3: 025160 000420 163572 3582 024436 JSR BR ENDSUB ENDSUB 3586 024450 004767 163552 JSR 3589 024456 024456 Shee 024456 104402 3591 024460 012702 3532 024464 004767 T1.5: 025324 000360 CsB8SUB ;ADR OF CMD SEQ. :SET UP CMD SEQ. ;EXECUTE CMD SEQ ON ALL DEVICES. ;CLEAR START FLAG ENDSUB #BFSEQ2,R2 PC,BFSEQ PC.EXALL C$ESUB ;SUBTEST 4 - WRITE TAPE MARK, ERASE. #BFSEQ3,R2 ;ADR OF CMD SEQ. PC,EXALL ;EXECUTE CMD SEQ ON ALL DEVICES. PC,BFSEQ BGNSUB csBsSuB :SET UP CMD SEQ. CSESUB ;SUBTEST S - SPACE FILES. TRAP JSR csBSuUB ;ADR OF CMD SEQ. :SET UP CMD SEQ. ;EXECUTE CMD SEQ ON ALL DEVICES. TRAP MOV C$ESUB SUBTEST 3 - WRITE/VERIFY. TRAP JSR L10023: #BFSEQ1,R2 PC,.BFSEQ PC.EXALL STAFLG BGNSUB MOV 104403 TRAP TRAP 025252 024454 - 024454 CSESUB TRAP 012702 3587 024454 TRAP ;SUBTEST 2 - REWIND. BGNSUB 3584 024440 000400 sFIND NEXT UNIT. TRAP 104402 004767 OSMSET, -(SP) 03,-(SP) SP,RO CSPNTF 010,5P 50413 BGNSUB 024436 — 024436 3585 024444 T1.4: PC,.NEXTU DEVTBL(RS), -(SP) ENDSUB MOV JSR JSR L10022: 104403 ;PRINT THE TSOS SWITCH SETTINGS. MOV JSR JSR CLRB L10021: 3575 024416 024416 S0415%: S0414%: 104403 104402 MOV MOV MOV MOV TRAP ADD 000010 3565 024370 3567 024372 024372 — 024372 SEQ 0117 004231 000003 3564 024370 Saut 024370 N9 #BFSEQ4 ,R2 PC,BFSEQ ;ADR OF CMD SEQ. ;SET UP CMD SEQ. csBsSuB MARDWARE TESTS TEST 1: 3593 024470 3594 024474 024474 3595 MACRO M1113 BASIC FUNCTIONS. 024474 004767 14-JUN-84 18:32 163532 3596 024476 024476 ’ 024476 104402 3598 024500 3599 024504 3600 024510 012702 004767 004767 359 3601 024514 024514 024514 T1.6: 025366 000340 163512 104403 104402 i 3605 024520 3606 024524 3607 024530 012702 004767 004767 025440 000320 163472 024534 024534 3610 024536 024536 611 024536 104402 3612 024540 3613 024544 3614 024550 012702 004767 004767 3615 024554 024554 S 024554 025512 000300 163452 104403 2518 024556 104402 3619 024560 3620 024564 3621 024570 012702 004767 004767 3622 024574 024574 2623 024574 71.9: 025544 000260 163432 3624 024576 71.10: ENDSUB #8F SEQ6 ,R2 PC.BFSEQ PC.EXALL BGNSUB 0BFSEQ7,R2 PC.BFSEQ PC.EXALL BGNSUB MOV 3628 024610 004767 163412 JSR JSR ENDSUB CSESLB t1SUBTEST 9 - READ FWD RETRY, #8F SEQ8,R2 PC.BFSEQ PC.EXALL BGNSUB 025576 csBsuB +ADR OF CMD SEQ. :SET P CMD SEQ. sEXECUTE CMD SEQ ON ALL DEVICES. TRAP 012702 CS$ESUB 1SUBTEST 8 - READ REV RETRY, TRAP 3626 024600 csasuB sADR OF CMD SEQ. 1SET UP CMD SEQ. sEXECUTE CMD SEQ ON ALL DEVICES. TRAP ENDSUB CSESUB tSUBTEST 7 - WRITE RETRY, TRAP ENOSUB CsBsum +ADR OF CMD SEQ. 1SET L’ CMD SEQ. E XECUTE CMD SEQ ON ALL DEVICES. TRAP 104402 3629 024614 #BF SEQS ,R2 PC,.BFSEQ PC.EXALL BGNSUB ENDSUB CSESLB 1SUBTEST 6 - SPACE RECORDS. TRAP 024576 024576 3627 024604 004767 000240 +EXECUTE CMD SEQ ON ALL DEVICES. TRAP MOV JSR JSR L10030: 104403 BGNSUB MOV JSR JSR L10027: PC.EXALL TRAP MOV JSR JSR 71.8: 3617 024556 024556 T.7: L10026: 104403 ENDSUB MOV JSR JSR L10025: 3603 024516 024516 208 024516 3608 024534 JSR L10024: 104403 SEQ 0118 csesus sADR OF CMD SEQ. 1SET UP CMD SEQ. :EXECUTE CMD SEQ ON ALL DEVICES. TRAP CSESUB TRAP csBsuB 1SUBTEST 10- CLEAN. #8F SEQ9,R2 +ADR OF CMD SEQ. PC.EXALL 1EXECUTE CMD SEQ ON ALL DEVICES. PC, BF SEQ 1SET UP CMD SEQ. MACRO M1113 HARDWARE TESTS TEST 1: BASIC FUNCTIONS. 3630 3631 024616 024616 024616 14 - JUN-84 18:32 TRAP 1SUBTEST 11 2.1 104402 012702 004767 004767 112767 004767 105067 MOV JSR JSR 156621 T1.12: 104402 012767 004767 012767 004767 112767 012767 156506 155412 1ENABLE BYTE SWAPPING. sWRITE/VERIFY RECORDS 3 AND 4. sDISABLE BYTE SWAPPING. MOV ADD DATAWT ,R2 010. ,R2 s INIT WRITE BUFFER POINTER, BEQ S0417¢ TRAP 504164 INCB T1Sw8 sSUBTEST 12 - READ SWAPPED DATA BYTES. ORO , CMDWRD R #11,CMOPKT +CP.CNT PC,VFEXC tCHANGE BYTE COUNT TO 9. tVERIFY ODD LENGTH SWAP (RECORD 2). sCHANGE BYTE COUNT TO 10. sVERIFY EVEN LENGTH SWAP (RECORD 1). 1CMD IS READ FWD. s VERIFY EVEN LENGTH SWAP (RECORD 1). sCHANGE BYTE COUNT TO 9. sVERIFY ODD LENGTH SWAP (RECORD 2). 011,CMOPKT +CP.CNT PC, VFEXC SWBFLG PC,VFEXC #11,CMOPKT +CP,CNT 155304 csasus sVERIFY ODD LENGTH SWAP (RECORD 4). oROF 155316 sCMD IS READ REV. TRAP PC,VFEXC #12,CMOPKT+CP.CNT PC,VFEXC PC, VFEXC 155334 PC,VFEXC L10033: 156457 $SET T1 SWAP BYTES FLAG FOR "CKDATA” SUBR PC, VFEXC 156430 171114 1SWAP DATA BYTES IN WRITE BUFFER. 012, CMOPKT +CP.CNT 155360 CSESUB ;UNTIL 10 BYTES HAVE BEEN SWAPPED. #1,SWBFLG 156562 155372 104403 104432 000574 S0417%: csssue IWRITE/VERIFY RECORDS 1 AND 2. 01, SWBFLG PC,EXALL SWBFLG SWAB -(R2) 000773 105067 sADR OF CMD SEQ. 1SET WP CMD SEQ. TRAP MOVe JSR CLR8 S04164: ('::;.ILE R2 NE DATAWT DO R2,DATAWT 020267 001402 000342 012767 004767 012767 004767 012767 004767 105067 012767 004767 012767 004767 #BFSE10,R2 PC,.BFSEQ PC,EXALL CSESULB - WTv SWAPPED DATA BYTES, L10032: 104403 016702 062702 105267 SEQ 0119 L.10031: 104403 SSaEnnngn ] 024614 (24614 T10 sCHANGE BYTE COUNT TO 10. sVERIFY EVEN LENGTH SWAP (RECORD 3). tENABLE BYTE SWAPPING. tDISABLE BYTE SWAPPING. sCHANGE BYTE COUNT TO 10. sVERIFY EVEN LENGTH SWAP (RECORD 3). tCHANGE BYTE COUNT TO 9. tVERIFY ODD LENGTH SWAP (RECORD 4). TRAP CLR8 T1Suw8 EXIT TST C$ESUB 1CLEAR T1 SWAP BYTES FLAG TRAP LHORD CSEXIT L10017-. MARDWARE TESTS TEST 1: MACRO M1113 BASIC FUNCTIONS. SEQ 0120 14-JUN-84 18:32 3675 3676 3677 3678 SUBROUTINE TO MOVE A COMMAND SEQUENCE INPUTS: OUTPUTS: REGISTERS: CALLS: TO THE SEQUENCE TABLE. R2 = FWA OF COMMAND SEQUENCE. 3682 025050 (€12701 003540 BFSEQ:: MOV #CMDSEQ,R1 s INIT SEQ TABLE ADORESS. 3684 025054 3685 025060 3686 025062 021227 001402 012221 177777 cHP BEQ MOV (R2),0END 504214 (R2)+,(R1). sMOVE COMMANDS TO SEQ TABLE. 3688 025064 3689 025066 000773 BR 504204 3691 025072 000207 3683 025054 3690 025066 012711 3694 BFSEQO: .WORD 3718 3719 3720 3721 025146 025150 025152 025154 102010 000001 000002 000000 BFSEQ1: 104105 BFSEQ2: g 000001 000000 140004 000040 000001 000000 3724 025160 3725 025162 3726 025164 3727 025166 3728 025170 3729 025172 3730 025174 3731 025176 177777 SCH tWHILE THERE ARE MORE COMMANDS: 1STORE END OF SEQUENCE COOE. tRETURN, 1SET CHAR, 200. (1) :DRIVE INIT. (2) :SET CHAR, 20 (3) :GET STATUS. (4) :SET CHAR. 40. (S) +REWIND TWICE. (6) tWRITE/VERIFY PAT 1. (7 iWTV PAT 2, (8) . WORD 177777 004000 000001 000001 104105 004000 000001 000002 OEND, (R1) PC BASIC FUNCTION COMMAND SEQUENCE 025130 025132 025134 025136 025140 025142 g;g 025156 MOV ' 3710 3711 3712 3713 3714 3715 gZ{g 025144 ;WHILE (R2) NE OEND DO RTS § X 140004 504214 : 3 3696 025074 177777 504208: . WORD WTV DATCNT 1 1 WTV DATCNT 1 e HARDWARE TESTS TEST 1: MACRO M1113 BASIC FUNCTIONS. 3732 025200 3733 025202 3734 025204 3735 025206 3736 025210 3737 025212 104105 004000 000001 000003 104105 004000 3740 025220 3741 025222 104105 004000 3738 025214 3739 025216 3742 025224 3743 025226 3744 025230 3745 025232 3746 025234 3747 025236 3748 025240 3749 025242 3750 025244 3751 025246 377.;)% 025250 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 g;;g 025264 025266 025270 025272 025274 025276 025300 025302 025304 025306 025310 025312 025314 025316 025320 025322 004000 000010 000001 100411 000001 000010 000000 100011 000001 000001 000000 101011 000001 000001 000000 177777 3776 025324 3777 025326 3778 025330 3779 025332 105410 000002 000001 000000 3781 025336 3782 025340 3783 025342 000002 000001 000000 3785 3786 3787 3788 000001 000002 000000 105010 025346 025350 025352 025354 (9) iWTV PAT 4, (10) WTV DATCNT sWTV PAT S, (11) iWTV PAT 6. (12) iWTV PAT 0, (13) ;WRITE TAPE MARK, (14) ;WRITE 10 RECORDS. (15) ;ERASE 10 TIMES. (16) {WRITE TAPE MARK, (17) sWTM RETRY (18) 1SPACE 2 FILES REV, (19) 1 5 WTV DATCNT 100011 000001 000001 000000 3784 025344 iWTV PAT 3, 000001 000005 104105 004000 000001 000006 104105 004000 1 6 WTV DATCNT 000001 000000 177777 .WORD BFSEQ3: 1 0 END WTM 1 1 0 104005 WRT DATCNT 10 1 ERS 1 10 0 WTH 1 1 0 WTR L 1 .WORD BFSEQ4: SEQ 0121 WtV DATONT 1 3 WtV DATCNT 1 4 025252 025254 025256 025260 3780 025334 14-JUN-84 18:32 000001 000004 3754 3755 3756 3757 3758 025262 E10 0 END SFR 2 1 0 105010 SFF +SPACE 2 FILES FWD. (20) 105410 SFR 1 SPACE 2 FILES REV. (21) +SPACE 2 FILES FWD. (22) 2 1 0 1 2 0 SFF — 3794 025366 3795 025370 102010 000001 000001 000000 104010 000007 000001 000000 104410 000007 000001 000000 104010 000001 000007 000000 104410 000001 000007 000000 3796 025372 3797 025374 3798 025376 3799 025400 3800 025402 3801 025404 3802 025406 3803 025410 3804 025412 3805 025414 3806 025416 3807 025420 3808 025422 3809 3810 3811 3812 3813 3814 3815 3816 025424 025426 025430 025432 025434 025436 .WORD BF SEQS: 177777 .WORD BFSEQ6: 025440 5 3793 — sREWIND. (23) :SPACE 7 RECORDS FwD. (24) :SPACE 7 RECORDS REV. (25) +SPACE 7 RECORDS FWD. (26) :SPACE 7 RECORDS REV. 27) sREWIND. (28) sWRITE. (29) ;WRITE RETRY. (30) tWRITE TAPE MARK, 3829 025472 3830 025474 3831 025476 3832 025500 3833 025502 3834 025504 3835 025506 3836 025510 3837 3838 025512 3839 025514 3840 025516 3841 025520 3842 025522 3843 025524 3844 025526 3845 025530 = SEQ 0122 - 000001 000002 000000 177777 14-JUN-84 18:32 go su-§o~n-%o» ~J§OH u%Ov—-» & & 3789 025356 3790 025360 3791 025362 3792 025364 e MOMNr MACRO M1113 BASIC FUNCTIONS. D TEST 1: e F10 Ore =D HARDWARE TESTS @ +SPACE 1 FILE REvV. .WORD 177777 104401 004000 000001 000001 105401 004000 000001 000001 BFSEQ7: ATCNT ;READ REV. (31) tREAD NEXT REV. (32) HARDWARE TESTS TEST 1: MACRO M1113 BASIC FUNCTIONS. 610 14-JUN-84 18:32 3846 025532 125401 3847 025534 3848 025536 3849 025540 3850 025542 3851 3852 025544 3853 025546 004000 000001 000001 177777 104001 BFSEQS: 004000 3854 025550 3855 025552 000001 000001 3857 025556 004000 3856 025554 .WORD SEQ 0123 RNF ;READ NEXT FWD. (33) RDF ;READ FWD. (34) ;READ PREVIOUS FWD. (35) ;READ PREVIOUS REV. (36) DATCNT 1 1 END DATCNT 1 1 105001 RPF 3858 025560 3859 025562 000001 000001 1 1 3861 025566 004000 sasms 025574 177777 .WORD END 101012 BFSEQ9: .WORD CLN ;CLEAN. (37) RWD s REWIND (38) END ;END OF SEQUENCE. WTV ;WRITE/VERIFY EVEN LENGTH. (39) WTV {WRITE/VERIFY 0DD LENGTH. (40) 3860 025564 3862 025570 3863 025572 3866 025576 125001 RPR 000001 000001 1 1 3867 025600 3868 025602 3869 025604 000001 000001 000000 3871 025610 3872 025612 3873 025614 000001 000001 000000 3870 025606 33:;; 025616 3876 025620 177777 3881 3882 3883 3884 000011 000001 000000 177777 3885 .WORD 104105 000012 000001 000000 025632 025634 025636 025640 DATCNT 102010 3877 025622 3878 025624 3879 025626 3880 025630 DATCNT BFSE10: 025642 .WORD .EVEN 025642 L10017; 104401 3889 .SBTTL 3891 oo 3890 3333% 1 1 0 12 1 o 104105 3886 3887 025642 1 1 0 11 1 0 END ENDTST TRAP TEST 2: DATA RELIABILITY. ; TEST TO CHECK THE DATA RELIABILITY OF THE TSOS. ‘-- 3894 025644 — 025644 3896 025644 3897 025652 3898 025656 3899 025662 T2:: 112767 105067 005067 004767 000001 155636 155574 171214 155643 BGNTST MOVB CLRB CLR JSR 01, RANDOM EXPBOT WTMFLG PC,FIRSTY 1SET THE RANDOM OPERATIONS FLAG. ;CLEAR EXPECT BOT FLAG. ;CLEAR WRITE TAPE MARK FLAG tFIND THE FIRST UNIT, CSETST HARDWARE TESTS MACRO M1113 TEST 2: DATA RELIABILITY. 3900 025666 3901 025672 3902 025674 025674 025676 025700 025702 3903 3904 025704 3905 025710 3906 025714 3907 025716 3908 025722 3909 025726 3910 025732 3911 025736 3912 025740 3913 025744 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 025750 025750 025754 025760 025764 025766 025770 025774 025774 3924 3925 025776 3926 025776 3927 026002 3928 026004 3929 026012 3930 026016 3931 026022 3932 3933 026026 3934 026030 3935 026030 3936 026034 3937 3938 026040 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 026066 3950 026072 3951 026100 004767 103404 H10 14-JUN-84 18:32 SEQ 0124 JSR 161200 8CS ERRDF 104455 PC,SOFINIT 11% 2 ,NSSRM,STAERM s INIT DEVICE ;REPORT TSOS5 NOT READY 000002 004536 006120 004767 012702 005302 010267 005167 004767 105767 001417 004767 105067 012721 012721 012702 005102 010221 012721 .WORD .WORD .WORD 161556 11%: 004000 155506 155502 162230 155570 162242 155556 504224 : 104105 177740 000007 1SET UP THE RECORD LENGTH MASK, MOV coM R2, LENMSK LENMSK sALLOW MAXIMUM BUFFER. TST8 STAFLG ;IFB STAFLG NE 00 THEN STAFLG sLET STAFLG :B= &0 BEQ JSR 504244 PC,SETRW MOV OWTV,(R1)+ 504245 : 003740 155422 155416 177741 026160 155422 ;CMD 1 = SET CHARACTERISTIC. 50425%: +IF STARTING THEN: :CMD2=REWIND :CLR START FLAG. @DATCNT, (R1)+ ORNOPSC,R2 R2 R2,(R1). ORANP, (R1)+ s+ DO A SUPVSR BREAK FIRST. TRAP cHP BGE ADD MOV R1,#SEQEND 504254 RANB , RANS RANS,R2 JSR PC,SRANCMO(R2) BR 50424 8IC CSERDF 2 NSSRM STAERM 1GO DO SETUP'S 50423%: BREAK 0177741 ,R2 C$BRK sFILL SEQ TBL WITH RANDOM CMDS. ;LET RANS := RANS + RANB :SET UP A RANDOM CMD + BRF. MOV OEND, (R1) :STORE END OF SEQUENCE CODE IN TABLE. 003540 MOV #CMDSEQ,R1 s INIT CMD SEQ TBL POINTER, 155450 BEQ INCB 504234 ALLEOT sFLAG ALL UNITS @ EOT 177777 162166 012701 005702 001752 004767 012767 005167 ;gAYCNT.RZ MOV MOV coM MOV MOV 004000 012711 004767 105267 PC,MDSET CLR8 000763 000240 000240 000240 004767 JSR seog JSR PC,SETCH 104422 020127 002012 066767 016702 042702 004772 TRAP JSR TST NOP NoP 001546 000126 177740 155440 155444 PC,EXALL R2 JSR PC, TSWEOT JSR MOV coM PC,RANRD ORNOPSC,CMDSEQ+4 CMDSEQ+4 :GO EXECUTE ALL CMDS IN SEQUENCE TABLE. ;REPEAT UNTIL EOT IS REACHED tWRITE ONE RECORD BEYOND EOT ON ALL UNITS :SO THAT SHORTER READ STOP DISTANCE s SHALL POSITION HEAD IN CLEAN IRG GAP :READ REV THAT EXTRA REC TO RE-POSITION THE TAPE 1SET UP READ REV/FWD CMDS, 1® OF RECORDS FOR READ REV, —m— ' HARDMWARE TESTS MACRO M1113 - TEST 2: DATA RELIABILITY. Z 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 026134 026140 026144 026150 016767 012711 004767 105067 112767 012701 004767 012711 004767 026154 026154 02€156 104432 000320 026104 026112 026116 026122 026126 110 14-JUN-84 18:32 155434 177777 162104 155376 000001 003540 162042 177777 162052 SEQ 0125 MOV MOV 155442 JSR CLRB 155363 CMDSEQ+4,CMDSEQ+14 @END, (R1) PC,EXALL MOVB MOV ALLEOT @1,RPTFLG oCMDSEQ,R1 MOV ®END, (R1) EXIT TST JSR PC,SETRW JSR PC,EXALL +® OF RECORDS FOR READ FORWARD. 1STORE END OF SEQUENSE CODE IN SEQ TABLE. 1GO EXECUTE READ REV/FWD OF LAST N RECORDS. sCLEAR ALL UNITS & EOT FLAG sREQUEST PERFORMANCE REPORT DURIMG REWIND. s INIT SEQ TBL POINTER, sSTORE REWIND IN SEQ TBL, :STORE END IN SEQ TBL, :EXECUTE REWIND CMD ON ALL UNITS TRAP .WORD CS$EXIT L10034-. ADDRESSES OF SUBROUTINES USED TO SET UP RANDOM OPERATIONS IN THE DATA RELIABILITY TEST. RANCMD RANWV RANWR RANWR RANWR RANWR sWRITE ;sWRITE. sWRITE. sWRITE. sWRITE. sWRITE. ;WRITE. sWRITE. sREAD. sREAD. sREAD. sREAD. sREAD. sREAD. ;READ. sREAD. SUBROUTINE TO SET UP READ COMMANDS IN SEQUENCE TABLE. INPUTS: OUTPUTS: R2 REGISTERS: CALLS: :: 155232 JSR 000136 000160 155214 003740 104401 004000 155150 155140 177740 026310 000007 003740 TST BEQ 1%: CLR WTMFLG 14 PC,RAWTM PC,RASFR WTMFLG g % + 9SEQEND ORDR, (R1)+ 155144 ODATCNT,(R1)+ RANS , RANB RANB ,R2 ORNOPSC ,R2 RZ.(RI)’ ORANP,(R1)+ g%..sexm sWAS LAST CMD A WRITE? 'NOOGO AHEAD :YES PUT DOWN TAPE MARK sAND SPACE FILE REV ;THEN CLEAR THE FLAG :STORE READ REV CMD. ;SET BRF TO MAX FOR READ RANDOM LENGTHS. ;LET RANB := RANB + RANS iLET R2 := RANB CLR.BY ORNOPSC :SET RANDOM ¢ OF OPERATIONS. 1RANDOM PATTERN. = ' HARDWARE TESTS MACRO M1113 TEST 2: DATA RELIABILITY, | 4007 026312 4008 026316 4009 026322 4010 026324 4011 026330 012721 012721 010221 012721 000207 14-JUN-84 18:32 104001 004000 000007 24: * 4012 | 4014 4015 : H 4833 : | 4013 4016 4017 4018 4 4021 026332 012721 4023 026342 4024 026346 4025 026350 005767 001002 005267 4022 026336 4026 026354 40 4028 004767 000207 INPUTS: OUTPUTS: REGISTERS: 155110 TST BNE INC 155102 1$: : 104105 000056 4040 4041 4042 4043 4046 026370 4047 026374 4048 026376 4049 026402 4050 026406 4051 026412 % 026414 002007 012721 012721 012721 005721 000207 003740 4058 4059 4060 026416 4061 026422 4062 026424 4063 026430 RAWTM:: 100011 000001 000001 4054 4055 4056 4057 002007 012721 012721 003740 105410 000001 WTMFLG 14 WTMFLG ;LAST CMD A WRT? s YES,RETURN :NO,SET THE FLAG ;STORE BRF, @ OF OPERATIONS, PATTERN. SUBROUTINE TO SET UP A WRITE/VERIFY COMMAND IN THE SEQUENCE TABLE. INPUTS: OUTPUTS: REGISTERS: CALLS: OSUTV,(R1)+ ;STORE WRITE/VERIFY CMD. ;:STORE BRF, @ OF OPERATIONS, PATTERN. SUBROUTINE TO SET UP A WRITE TAPE MARK IN THE SEQUENCE TABLE. INPUTS: OUTPUTS: REGISTERS: CALLS: CMP BGE MOV MOV MOV R1,0SEQEND 14 MTM,(R1). #1,(R1). 01,(R1)+ TST RTS PC : s 3 : SUBROUTINE TO SET UP A SPACE FILE REVERSE IN THE SEQUENCE TABLE. INPUTS: OUTPUTS: REGISTERS: RASFR:: (R1). ;STORE WRITE TAPE MARK CMD. :1BRF ;1 OF OPERATIONS 14: : 020127 ;:STORE WRITE CMD. JSR PC,RANW RTS PC H 020127 RYS PC RANWV:: MOV : 3 : : 4044 OWRT,(R1)+ JSR PC,RANW : : 4045 CALLS: RANWR:: MOV 4031 004767 000207 THEN A WRITE TAPE MARK AND SPACE FILE REVERSE. 104005 000102 :STORE READ FWD CMD. :SET BRF TO MAX TO READ RANDOM LENGTHS. :SET RANDOM ¢ OF OPERATIONS. ;RANDOM PATTERN. 3 3 : 4032 ggz 012721 RTS PC ORDF ,(R1)+ ODATCNT,(R1)+ R2,(R1)+ ORANP,(R1)- SUBROUTINE TO SET UP A WRITE COMMAND IN THE SEQUENCE TABLE, : : 4036 026362 4037 026366 4038 4039 MOV MOV MOV MOV SEQ 0126 : 4029 4030 4035 026356 J10 ;1SKIP PATTERNS CALLS: CMP BGE MOV MOV R1,0SEQEND 14 OSFR,(R1)+ 01,(R1). :STORE SPACE FILE REVERSE ;BRF ' HARDWARE TESTS MACRO M1113 . TEST 2: DATA RELIABILITY. 4064 026434 . | . 4065 026440 4066 026442 4067 4068 4069 4070 4071 4072 4073 012721 005721 000207 4083 4084 4085 4086 4087 026476 4088 026476 026476 004000 066767 016702 042702 010221 012721 000207 154760 154750 177740 026524 026526 026530 026532 4104 4105 026534 4106 026540 4107 4108 4109 4110 4111 4112 4113 026544 026546 026552 026556 026562 026566 026572 :SKIP PATTERNS SUBROUTINE TO STORE BRF, @ OF OPERATIONS, PATTERN IN COMMAND SEQUENCE TABLE FOR WRITE AND WRITE/VERIFY COMMANDS. 3 : : OUTPUTS: REGISTERS: CALLS: RANW:: MOV ODATCNT,(R1) ADD MOV BIC MOV MOV RANS , RANB RANB ,R2 ORNOPSC ,R2 R2,(R1)+ ORANP,(R1)+ INPUTS: RTS PC R2 :SET BRF TO MAX FOR PATTERN GENERATION. ;RANDOM BRF WILL BE GENERATED FOR EACH RECORD. ;LET RANB := RANB ¢+ RANS tLET R2 := RANB CLR.BY #RNOPSC :SET RANDOM & OF OPERATIONS. ;:RANDOM PATTERN. sRETURN, .EVEN L10034: 104401 .SBTTL ENDTST TRAP CSETST TEST 3: WRITE COMPATABILITY/WRITE UTILITY. X ¢ TEST TO WRITE RECORDS FROM BOT TO EOT. ;-- T3:: 026500 4101 026516 4102 026522 4103 026524 :® OF OPERATIONS (R1)- 3 3 000007 4089 4097 026500 4098 026506 4099 4100 026512 ®1,(R1)+ RTS PC 154754 4090 4091 4092 4093 4094 4095 026500 4096 TST 1$: : 012721 SEQ 0127 MOV 4074 4075 4076 4077 4078 4079 4080 4081 4082 IK10 14-JUN-84 18:32 000001 e 112767 105067 000001 155002 004767 004767 170364 160350 103404 155007 104455 BGNTST MOVB CLRB ©1 ,RANDOM EXPBOT ;;LET EXPBOT ;SET THE RANDOM OPERATIONS FLAG. :B= @0 ;CLEAR EXPECT BOT FLAG. JSR ggg PC,FIRSTU ?E;SOFINIT ;FIND THE FIRST UNIT. : INIT DEVICE ERRDF 2,NSSRM,STAERM ;REPORT TSOS NOT READY 000002 004536 006120 004767 012702 005302 010267 005167 004767 004767 105067 TRAP .WORD .WORD .WORD 160726 154656 161400 161420 154734 114: JSR PC,MOSET ;GO DO SETUP'S MOV R2,LENMSK sALLOW MAXIMUM BUFFER. sgz comM ;gATCNT.RZ LENMSK JSR PC,SETCH JSR PC,SETRW CLRB STAFLG 504264: BREAK C$ERDF 2 NSSRM STAERM :SET UP THE RECORD LENGTH MASK. ;CMD 1 = SET CHARACTERISTIC. ;1CMD2=REWIND ;LET STAFLG :B= @0 ;:CLEAR START FLAG : DO A SUPVSR BREAK FIRST. L10 MHARDMWARE TESTS MACRO M1113 14-JUN-84 18:32 " TEST 3: WRITE COMPATABILITY/WRITE UTILITY, 026572 104422 4115 026574 4116 026574 4117 026600 4118 026602 020127 002003 004767 003740 4121 026610 012711 177777 4123 026620 012701 003540 105267 154670 004767 000766 4114 | | ' 4119 026606 4120 026610 4122 026614 4124 026624 4125 026626 4126 026630 4127 026634 4128 026636 4129 026640 4130 026642 4131 000772 004767 005702 001761 000240 000240 000240 TRAP 50427% : 177524 504304 : 161406 CcMP BGE JSR BR MOV JSR MOV TST BEQ INCB NOP NOP NOP JSR R1,#SEQEND 504304 PC ,RANWR 504273 #END, (R1) PC,EXALL oCMDSEQ,R1 R2 504264 ALLEOT PC, TSWEOT 4132 C$BRK sWHILE THERE IS MORE ROOM IN SEQ TABLE: sSTORE A WRITE CMD IN SEQUENCE TABLE. ;STORE END OF SEQUENCE CODE IN TABLE. sEXECUTE ALL CMDS IN SEQ TBL ON UNITS. ;sINIT SEQ TBL POINTER, sREPEAT UNTIL EOT IS REACHED sSET ALL UNITS 8 EOT FLAG ;WRITE ONE RECORD BEYOND EOT ON ALL UNITS ;SO THAT SHORTER READ STOP DISTANCE ;SHALL POSITION HEAD IN CLEAN IRG GAP 4133 4134 026646 105067 154652 CLRB ALLEOT 012711 177777 MOV @END,(R1) EXIT TST 4135 026652 004767 :{g; 026662 004767 4136 026656 4139 4140 026666 026666 daes 026670 161330 JSR PC,SETRW 161340 JSR PC,EXALL 104432 026672 026672 ;READ REV THAT EXTRA REC TO RE-POSITION TAPE ;CLEAR ALL UNITS 8 EOT FLAG ;STORE REWIND IN SEQ TBL, sSTORE END IN SEQ TBL, ;EXECUTE REWIND CMD ON ALL UNITS 000002 TRAP CS$EXIT TRAP CSETST .WORD 4142 4143 4144 026672 4145 SEQ 0128 L10035-. .EVEN L10035: 104401 4146 :{:; .SBTTL 4149 ENDTST TEST 4: READ COMPATABILITY/READ UTILITY. gee :igg ;s TEST TO READ ENTIRE TAPE FORWARD AND REVERSE. '-- 4152 4153 026674 - 026674 T4:: 4155 026674 :{gg 026702 112767 112767 000001 000001 4158 026710 4159 026714 004767 004767 170166 160152 026722 104455 4160 026720 4161 026722 026724 026726 103404 000002 004536 154613 154604 BGNTST MOVB MOVB €1 ,RANDOM @1 ,EXPBOT ;SET THE RANDOM OPERATIONS FLAG. :SET EXPECT BOT FLAG. JSR JSR PC,FIRSTU PC,SOFINIT ;FIND THE FIRST UNIT. ;sINIT DEVICE BCS ERRDF 114 2,NSSRM,STAERM ;REPORT TSOS NOT READY TRAP .WORD WORD CS$ERDF 2 NSSRM M10 HARDWARE TESTS MACRO M1113 14-JUN-84 18:32 TEST 4: READ COMPATABILITY/READ UTILITY. 026730 006120 4163 026732 4164 026736 4165 026742 4166 026746 4167 026752 4168 026756 4169 026762 4170 026766 4171 026772 4172 026776 4173 027002 004767 004767 004767 105067 012721 012721 4162 4174 027006 4175 027012 4176 027016 4177 027022 4178 027026 4179 027032 4180 027026 4181 027042 4182 4183 027046 027046 027050 4184 160530 11%: 161220 161240 4188 4189 4190 MOV MOV MOV MOV MOV JSR 104001 INCB MOV MOV MOV MOV MOV MOV JSR CLRB 177777 161164 154456 EXIT 104432 ;GO DO SETUP'S ORDR, (R1)+ 1CMD1 = READ REVERSE. STAERM sCMD 1 = SET CHARACTERISTIC. sCMD2=REWIND. STAFLG ;LET STAFLG :B8= 80 sCLEAR START FLAG ORDF ,(R1)+ :CMD3 = READ FORWARD. ODATCNT,(R1)+ $SET LENGTH TO MAX FOR UNKNOWN LENGTHS. 077777,(R1)+ sSET RECORD COUNT TO MAX FOR WHOLE TAPE. 1+ P, (R1 ORAN sPATTERN = RANDOM. OEND, (R1) ;STORE END OF SEQUENCE CODE IN TABLE. PC,EXALL sEXECUTE ALL CMDS IN SEQ TBL ON ALL UNITS. ALLEOT sFLAG TO ALLOW ALL UNITS AT EOT TO READ REV #CMDSEQ,R1 ;sINIT CMD SEQ TBL POINTER. QDATCNT,(R1)+ #77777,(R1)+ ORANP,(R1)+ O#END, (R1) PC,EXALL ALLEOT sSET LENGTH TO MAX FOR UNKNOWN LENGTHS. sRECORD COUNT = MAX FOR WHOLE TAPE. ;PATTERN = RANDOM. :STORE END OF SEQUENCE CODE IN TABLE. ;GO EXECUTE READ REV. OF ENTIRE TAPE. ;CLEAR ALL UNITS @ EOT FLAG TST TRAP CSEXIT .WORD L10036-. TRAP CSETST .EVEN L10036: 104401 .SBTTL ENDTST TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. see ; TEST TO EXECUTE - 4194 4195 027054 4204 4205 4206 4207 4208 PC,MDSET 000002 4191 4192 4193 4196 4197 4198 4199 4200 4201 4202 4203 JSR JSR PC,SETCH JSR PC,SETRW CLRB 154554 4185 4186 4187 027052 027052 027052 SEQ 0129 .WORD 012721 012721 012711 004767 105267 012701 012721 012721 012721 012721 012711 004767 105067 e TS:: 027054 027054 027060 027066 027072 027076 027100 105067 154435 112767 000001 004767 004767 103404 170010 157774 027100 027102 027104 027106 104455 000002 004536 006120 027110 027114 027122 027126 004767 116767 004767 016767 154426 OPERATOR SELECTED COMMAND SEQUENCE. BGNTST CLRB MOVB RANDOM 01 ,EXPBOT ;:CLEAR RAMDOM MODE FLAG. :SET EXPECT BOT FLAG. JSR JSR PC,FIRSTY PC,SOFINIT sFIND THE FIRST UNIT. + INIT DEVICE 8Cs ERRDF 114 2,NSSRM,STAERM ;REPORT TSOS NOT READY TRAP WORD .WORD .WORD 160352 153076 161034 153066 154377 154406 11%: JSR MOVB PC,MDSET PIRE,IRE MOV CHAR,CMDSEQ+2 JSR PC,SETCH :GO DO SETUP'S CS$ERDF 2 NSSRM STAERM tMOVE INHIBIT RFC ERROR REPORT FLAG. :CMD 1 = SET CHARACTERISTIC. +MOVE CHAR CODE FROM P TBL TO SEQ TBL. 1Y N10O HARDWARE TESTS MACRO M1113 14-JUN-84 18:32 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. SEQ 0130 4209 027134 4210 027140 4211 027144 012702 004767 004767 002222 000446 000442 MOV JSR JSR oCMDD,R2 PC,PTCMDS PC,PTCMDS sR2 POINTS TO CMD2 IN SOFT P TABLE. sMOVE CMD 2 FROM P TBL TO SEQ TBL. sMOVE CMD 3 FROM P TBL TO SEQ TBL. 4213 027154 4214 027160 4215 027164 4215 027170 4217 027174 4218 027200 004767 004767 004767 004767 005067 105067 000432 000426 000422 000416 154242 154322 JSR JSR JSR JSR CLR CLRB PC,PTCMDS PC,PTCMDS PC,PTCMDS PC,PTCMDS JLOOP STAFLG sMOVE CMD S FROM P TBL TO SEQ TBL. sMOVE CMD 6 FROM P TBL TO SEQ TBL. sMOVE CMD 7 FROM P TBL TO SEQ TBL. sMOVE END CMD FROM P TBL TO SEQ TBL. sCLEAR JMP CMD LOOP COUNT. iCLEAR START FLAG 4212 027150 4219 027204 4220 027210 4221 027210 004767 012701 4222 027210 4223 027214 021127 001574 4225 027222 001024 4224 027216 4226 027224 4227 4228 4229 4230 4231 062701 000002 4233 027254 4234 027260 4235 027264 012701 005367 001751 4232 027250 005267 000772 4239 4240 4241 4242 027274 027300 027302 027306 022711 001026 062701 011167 000020 027312 027316 027320 027324 027326 012727 000000 016727 000000 005367 000001 4244 027342 4245 027346 005367 001361 4248 027356 4249 027362 4246 027350 4247 027354 4250 4251 4252 4253 4254 4255 4256 027362 027370 027372 027376 027402 027410 027412 CMP BEQ ADD 154166 1%: 2s: INC MOV DEC BEQ BR 000004 154126 7%: sMOVE CMD 4 FROM P TBL TO SEQ TBL. 0CMDSEQ,R1 ;INIT SEQUENCE TABLE POINTER. CMP BNE ADD MOV sWHILE THERE ARE CMDS LEFT IN SEQUENCE TBLE: (R1),0END 50432 oJMP.C.(R1) 68 02,R1 MOV (R1)+,JLOC CMP (R1)+,JLOOP BNE 18 ADD #2,R1 BR 3% ADD 6s: PC,PTCMDS sWHILE (R1) NE 9END DO CMP 003540 154160 4237 027272 MOV BNE 000002 000010 027332 001375 027334 005367 027340 001367 50431$: 154210 154202 062701 4243 027312 3%: 177777 000040 012167 022167 001003 062701 000760 JSR 003540 022711 027230 027234 027240 027242 027246 4236 027266 000436 sIS THIS A JUMP CMD? iBR_IF NOT. SLET R1 := R1 + 02 JLOOP sUPDATE THE LOOP COUNT. OCMDSEQ,R1 JLOC 3% sINIT CMD SEQ TABLE POINTER. ;DECR LOCATION COUNTER. sIF THIS IS THE RIGHT LOCATION TO JMP TO, #10,R1 :IF NOT, 23 DLY.C,(R1) 45 ¢4,R1 (R1),TIME2 iGO TO SUPER-WAIT 1 MSEC. MOV .WORD MOV .WORD DEC 177772 BNE DEC BNE 177756 062701 000715 000004 004767 161610 026767 002103 004767 004767 026727 001002 004767 154024 161466 161122 154012 167774 154024 100017 as: S04338: CMP BNE CMDWRD,9GES 504354 JSR PC,PRXST GO SET ;DELAY? iBR IF NOT, iR1 = LOCATION OF N COUNT. iSAVE N_COUNT. DELAY 1 DEC TIME2 BNE 7% ADD ¢4,R1 JLET R1 BR 3% JSR PC,SETUP _ ;WHILE NCNT LT NCNT1 DO CMP NCNT,NCNT1 BGE _ 50434$ JSR PC,CMDAC JSR PC,EXSUB UPDATE SEQ POINTER TO NEXT CMD. i00 IT AGAIN. 152572 154072 ;POINT TO BRF. sSAVE BRF (LOCATION). iHAS LOOP COUNT BE SATISFIED? :IF NOT, JMP AGAIN. :IF SO, ADJUST SEQ POUNTER sAND GO TO NEXT COMMAND. := R1 #1,(PC)s 0 LSDLY,(PC)e 0 -6(PC) .-4 -22(PC) .-20 + 04 ;POINT TO NEXT CMD. iGO CHECK NEXT CHD. sGO_SETUP THE COMMAND BLOCK. iWHILE THERE ARE RECORDS REMAINING: iSTORE CMD ASCII IN ERROR MSG. ;ISSUE CMD TO ALL,AWAIT INTS,CHECK STATUS. :IF CMD IS GET STATUS THEN: ;PRINT EXTENDED STATUS REGISTERS. — MARDMARE TESTS MACRO M1113 e —————— .~ — - - - —— - - 14-JUN-84 18:32 4270 4271 027464 4272 027464 4273 027466 4274 027466 4275 027474 4276 027476 4277 027504 4278 027506 4279 4280 027506 4281 4282 027510 4283 4284 027510 4285 027510 167450 002604 177777 000400 158750 000002 003502 003502 032765 001404 032767 001001 DEVTBL(RS), #END 504374 mét’:o.cmmo 004767 S04424: 105267 026727 001002 004767 153662 153660 000402 105067 153740 005267 153622 153624 016767 027576 027600 027600 000671 027604 027606 000601 004767 166262 S0445s; S04475: 153626 S04344: S04324: +IF NOT AT BOT THEN: sCLEAR EOT/BOT FLAG. sELSE IF CMD IS NOT REVERSE: #X0.EOT ,EOTFLG(RS) R2 153662 153656 153762 THEN: 504434 oCMD. CO, CMOWROD 504444 S04434: S50437¢: tWHILE THERE ARE MORE UNITS: 504428 S04408: 153714 167434 sCHECK MALT AFTER EACH CMD FLAG, $SET ALL UNITS AT BOT/EOT. tFIND FIRST UNIT, +IF CMD IS REVERSE #X0.80T ,EOTFLG(RS) 50441 R2 005002 020227 001016 016767 027564 027564 027570 +WHILE DEVTBL(RS) NE #END DO S04364: SOa41s: 000411 000746 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 JSR PC,CKMAE 01,R2 JSR PC,FIRSTU s IF NOT AT EOT OR NOT A MOTION CMD THEN: sLET R2 := 00 JSR PC,NEXTY PRI 4269 027462 170056 000001 504364 R2,01 504454 ucmiu:uu ALLEOT 1CLEAR EOT/BOT FLAG. sFIND NEXT UNIT : +IF ALL UNIT ARE AT EOT/BOT THEN: +FORCE TERMINATION OF COMMAND. sFLAG ALL UNITS AT EOT/BOT TO ALLOW VERIFY OF D cmu;;oe tWHEN WRITING IS CURRENT COMMAND JSR PC,TSMEOT ;GO WRITE/READ REV ONE RECORD BEYOND EOT g s 4268 027460 026527 001426 032767 001406 032765 001001 005002 504358 : 504474 ALLEOT tWHEN NOT ALL SEOT, CLEAR FLAG INC NCNT tUPDATE RECORD COUNT. 3 4259 027416 4260 027422 4261 027426 4262 027432 4263 027432 4264 027440 4265 027442 4266 027450 4267 027452 004767 012702 004767 - SEQ 0131 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. 4258 027416 - CMOWRD ,PCMOMD ;SAVE PREVIOUS COMMANC WORD. 504334 PC,VFYDAT 504314 s IF LAST CMD WAS A WRITE VERIFY, THEN GO tVERIFY THE LAST N RECORDS OF DATA, HARDWARE TESTS MACRO M1113 14-JUUN-84 18:32 SEQ 0132 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. 4315 4316 027606 4317 4318 4319 4320 4321 4322 027606 027610 EXIT 104432 .WORD 4336 4337 4338 4339 4340 4341 4342 4343 4744 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 SUBROUTINE TO MOVE A COMMAND FROM THE SOFTWARE P TABLE T0 THE COMMAND SEQUENCE TABLE. : OUTPUTS: 3 012203 005303 006303 016321 012221 012221 012221 000207 027650 027654 027662 027670 027676 027704 027712 027720 027726 027732 027736 027742 027744 027746 R2 = POINTER TO SOFT "“P” TABLE REGISTERS: RS, CALLS: DEC ASL MOV MOV MOV MOV 003752 RTS PC 3 027634 027636 027640 027644 INPUTS: PTCMDS: : MOV : : : 3 (R2)+,R3 R3 R3 CMDTBL(R3),.(R1). (R2)+,(R1)(R2)+,{R1). (R2)+,(R1). CSEXIT 10037, ;1R3 = COMMAND TABLE INDEX. sMOVE COMMAND WORD. sMOVE @ OF BYTES. sMOVE @ OF OPERATIONS. sMOVE PATTERN CODE. SUBROUTINE TO WRITE THEN READ REVERSE OMNE RECORD BEYOND EOT TNPUTS: OUTPUTS: REGISTERS: CALLS: CMDAC ,EXSUB , CKHAE TS\EOT::"? 004767 004767 012700 016767 012767 012767 016767 042767 016767 016767 004767 004767 004767 JSR PC,EXSUB JSR PC,CKHAE 160660 167630 153540 104401 153516 152412 153464 161132 153542 153530 153530 152424 152416 153502 152404 18: 167536 001343 000207 sWRITE ONE RECORD BEYOND EOT 1SO THAT READ SHORTER STOP DISTANCE sSHALL POSITION HEAD IN CLEAN IRG GAP MOV MOV MOV MOV MOV B8IC MOV MOV #2,R0 $1SET UP COUNTER FOR EOT CMOMRD , PCMOWD sLET PCMDMD := CMDWRD sREPOSITION TAPE OROR , CMOWRD sLET CMDMRD := #RDR ;:BEFORE EXTRA RECORD 4, 0M0LG 18Y READING REVERSE . CMOPKT sLET CMDPKT := CMDWRD CLR.BY #8RF.C #BRF .C,CMDPKT T.CMDSAV sLET CMDSAV := CMDPKT ;THAT RECORD TO ALLOW DATARD ,CMDPKT «CP . ADL sNEXT COMMAND IN THE DEC BNE RO 14 JSR PC,CMDAC JSR PC,EXSUB JSR PC,CKHAE s TABLE TO BE EXECUTED RTS PC s YES,RETURN 1FOUND EOT YET? s1NO,KEEP GOING .EVEN 027750 027750 027750 4363 4364 027752 4365 4366 4367 3 : : 4323 4331 027630 4332 027632 TRAP 000140 : 4325 027612 4326 027614 4327 027616 4328 027620 4329 027624 4330 027626 TST 104401 L10037; ENDTST TRAP ENDMOD .TITLE PARAMETER CODING CSETST MACRO M1113 PARAMETER COCING HARDWARE PARAMETER CODING SECTION D11 14-JUN-84 18:32 .SBTTL 4368 4369 SEQ 0133 HARDWARE PARAMETER CODING SECTION BGNMOD 4370 027752 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 AR i THE HARDWARE PARAMETER CODING SECTION CONTAINS MACROS + THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES. THE MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE : BGNHRD 4381 027732 027752 027754 4383 027754 GPRMA TS5ADR,0,0,160010,177564, YES 4384 027764 GPRMD TS5v(CT7,2,0,777,60,776,YES 027754 027756 027760 027762 027764 027766 027770 027772 027774 4385 027776 GPRMD § 83555 38588 BAAS L$HARD: : 4382 TS5UNT,4,0,1,0,1,NO EXIT HRD 4391 030036 4392 4393 4394 4395 030060 439% 4397 4398 4399 4400 4401 4402 4403 4404 4405 030060 : MACROS ALLOW THE SLPERVISM TO ESTABLISH COMMUNICATIONS HITH THE OPERATOR. 124 126 123 123 105 105 104 103 114 TSSADR: TSSVCT: TSSUNT: .NLIST .ASCIZ .ASCIZ .ASCIZ .LIST .EVEN BEX /TSDB ADDRESS/ /VECTOR/ /SELECT DRIVE 0-1/ BEX ENDHRD .EVEN L10040: .SBTTL SOF TWARE PARAMETER CODING SECTION jee s+ THE SOFTWARE PARAMETER CODING SECTION CONTAINS MACROS + THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES THE : i MACROS ARE NOT EXECUTED AS MACHINT INSTRUCTIONS BUT ARE INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE s MACROS ALLOW THE SUPERVISOR T0 ESTABLISH COMMUNICATIONS :+ WITH THE OPERATOR. T$CODE TSSADR TSLOLIM TSHILIM T$CO0E TSSvCT 777 TSLOLIM TSHILIM T4CODE TSSUNT 1 TSLOLIM TSHILIM T$CODE - PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION E11 14-JUN-84 18:32 SEQ 0134 4406 000302 4409 LS$SOFT:: 000001 4410 RRVM,0,400, YES 000130 030705 - 000400 aa11 ; 001130 031010 000400 4412 001130 030734 000001 4413 000400 4415 4416 003130 031041 000001 4417 030142 4418 030144 030144 030146 030150 4419 030152 030152 4420 030154 030154 030156 030160 030162 030164 4421 030166 030166 030170 030172 030174 030176 BADTM,4,1,YES DINTM,6.1,YES NEXTSP: IREM,12,1,YES 005130 031131 000001 CHGM,10,1,YES 004130 031105 000001 ENDSP1 127044 CHARM, 14,0,377,0,777,YES 006032 031162 000377 000777 007052 031207 000037 000033 HAEM,2,1,YES NEXTSP 002130 030760 000001 RCVERM, 2,400, YES IRECH.6.460.YES 003130 031064 4414 .WORD L10041-L$SOFT/2 CLRM,0,1,YES 000130 3 . T BGNSF CcMD2M,16,0,37,1,33,YES §8853 58885 § 538 588 385 530 § 589 3% 586 568 g 4407 4408 T$CODE ELRH T$CODE RRVM 400 T$CODE RCVERM 400 T$CODE HAEM 1 T$CODE IRECH 400 T4CO0E T$CODE EADYH T$CODE ?INYH T$CODE {REH T$CODE EHGH T$CODE T$C00E CHARM 377 TSLOLIM TSHILIM TSHILIM PARAME TER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 14-JUN-84 18:32 F11 SEQ 0135 4423 030212 4424 030224 010052 031215 177777 000001 004000 011052 031227 177777 000001 077777 PATTM,24,0,17,0,10,YES 012052 031247 000017 000000 4425 030236 000010 CMD3M,26,D,37,1,33,YES 013052 031356 000037 000001 4426 030250 4427 030262 000033 014052 031215 177777 000001 004000 015052 031227 177777 4428 030274 4429 030306 000001 077777 PATTM,34,0,17,0,10,YES 016052 031247 000017 000000 000010 017052 031364 000037 000001 000033 020052 031215 CMD4M,36,0,37,1,33,YES GPRMD 177777 4431 030332 030334 000001 004000 021052 031227 GPRMD 5 §8855 3333 58885 33338 58553 38885 333EE BGGN: 5558 GPRMD T$CODE BPCRM -3 TSLOLIM TSHILIM T$CODE NUMBM -1 TSLOLIM TSHILIM T$CODE PATTM 17 TSLOLIM TSHILIM T$CODE CMO3M 37 TSLOLIM TSHILIM T$CODE BPCRM -3 TSLOLIM TSHILIM T$CODE 1 TS$LOLIM TS$HILIM T$CODE PATTM 17 TSLOLIM TSHILIM T$CODE CMD4M 37 TSLOLIM TSHILIM T$CODE B:CRH TSLOLIM TSHILIM T$CODE NUMBM PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 030336 030340 030342 4432 030344 030344 030346 030350 177777 000001 077777 030352 030354 022052 031247 000017 000000 000010 030362 030364 030366 023052 031372 000037 000001 000033 4433 030356 030356 030360 4434 030370 030370 030372 030374 030376 030400 4435 030402 030402 030404 030406 024052 031215 002004 030430 076004 030432 030434 030436 030440 030442 027052 031400 000037 000001 000033 030444 030446 020450 030452 030052 031215 177777 000001 030456 030460 030462 030464 030466 031052 031227 177777 000001 077777 030470 032052 4440 030444 030454 4442 030470 GPRMD CMDSM,46,D0,37,1,33,YES GPRMD BPCRM,50,D,-1,1,DATCNT,YES GPRMD NUMBM,52,D0,-1,1,77777,YES 177777 030426 4439 030432 PATTM,44,D,17,0,10,YES .WORD .WORD LWORD -1 TSLOLIM THHILIM .WORD .WORD .MORD LWORD .WORD T$CODE PATTM 17 TSLOLTIM TS$HILIM .WORD .WORD .WORD LWORD .WORD Ts$CODE CMDSM 37 TsLOLIM TSHILIM .WORD .WORD T$CODE BPCRM LHORD .WORD TSLOLIM TSHILIM .WORD .WORD T$CODE NUMBM .WORD .WORD TSLOLIM TSHILIM .WORD .WORD .WORD LWORD .WORD T$CODE PATTM 17 TSLOLIM TSHILIM .WORD T$CODE .WORD T$CODE .WORD .WORD .WORD .WORD LWORD T$CODE CMO6M 37 TSLOLIM TS$HILIM .WORD .WORD .WORD LWORD .WORD T$CODE BPCRM -1 TSLOLIM TS$HILIM .WORD .WORD .WORD .WORD .WORD T$CODE NUMBM -1 TSLOLIM TSHILIM .WORD T$CODE . WORD 025052 031227 000001 077777 4438 030430 GPRMD 177777 000001 004000 030410 030412 4436 030414 030414 030416 030420 030422 030424 4437 030426 SEQ 0136 14-JUN-84 18:32 .WORD 026052 031247 000017 000000 000010 ENDSP1: GPRMD PATTM,54,0,17,0,10,YES XFER ENDSP2 XFER ENDSP3 ENDSP2: GPRMD GPRMD CMD6M,56,D,37,1,33,YES BPCRM,60,D,-1,1,DATCNT,YES 004000 GPRMD PATTM.64,0,17,0,10,YES -1 -1 SOF TWARE PARAMETER CODING SECTION 4443 4444 030472 030474 030476 030500 14-JUN-84 18:32 031247 000017 000000 000010 CMD7M,66,0,37,1,33,YES 033052 031406 000037 000001 000033 B8PCRM,70,D,-1,1,DATCNT, YES 034052 031215 177777 000001 004000 NUMBM, 72,0,-1,1,77777,YES 035052 031227 177777 000001 077777 4447 036052 031247 000017 000000 000010 037052 031414 000037 PATTM,74,0,17,0.10,YES GPRMD 000001 000033 BPCRM,100,D0,-1,1,DATCNT, YES 040052 031215 177777 000001 004000 4450 4451 4452 041052 031227 177777 000001 077777 042052 031247 000017 000000 000010 022004 043130 031257 CMD8M,76,0,37,1,33,YES NUMBM,102,0,-1,1,77777,YES GPRMD XFER ENDSP3: GPRML PATTM,104,0,17,0,10,YES ENDSP TSMD,106,1,YES SEQ 0137 55 § 58335 3333 58859 58533 38585 33 BEGEE a3l 558 5 MACRO M1113 - PARAMETER CODING CHI11 PATTM 17 TSLOLIM TSHILIM T4CODE CMD7M 37 TSLOLIM TSHILIM T$CODE B:CRH TSLOLIM TSHILIM T$CODE 1 TSLOLIM TSHILIM T$CODE PATTM 17 TSLOLIM TSHILIM T$CODE CMD8M 37 TSLOLIM TSHILIM T$CODE B:Cflfl TSLOLIM TSHILIM T$CODE NUMBM -1 TSLOLIM TSHILIM T$CODE PATTM 17 TSLOLIM TSHILIM T$CODE T$CODE TSMD —— —— MACRO M1113 PARAMETER CODING SOF TWARE PARAMETER CODING SECTION 030630 000001 030632 016024 030634 030636 030640 4455 030642 030642 046130 031347 000001 4453 030632 4454 030634 4456 045130 031327 006024 4458 044130 031310 000001 4459 002004 4460 001004 4461 4462 | l ENDSP GPRML FAST,114,1,YES XFERT ENDSP4 GPRML WTBF,112,1,YES XFERT ENDSP GPRML RDBF,110,1,YES XFER ENDSP XFER ENDSP .WORD 1 .WORD T$CCDE .WORD .WORD .WORD T$CODE FAST 1 WORD T$CODE .WORD .WORD .WORD T$CODE WTBF 1 WORD T$CODE .WORD .WORD .WORD T$CODE RODBF 1 .WORD T$CODE .WORD T$CODE EVEN BEX /CLEAR COUNTERS/ /RESET RANDOM VARIABLES/ /HALT AFTER EACH CMD/ 031356 4489 031364 4490 031372 4491 031400 4492 031406 /BAD TAPE SPOT DETECTION/ i; 030666 030705 030734 030760 031010 031041 031064 031105 031131 031162 031207 031215 031227 031247 031257 031310 031327 031347 /PRINT RECOVERABLE ERRORS/ z o /DISABLE INTERRUPTS/ /INHIBIT RECOVERY/ /CHANGE CMD SEQUENCE/ /INHIBIT RFC ERROR REPORT/ /CHARACTERISTICS CODE/ - " m P LIST NNNNN -4 0 » /BRF COUNT/ ~WTBF : "EVEN 103 103 103 103 103 115 115 115 115 115 (w] 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 et SEQ 0138 XFERT 000001 4457 48 111 14-JUN-84 18:32 011024 e .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ /70 OF OPERATIONS/ /PATTERN/ /DEFAULT SWITCH SETTINGS?/ /READ BUFFERING/ /WRITE BUFFERING/ /100IPS/ BEX BEX “CMD/3" “CMD/4" ”Cm/6 " ucm/7 [ ' PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 103 115 14-JUN-84 18:32 104 CMD8M: .ASCIZ .LIST .EVEN . 4493 031414 4494 4495 4496 4497 | 4499 L T L T | 4501 : . SEQ 0139 "CMD/8" BEX 4498 4500 4502 4503 4504 4505 4506 031422 4507 4509 4511 4512 032000 T PATCH AREA T Ty Y T Y Py Y YT Y I Y Yy Y YTy AND AN ADJUSTMENT TO ACCOUNT FOR THE "LASTAD BIT7” HACK DESCRIBED IN "SUPPRG.MEM" (FOR REV C). PATCH:: .BLKW 64, L= 13771 032000 LASTAD LS$LAST:: .SBTTL .EVEN .WORD .WORD o0 t J11 E HARD CODED P-TBL s ;:DIAG IS PRE-PARAMETERIZED PER TBL 3-- BGNSETUP 1 BGNPTAB 000003 172522 L10042: 000224 L10044: 000001 .END 172522 224 o ENDPTAB ENDSETUP .WORD .WORD 0 L10044-./2-1 BOE = BORERS BPCRM BRCPK BRFCNT BRF.C = 000400 015316 031215 002344 003416 004000 G G G G G G G G G G G G G G G G G G G G G G G G G G G G G EF .HSS= EF .NEW= EF .PWR= EF .RBO= EF .RES= EF .RWB= EF.STA= EINC END = = ENDERF ENDFLC= ENDSP ENDSP1 ENDSP2 ENDSP3 ENDSP4 ENDSPS EOTFLG ERCVER ERL.OG ERRREC ERS = ERSFLG EVL = EXALL EXARTN EXCRTN EXCUTE 010226 010522 012362 012054 003514 010524 002322 002100 000035 FAST 031347 FATSM 004642 FIRSTU 017102 FMT.CO= 000040 FMT.Cl- 000100 FTLCNT 003366 FUNRM 004622 FSAU oo EXPBOT EXSUB EXTFEA ESEND = E$LOAD= (212121212 ) oo ne O O0OOK0 O nmnne OOe OO0 O OOOO0 © OO0 C$TPRI= DATARD DATAWT DATCNT= DATERM DEVTBL DFPYBL DF TSCH= DIA = DIABLK= DIACNT= DIAGMC= DINT DINTM OLY = OLY.C = = DRI DROPDOM DROPED DROPN DROPU DROPUA DRORTN DTAERM DTAER2 DTAER3 DTAER4 DTAERS EF .CON= = 000015 000020 000040 000007 000016 000041 F$AUTO= FSBGN = FSCLEA= FSOU = FS$END = F $HARD= FSHM = F$INIT= F$JMP = F$M0D = FIMSG = F$PROT= F$PWR = FSRPT = F$SEG = F$SOFT= F$SRV = F$SUB = F$SW = FS$TEST= GCMDA GENPAT GES = GETSTM GIT GOWAIT GSCPK GS$CNTO= G$DELM= G$DISP= GSEXCP= GS$HILI= GSLOLI= G$NO = GS$OFFS= G$OFSI= G$PRMA= G$PRMD= GS$PRML= G$RADA= G$RADB= G$RADD= G$RADL= G$RADO= o006 000002 000004 000010 000020 000040 000100 000200 000400 001000 000002 002000 004000 010000 02000C 040000 100000 000004 000010 000020 000040 000100 000200 000400 001000 CP.CNT= CRLF CRLFSP CTCC CvC.C = = CSAU C$AUTO= C$BRK = C4BSEG= C48SUB= C$CEFG= C$CLCK= CSCLEA= CsCLOS= C$CLP1= C$CVECC$OCLN= C 4000V~ CSDRPT= = CsOV CSEDIT= = C$ERDF CSERHR= C$ERRO= CSERSF = C4ERSO= C$ESCA= C4ESEGC$ESUB= CSETST= C$EXIT= C$GETB= CSGETW= C$GMAN= C$GPHR= C$GPLO= CSGPRI= CS$INIT= C4INLP= C$MANI= CSMEM = C#MSG = C$0PEN= C$PNTB= CéPNTF= CSPNTS= CHPNTX= C4QIO0 C4RDBU= C4REFG= CSRESE= CSREVI= CHRFLA= C4RPT = C4SEFG= C$SPRI= C$SVEC= o0 = = = = = = = = = = = = = = = = = = = = = = = = 016466 OOOOOOOOOOOOOOHOEO BITO1 BITO2 BITO3 BITO4 BITOS BIT06 BITO7 BITO8 BITO9 BITL BIT10 BIT11 BIT12 BIT13 BIT14 BIT1S BIT2 8IT3 BIT4 BITS BIT6 BIT7 BIT8 8IT9 CH.ESS= 8 g 016052 BINC BITO = 000001 G 8ITO0 = 000001 G 002616 G 015112 015177 015247 003512 020164 003046 003120 BT1 003172 BT2 003244 BT3 002220 CHAR 031162 CHARM CHGFLG 002214 031105 CHGM CHKERR 013210 CH.EAI- 000040 CH.ERI= 000020 oo BTADDR BTMSG1 BTMSG2 BTMSG3 BTPT BTRPT 8710 SEQ 0140 O ACK.C = 100000 G = 000020 G | ADR~ | ALLEOT 003524 G | ASSEMB= 000010 004603 G 'ATTNM AUDRPM 005114 G AUDRUN 005146 G AUTODM 023604 030760 BADTM BADTSW 002210 G BENBSW 002324 G 025050 G BFSEQ BFSEQO 025074 BFSEQL 025146 BFSEQ2 025160 BFSEQ3 025252 BFSEQ4 025324 BFSEQS 025366 BFSEQ6 025440 BFSEQ7 025512 BFSEQS 025544 BFSEQ9 025576 BFSE10 025620 BGNFLG= 003460 | 14-JUN-84 18:32 oOOOOOOe MACRO M1113 2 ' PARAMETER CODING SYMBOL TABLE K11 ' PARAMETER CODING MACRO M1113 ' G$XFER= 000004 GS$YES = 000010 HAE 002206 G HAEM 030734 HALTM 004306 G HELP = 000000 HOE = 100000 G HROCNT 003356 G HSSW 002320 G IBE = 010000 G L$CCP LSCLEA L$CO L$DEPO L$DESC LS$DESP L$DEVP L$DISP L$OLY L$DOTP IER = 020000 G L$0V 021622 L$EF SYMBOL TABLE IDVU = 000040 G IE.C = 000200 G INIT10 021324 INIT1S 002213 G L$HARD IREM 031131 L$HPCP 031064 ISR = IXE = ISAU = I$AUTO= ISCLN = 000100 G 004000 G 000041 000041 000041 024000 G L10025 024514 002072 G 002164 G IREC IRECM 023312 023602 023776 024050 024154 025642 024370 024414 024434 924454 L$OUT L$OVTY 021642 003472 G 000340 G 007724 G 003521 G L10012 L10013 L10014 L10015 L10016 L10017 110020 L10021 L10022 L10023 002034 G LS$ENVI LS$ETP LS$EXP1 LS$EXP4 L$EXPS L$HIME 002052 G 002044 G 002102 G 002046 G 002064 G 002066 G 027754 G 002120 G 002016 G 002000 002042 021316 002112 002062 002010 017570 030062 002056 002020 JLOC 003444 G L$STA 002030 G LOG LOT L$ACP L$APT L$AV L$AUT L$AUTO L$SPTP G L$SW L$TEST L$TIML. LSUNIT L10000 L10001 = 000010 G L10003 G 015566 G 002110 G 002036 G 024052 G 002070 G 023314 G L10002 002024 G 002204 002114 002014 002012 002202 00232€ 024574 030060 PATRS PATR2 002000 004000 012734 000020 002544 002354 002374 002414 002434 002454 G G G G G G G G G G MS.RFC= 000004 G MS.XS0= 000006 G 030130 010046 NINUSE= 177774 G 010054 L10007 L10010 MOD.C2= MOD.C3= MOVMSG MSGCNT= MSGPKA MSGPKT MSGPKO MSGPK1 MSGPK2 MSGPK3 NEXTSP L10006 010062 021314 = 105401 G L10040 007070 010040 RNR 011700 G MEMOM 023210 MISCFG 003531 G M0D.CO= 000400 G NCNT1 NEXTU NGDEV NOINTM NRDYM 003414 G 017150 G 005543 G 004670 G 023700 003460 G 015472 G = 125401 G PATR1 030656 032010 032016 100012 G 007466 G 005017 G 013020 G RNF 027052 027750 RERM RECUD PATRO L10036 L10037 003465 G 007066 010064 G RFBC 000000 003326 G 031422 G 003446 G 026672 RECLOG RECRED RECTAP O$POIN= 000001 0$SETU= PASCNT PATCH PATERN 110035 RAKTM 026370 G RCVERM 031010 RDBF 031310 RDBUF 002314 G ROF = 104001 G ROR = 104401 G RECCNT 003376 G RETRYC REWRT 024614 024652 025036 026476 000010 G 000012 G 000014 G 000016 G 177740 G 003412 G 006116 G G G G = 000001 L10031 L10032 L10033 L10034 MS.XS1l= MS.XS2= MS.XS3= MS.XS4= NCMD.C= NCNT L10004 L10005 G G G G G G G G G G 004536 G 031227 005422 G 005456 G 000001 003536 G 020000 G 000000 000001 000001 O$ERRT= 000000 O$GNSW= 000001 MOD.Cl= 001000 G LSNAME L$PRIO L$PROT L$PRT LS$REPP L$REV L$RPT L$SOFT L$SPC L$SPCP G G G 024534 024554 002050 G 000041 000040 000041 000041 000041 000041 000041 000041 000041 000041 003442 000040 000040 000167 003430 040000 Os0V L$MREV 032004 G 002100 G 002074 G NSSRM NUMBM NURTY1 OFLINM ONEFIL= OPFLAG OPP.C = 0$APTS= 0$AU = 0$BGNR= 0$BGNS= 000001 L10041 L10042 L10044 MBR = MDSET I$MSG = I$PROT= I$PTAB= ISPWR = ISRPT = I$SEG = I$SETU= IS$SFT = I$SRV = I$SUB = JLOOP J¥ = JMP.C = JIJMP = LENMSK LOE = L10030 024474 002022 G 002174 G 002104 G 021324 G 002026 G LSLAST L$LOAD LSLUN I$TST = 000041 L10026 L10027 . LSHPTP L$H L$ICP LSINIT LSLADP IsOVU = 000041 IS$HRD = 000041 ISINIT= 000041 I$MOD = 000041 L10024 SEQ 0141 = 002106 G 023736 G 002032 G 002011 G 002136 G 002076 G 002060 G 002124 G 002116 G 002040 G- L$DOTYP INIT16 INTFLG INTPRI= INVRT IRE 14-JUN-84 18:32 L11 011720 G 011730 G PATR4 PATRS PATR6 PATR7 PATR8 011754 011766 012000 012020 012052 PATTBL PATTM PCMDWD PIRE PNT PRI PRIOO PRIO1 PRIO2 PRIO3 PRIO4 PRIOS PRIO6 PRIO7 PRXST PTCMDS G G G G G 011620 031247 003424 G = = = = = = = = = = PWRFLG RANS RANBC = RANCMD RANDOM RANP = RANRD 011642 G 002216 G 001000 002000 000000 000040 000100 000140 000200 000240 000300 000340 G G G G G G G G G G 017412 G 027612 G 003527 003432 153624 026160 003515 000007 G G G G G 026220 G RANS 003434 G RANW 026444 G RANWV RASFR 026356 G 026416 G RANSC = 032561 G RANWR 026332 G RFCERM RFREC RFUNR RLEXM 002726 G 004521 G 003026 G 003036 G 004556 G RNOPSC= 177740 G RNYM RPF = RPR = RPTCNT RPTFLG RPT1A RPT1B RPTIC RPTID 00475F G 105001 125001 003462 003517 020432 G G G G 020507 020560 020631 RPT!E 021057 RRVM 030705 RTLRTN RWCPK RWD = RWERR RSSAVE SCCNT 014634 002350 102010 003467 003452 003336 RPTL" 020735 RPT1i3 021006 RPTLI 021203 RPT'J 021107 RPTIK 021174 RRANV 002205 G RRBC 002666 G RRECL = 000020 G RRREC 003006 G RRUNR 003016 G RTLE SCERM SCH SCHBK 014510 G G G G G G 004475 G = 140004 G 002474 G SCHCNT= 000012 G SEQEND SETCH SETDEF 003740 G 010162 G 007766 G SRF SRR STAERM STAER1 STAERZ2 STAER3 ® = STAER4 STAERS STAER6 STAER7 STAFLG = SVCGBL SVCINS= SVCSuUB= SVCTAG= SVCTST= SWBFLG SuB.C = SWSET S$LSYM= TCCRA TCCo TCC1 TCC2 TCC3 TCCa TCCS TCCé TCC7 TC2RTN TIMEL TIME2 TOERM TOOMM TRAPD4 . 006616 006675 006733 006753 006562 006530 003526 G TSUNT TSVCT TS.Al16= TS.A17= TS.NBA= 7S .NXM= TS.0FL= T7S.RMR= 15.SC = 000000 000001 000000 000000 000000 003520 G 010000 G 1S.SPE= TS.SSR= TS.UPE= TS1MD TSSADR TSSCL TSSINT TSSINO TSSIN1 TSSIN2 TSSIN3 TS5SW TSSUNT TSSVCY T$ARGC= T$CODE= TS$ERRN= TS$EXCP= 004231 G 010000 013414 013434 G 013452 G 013470 G 013600 G 013616 014232 014330 014472 013576 003436 003440 004453 004727 003530 G G G G G G G G G T$FLAG= T$FREE= T$GMAN= 000000 THHILI= ABS. 032016 000000 ERRORS DETECTED: 0 000 001 VIRTUAL MEMORY USED: 26207 WORDS ( 103 PAGES) ( 79 PAGES) DYNAMIC MEMORY : 20614 WORDS ELAPSED TIME: 00:17:01 CVTSEC,CVTSEC/-SP=SVC/M. , TSV1E,CVTSEC. SRC TENEST= TENSO = TENS1 = TENS2 = T$PCNT= T$PTAB= TSPTHV= T$PTNU= T$SAVL= T$SEGL = T4SIZE= T$SUBN= T$TAGL= T$TAGN= TSTEMP= T$TEST= T$TSTM= T$TSTS= T4SAU = T$$AUT= T$$CLE= T$4$DAT= T$$0U = T$$HAR= T$SH = T$$INI= T4$$MSG= T$$PC = T$$PRO= T$$PTA= T$$RPT= 177777 010045 000000 000005 177777 000001 010016 010013 010014 010044 010015 010040 010000 010012 010003 000001 010011 010043 010010 T$$SOF = 010041 T$$SRV= 010007 T$4SUB= 010033 T$4SUW = 010001 T$4TES= 010037 024166 T5 TSWEOT = UAM UNIWLK UNL = UNREC URERM VFEXC VFISV VFYCNT VFYDAT VFYFLG VFY.C = WAITF WLKCHK WLKZRO WRBC WRECL = WRR = WRREC = WRT WRTCHK WRTCHR 024576 024616 024702 024372 024416 024436 024456 024476 024516 024536 024556 025644 G 026500 G 026674 G 027054 G 027634 G 000200 G 005653 100412 G 003470 G 005041 G 016152 G 016400 G 003346 G 016066 G 003516 G 000100 G 007204 G 007356 G 011734 002626 G 000020 G 105005 G 002766 G 104005 G 007270 G 007436 G WRTY WRTYCT WRTYER WRTYFG WRUNR WSM = WSMBK WSSR WTBF WTBUF = WTH WTMFLG WIR = = WiV WTVERM WTYBRF WTYCMD WTYWRD X$ALWA= X$FALS= X$0FFS= X$TRUE= X0.EQT= X0.LET= X0.0NL= X0.RLL= X0.RLS= X0.TMK= X0.WLK= X2.BFE= X2 .EFE= X2.0PM= X3.0CK= X3.RNY= X4 HSS= X4 .RCE= ZROPAT $LSTIN= $LSTTA= oo | SFPTBL SFR | SOFINI 024156 G 003523 G cOoOOOn = TSLAST= TSLOLI= TSLSYM= TSLTNO= 000005 (1212121212112 121212 2 2 21 ) SFF TRAP4 TSAM = TSBA TSC.FC= 1SC.TC= 010206 011172 105010 002204 105410 007072 104010 104410 006120 006436 SEQ 0142 Ve NOUVAWN | 2121212121212~ 1~} - SETRMW . SETUP 14-JUN-84 18:32 [ MACRO M1113 PARAMETER CODING . SYMBOL TABLE M11l
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies