Digital PDFs
Documents
Guest
Register
Log In
AH-T179A-MC
September 1982
145 pages
Original
7.2MB
view
download
OCR Version
6.6MB
view
download
Document:
CVTSEA0 TSV05 TSV05 DATA REL SEP 1982 bw
Order Number:
AH-T179A-MC
Revision:
000
Pages:
145
Original Filename:
CVTSEA0__TSV05__TSV05_DATA_REL__AH-T179A-MC__SEP_1982_bw.pdf
OCR Text
TSV0 - - o CVTSEAO TSVOS DATA RELIABILITY ; MACRO MT113 8 1 25-MAY-82 09:51 PAGE 2 SEQ 0001 .REM_ g IDENTIFICATION 9 }? PRODUCT CODE: AC=T178A-M( 12 }z PRODUCT NAME: CVTSEAQ TSVOS DATA RELIABILITY 15 }g PRODUCT DATE: 08-~MAR-82 18 58 MAINTAINER: SCOTT SNOWDON 21 %% AUTHOR: DICK GORDON 24 25 26 5 29 30 31 %% THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE W]THOUT 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. 34 35 NC RESPONSIBJLITY IS ASSUMED FOR SOFTWARE ON EQUIPMENT THAT IS NOT THE USE SUPPLIED OR BY RELIABILITY OF DIGITAL OR ITS % AFFILIATED COMPANIES. 38 COPYRIGHT (C) 1982,1982 BY DIGITAL EQUIPMENT CORPORATION 2? THE FOLLOWING ARE 42 DIGITAL 43 45 DEC TRADEMARKS OF DIGITAL EQUIPMENT CORPORATION: PDP DECUS UNIBUS DEC TAPE MASSBUS CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 ¢ PAGE 3 .1 SEQ 0002 48 ég USER DOCUMENTATION TABLE OF CONTENTS 51 52 53 GLOSSARY 33 gg 1.0 gg GENERAL [NFORMATION 1.1 PROGRAM ABSTRACT 60 61 1.1.1 1.1.2 62 63 1.1.3 1.1.4 64 65 66 67 68 69 ;? 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.4.3.1 MEDIA/OPERAT IONAL SELECTIVE WRITE-ERROR-RECOVERY 1.1.4.3.2 OPERATIONAL WRITE-ERROR-RECOVERY 1.1.4.4 DIAGNOSTIC TIMING ADJUSTMENT ;% 1.2 74 ;2 SYSTEM REQUIREMENTS 1.2.1 1.2.2 HARDWARE REQUIREMENTS SOFTWARE REQUIREMENTS ;g 1.3 RELATED DOCUMENTS AND STANDARDS gg 1.4 ODIAGNOSTIC HIERARCHY PREREQUISITES 81 1.5 ASSUMPT IONS 85 gg 2.0 OPERATING INSTRUCTIONS 86 87 gg 2.1 HARDWARE PARAMETERS g? 2.2 SOF TWARE PARAMETERS 92 2.2.1 2.2.2 gz 32 2.3 97 99 2.3.2 }8? 102 }82 EXAMPLES OF SOF TWARE PARAMETER DIALOGUE 2.3.17 98 2.3.3 2.4 TS05 COMMAND LIST DATA PATTERNS BASIC FUNCTION AND DATA RELIABILITY WITH ALL ERROR REPORTING ENABLED SCOPE LOOP SET UP IN BASIC FUNCTIONS SCOPE LOOP SET UP IN DATA RELIABILITY EXECUTION TIMES —_— CVTSEAO TSVOS DATA RELIABILITY MACRO M\(13 25-MAY-82 09:51 D i PAGE 3-1 2.4.1 2.4.2 3.0 3.1 ERROR REPORTING 3.1.1 ERROR #1 3.1.2 3.1.3 3.1.4 3.1.5 ERROR #2 - TS0S5 NOT READY ERROR #3 ~ NO RESPONSE ERRORS ERROR #4 - NO INTERRUPT ERROR SPECIAL CONDITION ERRORS d D b b b b and b and wd d D o b 139 140 12} SYSTEM CONFIGURATION TEST EXECUTION TIMES ERROR INFORMATION Dl d WD e ) e e oD d D D D d D b o e WIN N WINNINWWNNI N NN = b B it e ) D 2 O OO OO PNV WA= OO0 NO VNS NN = O V00N NS WA= O V00 O N SEQ 0003 3.1.6 3.1.7 3.1.8 3.1.9 3.1.10 3.2 ERROR ERROR ERROR ERROR ERROR = - TEST SUMMARIES TCCO, TCC1, TCC2, TCC3, TCC4, TCCS, TCC6, TCC7, UNDEFINED SPECIAL CONDITION ATTENTION CONDITION TAPE STATUS ALERT FUNCTION REJECT RECOVERABLE ERROR RECOVERABLE ERROR UNRECOVERABLE ERROR FATAL SUBSYSTEM ERROR Rif NON-2ERO ERROR RETRY LIMIT EXCEEDED TOO MANY INTERRUPTS CAPSTAN RUNAWAY DATA COMPARE ERRORS 5.1 TEST i - BASIC FUNCTIONS 5.3 TEST 3 -~ WRITE COMPATABILITY/WRITE UTILITY 5.2 146 }2; #13 #14 #15 #16 #17 #5 #6 #7 #8 #9 #10#11#12- ERROR HALTS 5.0 145 MODULO & BOUNDRY ERROR ERROR ERROR ERROR ERROR ERROR ERROR ERROR PERFORMANCE REPORT 144 - COMMAND PACKET ADDRESS IS NOT ON A 3.1.5.1 3.1.5.2 3.1.5.3 3.1.5.4 3.1.5.5 3.1.5.6 3.1.5.7 3.1.5.8 4.0 143 5.4 5.5 TEST 2 = DATA RELIABILITY TEST & - READ COMPATABILITY/READ UTILITY TEST 5 - RANDOM/OPERATOR SELE "ED COMMAND SEQUENCE NO NS WN=O =S OOV d e d wd ) b e b b = d =ed 149 [0 Yo JV, IV, IV TV 1V 1V 1V LV 1V 1V, — 6.0 DEVICE INFORMATION 6.1 6.2 5.3 GENERAL Q-BUS INTERFACE SPECIFICAT]IONS BIT DEFINITIONS FOR TSV05/TSOS REGISTERS 6.3.1 6.3.2 6.3.2.1 6.3.3 6.3.4 6.3.5 TSV0S5/7S05 REGISTER SUMMARY TSVOS STATUS REGISTER (TSSR) TSVOS EXTENDED DATA BUFFER REGISTER (TSDBX) EXTENDED STATUS REGISTER 0 (XSTATO) EXTENDED STATUS REGISTER 1 (XSTAT1) EXTENDED STATUS REGISTER 2 (XSTAT2) r —d e nd wd wd nd oocoonororOn CO~NONN IS NN CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 E 1 PAGE 3-2 6.3.6 6.3.7 7.0 DIAGNOSTIC HISTORY SEQ 0004 EXTENDED STATUS REGISTER 3 (XSTAT3) EXTENDED STATUS REGISTER & (XSTAT4) — CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 F 1 PAGE 4 SEQ 0005 170 };5 1.0 GENERAL INFORMATION 173 };g 1.1 176 177 178 PROGRAM ABSTRACT 1.1.1 FUNCTIONAL DESCRIPTION wo e 181 THIS PROGRAM CAN BE USED AS A BASIC FUNCTION TEST, A DATA RELIABILITY ;g% TEST, OR A COMPATABILITY TEST. 184 00 Q0 00 o 1.1.2 STRUCTURE OF PROGRAM O 0000 THIS DIAGNOSTIC IS A SINGLE PROGRAM FROM TAE STANDPOINT OF THE DIAGNOSTIC USER, BUT IT CONTAINS A CONTROL MODULE RELEASED INDEPENDENTLY AS A DIAGNOSTIC SUPERVISOR. 1.1.3 197 MEMORY MAP 0! AREA 202 400 mmmccccccceaas i 207 2000 eeemcececcanae i b —d NN 210 b e d b 41000 g -------------- ; b b cmd i | 220 L . DIAGNOSTIC SUPERVISOR ! | i § ] 223 226 77777 eccceccccccacccee FREE MEMORY SPACE FOR WR/RD BFRS OR OTHER PUROSES —————— —_— — —_— CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 6 1 PAGE 4-1 25-MAY-82 09:51 SEQ 0006 227 228 %%g 23 23 233 %%g IS ALLOCATED BY THE SUPERVISOR ON REQUEST OR CHOOSEN BY PROGRAMMER TO RESIDE BETWEEN THE DIAG AND THE SUPERVISOR. 1.1.4 DIAGNOSTIC INFORMATION eescsscesccccccccccae1.1.4.1 SCOPE 236 ggg THIS DIAGNOSTIC CAN TEST ONE CONTROLLER AND UP TO ¢ DRIVES. ARE ASSIGNED LOGICAL DRIVE NUMBERS 0 - 1 BY THE DIAGNOSTIC. %28 THERE ARE 5 TESTS IN THIS PROGRAM: 241 242 243 244 gzg Szg 249 250 251 252 ng ggg TEST TEST TEST TEST 1 2 3 4 -~ TEST 5 - THE 2 DRIVES 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 TIMZ, 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 257 258 528 THERE ARE 2 , SELECTABLE WRITE-ERROR-RECOVERY ALGORITHMS USED BY THIS DIAGNOSTIC: 1. MEDIA/OPERATIONAL SELECTIVE ALGORITHM 2. OPERATIONAL ALGORITHM 261 BY DEFAULT THE DIAGNOSTIC SELECTS THE FIRST ALGORITHM TO IDENTIFY 264 265 TO SELECT THE SECOND ALGOR]ITHM: ANSWER °‘Y' TO CHANGE SW (L) gg% Sgg 268 593 %;} MEDIA RELATED WRITE ERRORS FROM OPERATIONAL ONES. ANSWER °N' TO ? BAD TAPE SPOT DETECTION (L) Y ? IF _ERROR RECOVERY IS INHIBITED, THE LATTER QUESTION IS NOT A“KED AND BOTH ALGORITHMS ARE BYPASSED. 1.1.4.3.1 MEDIA/OPERATIONAL SELECTIVE WRITE~ERROR-RECOVERY ALGORITHM S;Z SCOPE 275 5;9 THIS ALGCRITHM IDENTIFIES MEDIA RELATED WRITE ERRORS FROM OPERATIONAL ONES. s;g ALGOR] THM 280 281 282 A WRITE RETRY SUBROUTINE IS CALLED BY THE RECOVERABLE ERROR SUBROUTINE WHICH [S ENTERED UPON DETECTIION OF A WRITE RECOVERABLE ERROR. THE WRITE RETR/ SUBROUTINE ATTEMPTS TO REWRITE THE RECORD IN SAME SPOT ON TAPE 283 4 TIMES. r CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 25-MAY-B2 09:51 H 1 PAGE 4=-2 SEQ 0007 If ALL & REPEATS ARE GOOD, THE RECORD IS CONSIDERED AS RECOVERED AND A RECOVERABLE WRITE ERROR IS LOGGED AT THAT RECORD NUMBER. IF ANY OF THE & REWRITE ATTEMPTS FAIL, THE ROUTINE WILL ERASE THE BAD RECORD, BAD SPOT AT THAT RECORD NUMBER,THE ROUTINE WILL THEN ATTEMPT TO AND LO WRITE THE RECORD AGAIN 3 INCHES FURTHER DOWN TAPE AND RETRY THIS SEQUENCE 4 TIMES, FOR UP TO & REPEATS EACH. IF A RECORD CANNOT BE WRITTEN WITHOUT RECOVERABLE ERRORS THEN THE ROUTINE WILL ERASE THE RECORD AND AFTER & RETRIES, 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 HAVE BEEN LOGGED . TWENTY (20) BAD SPOTS MAXIMUM Ah_ ALLOWED PER BOT TO EOT PASS OF TAPE. WHEN 20 BAD SPOTS HAVE BEEN LOGGED, WETHER ON THE SAME RECORD NUMBER OR NOT, TAPE 1S CONSIDERED DEFECTIVE: A BAD TAPE OVERFLOW MESSAGE AND THE UNIT IS REWOUND, THEN DROPPED. DURING THE RECOVERY PROCESS, POSITIONING OPERATIONS: IS PRINTED IT IS NECESSARY TO PERFORM SEVERAL TAPE SPACE REVERSE, ERASE. IF A POSITION ERROR IS DETECTED IN THE STATUS WORD DURING THOSE OPERATIONS, AN APPROPRIATE UNRECOVERABLE ERROR MESSAGE THEN THE RECOVERY ATTEMPT |S 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 Tu 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 BOT TO WHERE THE DIAGNOSTIC IS HALTED SEFORE REACHING EOT. OON'T CONFUSE THIS WITH A PASS BY THE SUFCRVISOR WHICH IS DEFINED AS A RUN THROUGH A ON ALL UNITS SELECTED. THOSE PASSES ARE IDENTIFIED AS °‘PASS’* AND ‘EOP'’. THE NUMBER OF WRITE RETRIES, CUMULATIVE FROM PASS TO PASS, IS A GLOBAL COUNT OF HOW MANY TIMES THE GROUP OF & RETRIES HAS BEEN CALLED. THE NUMBER OF WRITE RECOVERABLE ERRORS EXCLUDES BAD TAPE SPOTS ~ MACRO M1113 I 25-MAY-82 09:51 1 PAGE 4-3 SEQ 0008 AND REFLECTS THE SPECIFICATIONS OF THE HARDWARE UNDER TEST. 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. IF TEST 2 IS HALTED, THEN RESTARTED OR CONTINUED, THE RECORD COUNT 1S 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 ATIRIBUTED 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: CVISE SFT ERR 00009 ON UNIT 00 TST 002 Su8 000 PC: 012100 RECOVERABLE ERROR WRT CMD FAILED - UNIT O PREVIOUS CMD WAS WRT CMDPKT 100205 026600 000000 003107 XST0 000350 SUSPECT SUSPECT SUSPECT SUSPECT TSBA 002406 RFC 000000 XST1 XST2 000002 BAD BAD BAD BAD SPOT SPOT SPOT SPOT 100400 AFTER AFTER AFTER AFTER PASS: 1 RECORD: 6 TSSR TCC 100210 4 XST3 1 2 3 & 000000 XST4 0C0000 RETRY, 2 REPEAT RETRY, 1 REPEAT RETRY, 1 REPEAT RETRY, 3 REPEAT RETRY FAILED ON BAD SPOT...ERASED! SUSFe.T BAD SPOT AFTER 1 RETRY, SUSPECT BAD SPOT AFTER 2 RETRY, 1 REPEAT 1 REPEAT CVISE SFT ERR 00009 ON UNIT 00 TST 002 Ssus 000 PC: 012100 RECOVERABLE ERROR WRT CMD FAILED - UNJT O PASS: T RECORD:10210 PREVIOUS CMD WAS CMDPKT TSBA 100205 002406 XST0 000350 XST1 000002 026600 000000 004000 WRT RFC 000000 XST2 10001 BECOVERED ON RETRY # TSSR T(C XST3 000000 XST4 000000 100210 -0 CVTSEAQ TSVOS DATA RELIABILITY 4 DR>PR] UNIT 0 PASS: BYTES WRITTEN BYTES READ REV BYTES READ REV 1 RECORD:10210 0.272.279,691 0,301,123,654 0,301,120,381 WRT RDR RDF CVYSEAQ TSVOS DATA RELIABILITY 398 399 400 401 402 403 404 405 406 407 408 409 410 3 412 413 414 415 416 67 418 619 420 421 622 424 MACRO M1113 25-MAY=~82 09:51 1 J PAGE 44 SEQ 0009 RECOVERABLE ERRORS 1 UNRECOVERABLE ERRORS WRITE RETRIES 0 0 3 0 0 0 2 BAD SPOTg THIS6TAPE PASS PRECEDING RECORD #: SPEC COND DR> 2 HARD FATAL 0 0 COMPARE 0 THIS EXAMPLE SHOWS: RECORD 6 RECOVERED ON 2ND RETRY GROUP THE 2 BAD SPOTS RESIDE IN A 18 INCH ERASE GAP BETWEEN RECORDS S5 AND 6 RECORD 10210 RECOVERED ON 1ST RETRY OF & GOOD REPEATS 3 WRITE GROUP RETRIES ATTEMPTED, RESULTING IN: 1 RECOVERABLE WRT ERR FROM RECORD 10210 2 BAD SPOTS BETWEEN RECORDS 5 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 ERROR. 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 DIAGNOSTIC TO WAIT FOR VARIOUS COMMANDS COMPLETION. THESE DELAYS ARE NOT CALIBRATED AND SIMPLY EXPANDS INTC 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 ELEMENT *LSDLY'". INNER LOOP COMES FROM THE FIXED ‘HEADER'' AS THE DIAGNOSTIC IS RUN ON DIFFERENT CPU'S, VARY [N LENGTH WITH MEMORY SPEED. THESE DELAYS WILL IF TIME-OUT OCCURS WHEN NO APPARENT MALFUNCTIONS IN THE TAPE UNIT IS EVIDENT, ALL TIMINGS OF THE DIAGNOSTIC MAY BE ADJUSTED TO MATCH MEMORY SPEED AND NOT RESULT THAT FIXcD DELAY ELEMENT *‘LSDLY''. A PRESET COUNT OF "HEADER'' SECTION. 1.2 SYSTEM REQUIREMENTS IN TIME-QUTS, BY PATCHING 500 RESIDES AT "'LSDLY'* IN LOCATION 2116 OF THE CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 1 K PAGE 4=-5 SEQ 0010 455 456 457 458 459 1.2.1 HARDWARE REQUIREMENTS PDP=11/23 PRCCESSOR WITH 32k CR MORE OF MEMORY CONSOLE DEVICE (VT52,LA36,ETC.) PROGRAM LOAD DEVICE TSV05/7S05 1.2.2 SOFTWARE REQUIREMENTS DIAGNOSTIC SUPERVISOR 1.3 RELATED DOCUMENTS AND STANDARDS DIGITAL EQUIPMENT CORPORATION DOCUMENTS: 1. 2. 3. 4. CIQPMAQ XXDP+ PROGRAMMER'S DATE: 14 JuLY 1980. MANUAL: DOCUMENT NUMBER AC=S296A-AC TSVOS5 TRANSPORT SUBSYSTEM USER'S GUIDE; DOCUMENT NUMBER EK-TSV0S5-UG-001 DATE: AUGUST 1982 TSVO5 TRANSPORT SUBSYSTEM TECHNICAL MANUAL; DOCUMENT NUMBER EK=-TSV0S=-TM-001 DATE: AUGUST 1982 TSV0O5 TRANSPORT SUBSYSTEM INSTALLATION MANUAL: DUCUMENT NUMBER EK=-TSV0S5~IN-001 DATE: AUGUST 1982 1.4 DIAGNOSTIC HIERARCHY PREREQUISITES ORDER OF HOST CPU DIAGNOSTIC USAGE : 1) CONTROL LOGIC PROGRAM - ALL TESTS. (VTSA,VTSB,VTSC,VISD) 20 DATA RELIABILITY PROGRAM: 3; 82?{CREE?§;f??r;E§E§r, 1.5 ASSUMPTIONS THE HARDWARE OTHER THAN THE SUBSYSTEM BEING TESTED IS ASSUMED TO WORK PROPERLY. FALSE ERRORS MAY BE REPORTED IF THE PROCESSOR, MEMORY, ETC.. DO NOT HUNCTION PROPERLY. - CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 L 1 PAGE 4-6 S -t b (VL IV, IV, ) SEQ 0011 VISA,VTSB,VTSC, AND VTSD HAVE ALL SUCESSFULLY RUN WITHOUT ERRORS. CVTSEAQ TSVOS DATA RELIABILITY 516 g}g 521 g%% 524 : 527 528 g%g MACRO M1113 mn PAGE § 25-MAY-82 09:51 SEQ 0012 2.0 OPERATING INSTRUCTIONS THIS SECTION CONTAINS A BRIEF DESCRIPTION OF THE RUNTIME SERVICES. FOR DETAILED INFORMATION, REFER TO THE XXDP+ USER'S MANUAL (CHQUS). COMMANDS THERE ARE ELEVEN LEGAL COMMANDS FOR THE DIAGNOSTIC RUNTIME SERVICES (SUPERVISOR). THIS SECTION LISTS THE COMMANDS AND GIVES A VERY BRIEF JESCRIPTION OF THEM. THE XXDP+ USER'S MANUAL HAS MORE DETAILS. g%; COMMAND EFFECT 533 534 535 536 537 538 539 540 START RESTART CONT INUE PROCEED EXIT ADD START THE DIAGNOSTIC FROM AN INITIAL STATE START THE DIAGNOSTIC WITHOUT INITIALIZING CONTINUE AT TEST THA« WAS INTERRUPTED (AFTER “(C) CONTINUE FROM AN ERROR HALT RETURN TO XXDP+ MONITOR (XXDP+ OPERATION ONLY') ACTIVATE A UNIT FOR TESTING (ALL UNITS ARE CONSIDERED TO BE ACTIVE AT START TIME 561 542 543 544 222 547 gzg WAV VIV VAVAIL N NS WN) gg? DROP DEACTIVATE A UNIT PRINT PRINT STATISTICAL DISPLAY FLAGS ZFLAGS BY THE DIAGNOSTIC) INFORMATION (IF IMPLEMENTED 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 THE TSVO5 DIAGNOSTIC IS A PDP-11/23 COMPATIBLE OPERATOR COMMANDS DIAGNOSTIC SUPERVISOR PROGRAM. ALL LOADING AND RUNTIME INSTRUCTIONS CAN BE REFERENCED IN THE PDP=11 PROGRAMMER'S MANUAL ‘‘CIQPMAQ XXDP+ PROGRAMMERS MANUAL, N'MBER AC-S296A-AC. THE USER ENTRY IS IN QUOTES. 559 gg? 800T THE DIAGNOSTIC XXDP MEDIA 562 563 564 565 566 567 568 569 570 571 572 t 4MDLBO XXDP+ DL MONITOR 28k BOOTED VIA UNIT O ENTER DATE (DD-MMM-YR): °‘ ENTER DATE OR JUST <(R> *' RESTART ADDRESS: 153726 50 HI? N ** <CR> " SI?2 N YR THIS IS XXDP+, TYPE 'H'' OR "W/L'' FOR DETAILS R _VTSEAQ VISEAOBINDRS LOADED DIAG. RUN-TIME SERVICES REV D. APR 79 — CVTSEAQ TSVOS DATA RELIABILITY MACRO M1i13 N 1 PAGE S~1 25-MAY-82 u,:S1 SEQ 0013 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 CVTSE=-A-0 TSVO5 DATA RE 'ABILITY UNIT IS TSVO0S SWITCHES THERE ARE SEVERAL SV'ITCHES WHICH ARE USED TO MODIFY SUPERVISOR OPERATION. THESE SWITCHES ARE APPENDED TO THE LEGAL COMMANDS. ALL OF THE LEGAL SWITCHES ARE TABULATED BELOW WITH A BRIEF DESCRIPTION OF EACH. IN THE DESCRIPTIONS BELOW, A DECIMAL NUMBER [S DESIGNATED B8Y 'DDDDD’’. SWITCH EFFECT /TESTS:LIST EXECUTE ONLY THOJE TESTS SPECIFIED IN THE LIST. LIST 1S A STRING OF TEST NUMBERS, FOR EX/APLE = /TESTS:1:5:7-10. THIS LIST WILL CAUSE TESTS 1,5,7,8,9,10 10 /PASS :DDDDD /FLAGS:FLGS /EOP:DDDDD JUNITS:LIST BE RUN. ALL OTHER TESTS WILL NOT BE RUN. EXECUTE DDDDD PASSES (DDDDD = 1 TO 64000) SET SPECIFIED FLAGS. REPORT END OF PASS MESSAGE A€TER EVERY DDDDD PASSES ONLY. (DDDDD = 1 TO 64000) TEST/ADD/DROP ONLY THOSE UNITS SPECIFIED IN THE LIST. LIST EXAMPLE - /UNITS:0:5:10-12 USE UNITS 0,5,10,11,12 (UNIT NUMBERS = 0-63) EXAMPLE OF SWITCH USAGE: START/TESTS:1-5/PASS:1000/E0P: 100 THE EFFECT OF THIS COMMAND WILL BE: 1) TESTS 1 THROUGH S WILL BE EXECUTED, 2) ALL UNITS WILL TESTED 100U TIMES AND 3) THE END OF PASS MESSAGES WILL BE PRINTED AFTER EACH 100 PASSES ONLY. SWITCH CAN BE RECOGNIZED BY THE FIRST THREE CHARACTERS. FOR EXAMPLE, TYPE °*'/TES:1-5'' INSTEAD OF °‘/TESTS:1-5'", A YOU MAY, BELOW IS A TABLE THAT SPECIFIES WHICH SWITCHES CAN BE USED BY EACH COMMAND . TESTS START RESTART CONT INUE PROCEED JROP ADD FRINT DISPLAY FLAGS ZFLAG* EXIT X X PASS X X X FLAGS X X X X EOP X X X UNITS X X X X X CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 B 2 PAGE 5-2 SEQ 0014 630 FLAGS 633 634 635 636 637 638 639 640 FLAGS ARE USED TO SET UP CERTAIN OPERATIONAL PARAMETERS SUCH AS LOOPING ON ERROR. ALL FLAGS ARE CLEARED AT STARTUP AND REMAIN CLEARED UNTIL EXPLICITLY SET USING THE FLAGS SWITCH. FLAGS ARE ALSO CLEARED AFTER A START COMMAND UNLESS SET USING THE FLAG SWITCH. THE ZFLAGS COMMAND MAY ALSO BE USED TO CLEAR ALL FLAGS. WITH THE EXCEPTION OF THE START AND ZFLAGS COMMANDS, NO COMMANDS AFFECT THE STATE OF THE FLAGS; THEY REMAIN SET OR CLEARED AS SPECIFIED BY THE LAST FLAG SWITCH. s 642 FLAG EFFECT 644 HOE HALT ON ERROR - CONTROL IS RETURNED TO 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 LOE IER+ 18R+ IXE* PRI PNT BOE UAM ISR IDR ADR Lor 66 666 667 668 669 670 672 673 674 675 676 677 4 680 681 683 684 685 686 RUNTIME LOOP ON INHIBIT INHIBIT SERVICES COMMAND MODE ERROR ALL ERROR REPORTS 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) DIRECT MESSAGES TO LINE PRINTER PRINT TEST NUMBER AS TEST EXECUTES "BELL'* ON ERROR UNATTENDED MODE (NO MANUAL INTERVENTION) INHIBIT STATISTICAL REPORTS (DOES NOT APPLY TO DIAGNOSTICS WHICH DO NOT SUPPORT STATISTICAL REPORTING) INHIBIT PROGRAM DROPPING OF UNITS EXECUTE AUTODROP CODE LOOP ON TEST *ERROR MESSAGES ARE DESCRIBED IN SECTION 3.1 SEE THE XXDP+ USER'S MANUAL FOR MORE DETAILS ON FLAGS. YOU MAY SPECIFY MORE THAN ONE FLAG WITH THE FLAG SWITCH. FOR EXAMPLE, TO CAUSE THE PROGRAM TO LOOP ON ERROR, INHIBIT ERROR REPORTS AND TYPE A "BELL'' ON ERROR, YOU MAY USE THE FOLLOWING &TRING: /FLA : LOE : IER GS : BOE 2.1 HARDWARE PARAMETERS S 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 *'v'* 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 PETURN RESPONCE. CVTSEAO TSVOS DATA RELIABILITY 687 ggg gg? MACRO M1113 25-MAY-82 09:51 TSDB ADDRESS ¢ 2 PAGE 5-3 (0) VECTOR (0) 224 ? SEQ 0015 172520 ? gg% SELECT DRIVE 0-1 694 695 696 THE VALIDITY OF THESE PARAMETERS CAN BE CHECKED BEFORE RUNNING THE TESTS BY SETTING THE FLAG ‘‘ADR'* ON A STA, RES OR CON COMMAND. THE SO CALLED AUTO DROP CODE SHALL THEN BE EXECUTED AFTER THE INIT CODE 988 WITH THE FOLLOWING MESSAGE: 701 BUS TRAP AT XXXXXX 704 705 ;89 ON A RESPONSE FROM THE INTERFACE, ON-LINE ARE DROPPED IMMEDIATELY. BE RUN ON RESPONDING UNITS. 708 709 710 IF THE *'ADR'' FLAG IS NOT SET, THE READY AND OFF-LINE STATUS OF THE DRIVE IS CHECKED. A MESSAGE SHALL BE PRINTED EVERY SO OFTEN TO WARN THE OPERATOR OF DRIVES BEING NOT READY OR OFF=-LINE. THESE DRIVES 697 698 ;8% ;}5 713 s 716 7 ;}g (0) ? AND BEFORE THE HARDWARE TESTS ARE RUN. THAT CODE FIRST TESTS THE ADRRESS OF THE TSDB(S). IF NO RESPONSE, IT DROPS TYE UNIT(S) IMMEDIATELY (_XXXXXX = TSDB AD ) INTERFACE BAD OR NOT SET TO ABOVE ADDRESS. THE UNITS THAT ARE NOT READY OR NOT THE HARDWARE TESTS SHALL THEN SHALL BE DROPPED AFTER A REASONABLE AMOUNT OF TIME, 2.2 SOFTWARE PARAMETERS T THE FOLLOWING QUESTIONS ARE ASKED WHEN ONE ANSWERS YES TO THE CHANGE SOF TWARE QUESTION ON A START, RESTART,OR CONTINUE. THEY ALLOW FLEXABILITY IN THE WAY THE PROGRAM BEMAVES. ;g? CLEAR COUNTERS (L) Y ? ;5% RESET RANDOM VARIABLES (L) N ? ;gg PRINT RECOVERABLE ERRORS ;59 HALT AFTER EACH CMD (L) N ? ;gg INHIBIT RECOVERY (L) N ? ;g? BAD TAPE SPOT DETECTION (L) v ? ;g% DISABLE INTERRUPTS (L) N ? ;%g INHIBIT RFC ERROR REPORTS (L) N ? ;gg CHANGE CMD SEQUENCE (L) N ? ;gg DEFAULT SWITCH SETTINGS (L) Y ? ;2? 100IPS (L) N ? 742 WRITE BUFFERING (L) N ? (L) N ? (SEE NOTE1:) CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY=-82 09:51 D 2 PAGE 5-4 SEQ 0016 READ BUFFERING (L) N ? ANSWERING NO TO THE DEFAULT SWITCH QUESTION WILL CAUSE THE 100 IPS QUESTION TO BE ASKED. ANSWERING YES TO THE 100 IPS QUESTION WILL TWO QUESTIONS. INHIBIT THE LAST ANSWERING NO TO THE 100 IPS QUESTION WILL CAUSE THE WRITE BUFFERING QUESTION TO BE ASKED. ANSWERING YES TO THE WRITE BUFFERING QUESTION WILL LAST QUESTION. INHIBIT THE ANSWERING NO TO THE WRITE BUFFERING QUESTION WILL CAUSE THE READ BUFFERING QUESTION TO BE ASKED. 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: PATTERN (D) 7 ? (D) CMD/3 (D) & ? BRF COUNT (D) 2048 ? # OF OPERATIONS PATTERN (D) 7 ? CMD/4 (D) 3 ? (D) BRF COUNT (D) 2048 ? # OF OPERATIONS PATTERN (D) 7 ? (D) CMD/5 (D) 2 ? BRF COUNT (D) 2048 ? # OF OPERATIONS PATTERN (D) 7 ? CMD/6 (D) 13, BRF COUNT (D) ? 1 # OF OPERATIONS PATTERN (D) 7 ? (D) ? (D) CMD/7 (D) 27. ? BRF COUNT (D) 2048 ? # OF OPERATIONS PATTERN (D) 7 ? (D) # OF OPERATIONS PATTERN (D) 7 ? (D) CMD/8 (D) 27. ? BRF COUNT (D) 2048 ? NOTE: 1 ? 32000 32000 ? ? 32000 32000 ? (OCTAL) (DECIMAL) (1-2K) (DECIMAL) (1-32K) (DECIMAL) (1-27) (1=2K) (DECIMAL) (DECIMAL) (0-8) 32000 ? 1 (1-27)"" (1-32k) (0-8) (1-27) (1-2K) ~ 17 (0,20, 40 200) | W n X (D) # OF OPERATIONS ~ BRF COUNT (0) 40 ? -~ CMD/2 (D) 13 ? - CHARACTERISTICS CODE ~ NOTE1: -~ 764 745 746 7467 ( 0-8) ( 1-27) ( 1-2K) ( 1-32K) ( 0-8) ( =27) ( =2K) ( =32K) g -8) =27) ( =2K) ( 32K) ( 8) g?) ( ( ( ( K) 3 2K) 8) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) (DECIMAL) THE _PROGRAM AUTOMATICALLY INSERTS A CHARACTERISTIC CODE OF AS THE FIRST COMMAND IN THE SEQUENCE TABLE. IF A DIFFERENT CHARACTERISTIC IS DESIRED, THE OPERATOR SHOULD 40 — CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 801 802 803 804 ggg ggg 2.2.17 1 = 2 = 3 = 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 DRI RDF RDR & = WRT 6 = 7 = 8 = 9 = 10 = 11 = 12 = 13 = 14 = 15 = 16 = 17 = 18 = 19 = 20 = 21 = 22 = 23 = SRF SRR RNR RNF RPF RPR WRR RW MBR WIM WIR SFF SFR GES ERS UNL CLN SCH 25 = JMP 26 = DLY 27 = END 5= 2.2.2 COMMAND WV PATTERN # 851 0 1 [o YV FYWY,V Y,] W e ] DESCRIPTION DRIVE INITIATE. READ FORWARD. READ REVERSE. WRITE. WRITE/VERIFY. JE. WRITE N RECORDS; READ REVERSE AND CHECX N RECORDS OF DATA; READ FORWARD AND CHECK N RECORDS. SPACE RECORDS FORWARD. SPACE RECORDS REVERSE. READ NEXT REVERSE, IE. SPACE FWD, READ REV. READ NEXT FORWARD, IE. READ FWD, SPArE REV. READ PREVIOUS FWD, IE. SPACE REV, READ FWD. READ PREVIOUS REV, IE. READ REV, SPACE FuwD. WRITE RETRY. REWIND. MESSAGE BUFFER RELEASE. WRITE TAPE MARK. WRITE TAPE MARK RETRY. SPACE FILES FORWARD. SPACE FILES REVERSE. GET EXTENDED STATUS. ERASE 3 INCHES OF TAPE. UNLOAD. CLEAN TAPE SET DEVICE CHARACTERISTIC. WHERE BRF=200, 40, 20, 0. 200 = ENABLE SKIP TAPE MARKS STOP (STOP AT LOGICAL EOT) 40 = ENABLE ATTENTION INTERRUPTS. 20 = ENABLE MESSAGE BUFFER RELEASE INTERRUPTS. SEE TSV05/TS05 PROGRAMMING SPECIFICATION FOR DESCRIPTION. JUMP TO THE NTH COMMAND IN THE COMMAND SEQUENCE TABLE, WHERE N IS DEFINED IN THE BRF FIELD. THE NUMBER OF JUMPS IS ENTERED IN THE # OF OPERATIONS FIELD DELAY 'N'* MILISECONDS WHERE N IS DEFINED IN THE # OF OPERATIONS. END OF COMMAND SEQUENCE. DATA PATTERN LIST FOR USE IN SOF TWARE DIALOGUE. ggg 852 853 SEQ 0017 COMMAND LIST FOR USE IN SOFTWARE DIALOGUE. CODE 811 812 813 Bag 2 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 (“2) CAN BE ENTERED TC TERMINATE SOF TWARE DIALOGUE. g?g gzg E PAGE 5-5 DESCRIPTION. INCREMENTING PATTERN. ALL ''1''"S PATTERN. ALL '0'"*'S PATTERN. 0 - 377, "'1°* BIT WALKING FROM R T 0oL IN A AF l E LD OF "'0'**S. "0’ BIT WALKING FROM R TO % IF ?A F I ELD OF *'1°*'S . ALTERNATING '‘1°' AND *0'* BITS WITH A LTERNATE BYTES COMPLIMENTED. ALTERNATING BYTES OF 000 AND 3?7 4 r CVTSEAQ TSVOS DATA RELIABILITY 858 859 MACRO M1113 25-MAY-82 09:51 I4 8 F 2 PAGE 5-6 RANDOM DATA PATTERN. NO PATTERN GENERATION. SEQ 0018 CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 2.3 25-MAY-82 09:51 EXAMPLES OF G PAGE 6 2 SEQ 0019 SOFTWARE DIALOGUE CHANGE HW (L) #UNITS (D) ? ? TSDB ADDRESS (0) 172520 ? VECTOR (0) 224 ? SELECT DRIVE 0-1 (0) ? IN ADDITION, ON A START, RESTART OR CONTINUE THE SUPERVISOR REQUESTS CHANGES TO THE SOFTWARE OPERATING PARAMETERS, AS FOLLOWS: CHANGE SW (L) 2.3.1 ? BASIC FUNCTION AND DATA RELIABILITY WITH ALL ERROR REPORTING ENABLED A) 8) 0) D) RECEIVE PROMPT (DR>) ENTER STA/TES:1-2<CR> ANSWER HARDWARE QUESTIONS. PROCEED WITH THE FOLLOWING DIALOGUE: CHANGE SW (L) ? CLEAR COUNTERS Y<CR> (L) N ? RESET RANDOM VARIABLES (L) N ? PRINT RECOVERABL” ERRORS (L) N ? HALT AFTER EACH .MD (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 ? 2.3.2 Y<CR> <(R> Y<CR> <(R> <CR> <CR> <CR> <CR> <CR> <CR> T0 SET UP A SCOPE LOOP FOR A FAILURE IN BASIC FUNCTIONS. RECEIVE PROMPT (DR>) ENTER STA/TES:1/FLA:LOE:IER:ISR: IDU<CR> ANSWER HAFDWARE QUESTIONS. PROCEED WITH THE FOLLOWING DIALOGUE: CHANGE S¥ (L) ? CLEAR COUNTERS (L) N ? RESET RANDOM VARIABLES (L) N ? PRINT RECOVERABLE ERRORS (L) N ? HALT AFTER EACH CMD (L) N ? INHIBIT RECOVERY (L) N ? BAD TAPE SPOT DETECTION (L) DISABLE INTERRUPTS (L) N ? Y ? Y<CR> Y<CR> N<CR> N<CR> N<CR> N<CR> N<CR> N<CR> — CVISEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 H 2 PAGE 6-1 SEQ 0020 INHIBIT RFC ERROR REPORT (L) N ? CHANGE CMD SEQUENCE (L) N ? DEFAULT SWITCH SETTINGS (L) Y ? 2.3.3 Y<CR> N<CR> <CR> TO SET UP A SCOPE LOOP FOR A FAILURE IN DATA RELIABILITY A) B) C) D) RECEIVE PROMPT (DR>) ENTER STA/TES:S5/FLA:IER:ISR:IDU/EOP:1000<CR> ANSWER HARDWARE QUESTJONS. PROCEED WITH THE FOLLOWING DIALOGUE: ~ CHANGE SW (L) ? CLEAR COUNTERS (L) N ? RESET RANDOM VARIABLES (L) N ? PRINT RECOVERABLE ERRORS (L) N ? HALT ArTER 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 ? CHARACTERISTICS CODE (0) 40 ? CMD/2 (D) 5 ? BRF COUNT (D) 2048 ? # OF OPERATIONS PATTERN (D) 7 ? CMD/3 (D) 5 ? BRF (D) 2048 ? # OF OPERATIONS PATTERN (D) 7 ? CMD/4 (D) 5 ? BRF (D) (D) 10 ? 10 ? Y<CR> Y<CR> N<CR> N<CR> N<CR> N<CR> N<CR> Y<CR> Y<CR> Y<CR> LO<CR> 13<CR> 1<CR> 1<CR> 1<CR> L<CR> 1000<CR> 10000<CR> 1<CR> 27<CR> (D) 2048 ? <*2> (REWIND) (WRITE) (END) 2.4 EXECUTION TIMES 2.4.1 SYSTEM CONFIGURATION PDP11/23 MOS MEMORY LA36 TSV05/7S05 2.4.2 TEST EXECUTION TIMES (2400 FT. TAPE) TEST 1 ~ BASIC FUNCTIONS - 30 SECONDS PER PASS. TEST 2 = DATA RELIABILITY = 45 MINUTES PER PASS. TEST 3 - WRITE COMPATABILITY = 20 MINUTES PER PASS. TEST & - READ COMPATABILITY = 20 MINUTES PER PASS. TEST 5 = RANDOM/OPERATOR SELECTED SEQUENCE ~20 MINUTES PER PASS. NOTE: ALL EXECUTION TIMES ARE SHOWN FOR ONE DRIVE OEPRATION. — CVISEAO TSVOS DATA RELIABILITY 975 976 977 MACRO M1113 I 25-MAY-82 09:51 2 PAGE 6-2 SEQ 0021 3.0 ERROR INFORMATION ALL ERROR REPORTS EXCEPT FOR ERRORS #1 AND #17 INCLUDE A DUMP OF THE FOLLOWING INFORMATION: ERROR #, TEST #, SUBTEST #, PROGRAM COUNTER UNIT »#, COMMAND, PREVIOUS COMMAND, PASS COUNT, # OF RECORDS FROM BOT, RECORD READ COUNT, THE COMMAND PACKET, TCC, TSSR, TSBA, RFC, AND THE EXTENDED STATUS REGISTERS (SEE 2.3.74.1 FOR LIST OF COMMANDS). STANDARD ERROR REPORT FORMAT: CVISE SFT ERR XXXXX TST XXX (ASCII ERROR MESSAGE) XXX CMD FAILED = UNIT X PREVIOUS CMD WAS XXX CMDPKT OOXOOE XXXXXX XXXXXX XXXXXX XST0 XXXXXX TSBA XXXXXX XST1 XXXXXX RFC XXXXXX XST2 XXXXXX SUB XXX PASS: TSSR XXXXXX XXXXX RECORD: * RECORD READ: XXXXXX XST3 PC: T(CC XXXXX XXXXX X XST4 XXXXXX ~ XXXXXX Pur o Prur G- P Sinr Gurghurd O VO NN N = [ LN b o o b b cad b [oleleleleleleleleT b wd e * CAUTION « 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 1S RESET TO ZERO ALTHOUGH THE TAPE IS NOT REWOUND. THIS IS NECESSARY BECAUSE THERE IS NO ACCURATE WAY TO DETERMINE ON WHAT RECORD COUNT OF WHICH UNIT THE DIAGNOSTIC WAS HALTED BEFORE RESTARTING OR CONTINUING. IT 1S SUGGESTED THAT A °‘PRINT'® BE REQUESTED WHEN HALTING DIAG TO GET A PRINT OF THE RECORD COUNT WHEN HALTED. EXAMPLE OF AN ERROR REPORT: CVISE SFT ERR 00009 TST 002 RECOVERABLE ERROR WRT CMD FAILED = UNIT 2 PASS: PREVIOUS CMD WAS WRT CMDPKT TSBA RFC TSSR agOOgg 000000 002324 000000 100210 sus 000 2 TCC 4 PC: 010606 RECORD: 254 — _ CVISEAO TSVOS DATA RELIABILITY MACRO M1113 1032 1033 1034 % }ggg 1039 1040 1041 1042 1043 }82% 1046 1047 1048 1049 1050 1051 1052 }822 1055 1056 1057 1058 1059 1060 }821 3.1.1 25-MAY-82 09:51 J 2 PAGE 6-3 SEQ 0022 000371 XST0 XsT1 XST2 XST3 XSTé4 000350 000002 100004 000000 040055 ERROR #1 - COMMAND PACKET ADDRESS NOT ON A MODULO 4 BOUNDRY: IF THIS ERROR IS REPORTED, THE PROGRAM DID NOT LOAD PROPERLY. THIS IS A SYSTEM FATAL ERROR AND THE PROGRAM MUST BE RELOADED TO CORRECT 1IT. 3.1.2 ERROR #2 - TSO5 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 THE DEVICE WILL BE DROPPED FROM THE TEST SEQUENCE UNLESS THE IDU OPTION IS USED. 3.1.3 ERROR #3 - NO RESPONSE ERROR: ONCE THE TSDB IS LOADED, THE TSO5 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. 3.1.4 ERROR #4 - NO INTERRUPT ERROR: [4 1063 COMMAND WAS ISSUED AND NO INTERRUPT RECEIVED. 1064 THAT NO INTERRUPT OCCURRED. 1065 1066 1067 1068 }898 THE PROGRAM REPORTS 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 SPECIAL CONDITION ERRORS: 1071 1072 1073 ;8;? IF, DURING EXECUTION, AN INCIDENT OCCURS FORCING THE TSSR SPECIAL CONDITION BIT TO SST, THE PROGRAM WILL SELECT ONE OF 8 ERROR HANDLING ROUTINES, DEPENDING ON THE TERMINATION CLASS CODE. 1076 1077 THE TERMINATION CLASS CODES IN THE TSSR ARE PROCESSED AS FOLLOWS WHEN SPECIAL CONDITION IS SET: %gg? 3.1.5.1 ERROR #5 - TERMINATION CLASS CODE 0, UNDEFINED SPECIAL CONDITION i 1082 }832 1085 }8%9 1088 THE ERROR IS REPORTED, A HARD ERROR IS LOGGED AND THE PROGRAM PROCEEDS NORMALLY. 3.1.5.2 ERROR #6 ~ TERMINATION CLASS CODE 1, ATTENTION CONDITION THIS TCC INDICATES THAT THE DRIVE HAS UNDERGONE A STATUS CHANGE f CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 K 2 PAGE 6-4 SEQ 0023 b e cnd b b b D cad = b e b wd b b =D ) b b ad b b b D wd D e wd d b b wd =D e D D ad d ad b =D end =D wd ek oV —l-.-.—n—._.—h-a—l—l_n—c-n—.—n—l_n—l—l—n—l—n—h—i—.-—.—l—b...—n_n_n-h—h—l—l—l_n—b-bs-o—l—l—l_-l SNBSS D NWWWWWWWWWNI NN S it =@ = <2 000 OO 23 b- 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 SUCH AS GOING OFF L INE OR COMING ONLINE. THIS IS A FATAL DEVICE ERROR AND THE DEV l 5§EgILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS 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, THE ERROR IS REPORTED AND A HARD ERROR 1S LOGGED. THE PROGRAM PROCEEDS NURMALLY. 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 FIINCTION WAS INITIATED. RECOVERY PROCEDURE IS TO LOG THE ERROR AND ISSUE THE APPROPRIATE RETRY COMMAKND. IF RETRY LIMIT IS REACHED BEFORE THE ERROR IS RECOVERED, RETRY LIMIT EXCEEDED 1S PEPORTED AS DESCRIBED IN ERROR #14 BELOW. 3.1.5.6 ERROR #10 - TERMINATION CLASS CODE 5, RECOVERABLE ERROR TAPE POSITION HAS NOT CHANGED. RECOVERY PROCEDURE ERROR AND RE-ISSUE THE ORIGINAL COMMAND. REACHED BEFORE IS TO LOG THE IF RETRY LIMIT IS THE ERROR IS RECOVERED, RETRY LIMIT EXCEEDED IS REPORTED AS DESCRIBED IN ERROR #14 BELOW. 3.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. r CVISEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 L 2 PAGE 6-5 SEQ 0024 }}29 1148 1149 1150 1151 1152 1153 }}gg 3.1.6 ERROR #13 = RFC NON-2ERO ERROR: IF, AFTER EXECUTION, THE RESIDUAL FRAME COUNT IS NON-ZERO, THE ERROR IS REPORTED AND A HARD ERROR IS LOGGED. THE PROGRAM THEN PROCEEDS NORMALLY. THE REPORTING AND LOGGING OF THESE ERRORS 1S OPTIONAL. 3.1.7 ERROR #14 - RETRY LIMIT EXCEEDED: 1156 }}gg 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. 1159 }}2? ON A READ COMMAND THIS ERROR 1S LOGGED AS A HARD ERROR AND THE PROGRAM PROCEEDS NORMALLY. 1162 }}gz 3.1.8 1165 1166 }}gg 1169 }};? 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 1172 1173 1174 75 76 ;g oo~ NN=O \hbWN-‘OOg wd b b = PNONONY =D cod e b end e b end =D b b =D b b e e =D od d b o e e md o b e 82 83 84 85 86 87 ERROR #16 - CAPSTAN RUNAWAY: CAPSTAN DID NOT STOP WITHIN ACCEPTABLE WINDOW AFTER LAST COMMAND. THE PROGRAM WILL ISSUE A GET STATUS COMMAND BEFORE REPORTING THE ERROR SO THAT THE DEAD TRACK FIELD IN EXTENDED STATUS REGISTER 2 WILL CONTAIN THE TACH COUNT WHEN THE TAPE STOPPED. THIS IS A FATAL DEVICE ERROR AND THE DEVICE WILL BE DROPPED FROM THE TEST CYCLE UNLESS THE IDU OPTION IS USED. b wd b e wd cd wd cmd b o b cnd b cnd wnd and =D and =D b wd b 79 g? ERROR #15 - TOO MANY INTERRUPTS: 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. A HARD ERROR IS LOGGED AND THE PROGRAM PROCEEDS NORMALLY. 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 UNIT X PASS:XXXXX RECORD:XXXXX BYTES WRITTEN XXX, XXX, XXX, XXX BYTES READ REV XXX,XXX,XXX,XXX BYTES READ FWD XXX, XXX,XXX,XXX — CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 M2 PAGE 6-6 RECOVERABLE ERRORS UNRECOVERABLE ERRORS SPEC COND HARD XXXXX WRT XXXXX RDR XXXXX XXXXX XXXXX FATAL XXXXX RDF XXXXX XXXXX COMPARE XXXXX 5.0 TEST SUMMARIES BASIC FUNCTIONS. EXECUTES AND VERIFIES CORRECT COMPLETION OF ALL TSOS FUNCTIONS. SUBTEST 1 E J SET CHAR, DRIVE INIT, GET STATUS. SET CHARACTERISTIC 200. DRIVE INITIATE. K 5.1 SUBTEST 2 WRITE/VERIFY, WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY WRITE/VERIFY J PATTERN PATTERN PATTERN PATTERN PATTERN PATTERN PATTERN B R LR 2K JE B SUBTEST 5 WRITE 10 RECORDS ERASE 10 TIMES WRITE TAPE MARK. WRITE TAPE MARK RETRY, SPACE FILES 2 2 2 SUBTEST 6 1. 2. 3. &. S. 6. 0. WRITE TAPE MARK, ERASE. WRITE TAPE MARK. >+t SUBTEST 4 * VIS SRR BRSNS AN VO NOVNBNWN=O VR NOWNSWN=O L} W SUBTEST 3 b e b e + REWIND AT BOT. b d b cod D e b b b med b b e b b o b o b b b b e SET CHARACTERISTIC 20. GET STATUS SET CHARACTERISTIC 40. PRINT TSO5 MICROCODE LEVEL REWIND. + REWIND. b b b ) L R b BE BE b cd o b aed e i D D e d d D e AINLNINLALAINININLNINIALINLNINLINLAL NN AL NN NN NL NN AL NNV NI NNV N NV NINI NN AL NI NN NNV NI NI PN b e md XXXXX SEQ 0025 S S S S REVERSE. FORWARD. REVERSE. FORWARD. SPACE RECORDS. + REWIND, + SPACE 7 RECORDS FORWARD. + SPACE 7 RECORDS REVERSE. + SPACE 7 RECORDS FORWARD. (PASS 1 ONLY) — - — CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 N 2 PAGE 6-7 b SEQ 0026 SUBTEST 7 0 ~ SUBTEST 10 o o > TMm ] =~ WRITE/VERIFY SWAPPED DATA BYTES. S K b 2R R 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. - READ SWAPPED DATA BYTES. K K K K R K B 2 + READ REV RECORD 4. R SUBTEST 12 FWD RETRY, READ FORWARD. READ PREVIOUS FORWARD. READ PREVIOUS REVERSE. CLEAN. + CLEAN. + REWIND. 2R J SUBTEST 11 0 ~ W D D e e cd e b ad d wd SUBTEST 9 REV RETRY. + READ REVERSE. READ NEXT REVERSE. READ NEXT FORWARD. > m ' P D b e b + REWIND. WRITE DATA. WRITE RETRY, b NN [ZASTS1,ST,V1,¥1,§) b d b SUBTEST 8 SPACE 7 RECORDS REVERSE. URITE RETRY. LA b ad + READ REV RECORD 3. SET DATA BYTE SWAP. READ REV RECORD 2. READ REV RECORD READ FWD RECORD READ FWD RECORD CLEAR DATA BYTE READ FWD RECORD 1. 1. 2. SWAP, 3. READ FWD RECORD 4. CVTSEAQ TSVOS DATA RELIABILITY 1301 MACRO M1113 5.2 25-MAY-82 09:51 8 PAGE 7 TEST 2 - 3 SEQ 0027 DATA RELIABILITY, 1. THE TAPE IS INITIATED WITH THE FOLLOWING COMMANDS: SET CHARACTERISTIC 40 REWIND WRITE 64 NIPNSWN 2O VO N VIS NN OO0 NO NS WA = OO WWWWIWWWWWAOLININAONNNNNDN) = o = b b b D bt O EXECUTED A RANDOM NUMBER OF TIMES WITH RANDOM LENGTHS AND RANDOM PATTERN UNTIL END OF TAPE IS REACHED. 3. 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 [SSUED. WRITE COMPATABILITY/WRITE UTILITY. REWINDS AND WRITES RECORDS OF RANDOM LENGTHS AND RANDOM DATA FROM BOT TO EOT. 5.4 TEST 4 - READ COMPATABILITY/READ UTILITY. REWINDS AND READS ENTIRE TAPE, 5.5 TEST 5 - FORWARD AND REVERSE. RANDOM/OPERATOR SELECTED COMMAND SEQUENCE. A DEFAULT SEQUENCE OF REWIND/WRITE/READ REV/READ FWD/REWIND OF ENTIRE TAPE IS EXECUTED WITH RANDOM PATTERN AND RECORD LENGTH OF 2048 BYTES. OPERATOR CAN ENTER SEQUENCE OF COMMANDS UP TO SEVEN IF THEY DON'T WANT DEFAULT SEQUENCE. 6.0 DEVICE INFORMATION TABLES OOV NOWVNS WSO OVRNOWVNEWN ) VIV IV VAV IVIVAV P X.2 bfibb ) =D d e D cmd ad D wd ) d ed ad D e D D d D d oD o b D D ) D e o e =D e e e ed 1308 —b e ed e D e wd h d ) D D s N AN WA W AN N W AN AN AN NN RECORDS OF RANDOM LENGTH AND DATA 2. WRITE AND READ COMMANDS ARE SELECTED AT RANDOM AND ARE THE TSOS TAPE SUBSYSTEM CONSISTS OF A TSV0S Q-BUS CONTROLLER CONNECTED TO A TSOS DRIVE. FROM A SOFTWARE VIEWPOINT THIS CONFIGURATION IS UNIQUE OF WAYS: A. B. C. (FOR A Q-BUS DEVICE) ONLY ONE REGISTER MAY BE WRITTEN - TSDB DATA BUFFER), IN A NUMBER (TAPE SYSTEM TWO REGISTERS MAY BE READ - TSSR AND TSBA (TAPE SYSTEM STATUS REGISTER AND TAPE SYSTEM BUS ADDRESS REGISTER), COMMANDS ARE NOT WRITTEN TO THE DRIVE; RATHER, COMMAND POINTERS ARE WRITTEN WHICH POINT TO COMMAND PACKETS SOMEWHERE IN (PU MEMORY. THE COMMAND POINTER ]S USED BY THE 1S05 SUBSYSTEM TO FETCH THE WORD(S) WITHIN THE COMMAND PACKET. THE WORDS WITHIN THE COMMAND PACKET ARE: r CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 c3 25-MAY-82 09:51 PAGE 7-1 L] - S0 . L] W SN0 0O D. b d b b d e D D b W N NN NN N o oo NN SEQ 0028 COMMAND WORD LOW ORDER BUFFER ADDRESS HIGH ORDER BUFFER ADDRESS BYTE COUNT THE TSSR CONTAINS ALL THE INFORMATION WHICH WILL BE NEC- ESSARY TO DETERMINE WHETHER: 1. THE DRIVE IS READY TO ACCEPT ANOTHER COMMAND, 2. THE PREVIOUS COMMAND WAS EXECUTED WITHOUT ERROR. IF EITHER OF THE ABOVE CONDITIONS IS UNTRUE AT °‘‘JOB DONE' OR ''COMMAND INITIATION'' TIME,IT MAY BE NECESSARY TO GET THE EXTENDED STATUS REGISTERS TO DETERMINE WHAT ACTION IS TO BE TAKEN AND/OR LOG THE ERROR INFORMATION. . EXTENDED STATUS REGISTERS ARE NOT READ DIRECTLY FROM DRIVE REGISTERS; RATHER, A ''GET STATUS'' COMMAND 1S ISSUED WHICH WILL CAUSE THE TSOS TO TRANSFER EXTENDED STATUS INFORMATION TO THE MEMORY AREA POINTED TO BY THE BUFFER ADDRESS OF THE °''GET STATUS'' COMMAND. THERE ARE FIVE EXTENDED STATUS REGISTERS. SEE .3. . THE TSDB MUST BE WRITTEN WITH A DATO INSTRUCTION TO PROPERLY WRITE THE COMMAND POINTER. A DATOB WILL CAUSE A MAINTENANCE FUNCTION. A DATO TO THE TSSR WILL CAUSE SUBSYSTEM INIT. G. COMMAND PACKETS MUST RESIDE ON DIVIDE BY FOUR MEMORY BOUNDARIES BOUNDARIES) . (AS OPPOSED TO DIVIDE BY 2 OR WORD CVTSEAQ TSVOS DATA RELIABILITY }gg; 1393 1394 1395 1396 132 1398 1399 1400 MACRO M1113 6.2 25-MAY-82 09:51 D PAGE 8 3 SEQ 0029 Q-BUS INTERFACE SPECIFICATIONS TSV05/ 1505 eeeee FIRST INT. VECTOR csecce 224 UNIBUS ADDRESS REGISTER cocem ceceeeece 772520 772522 TSBA/TSDB TSSR — —_— CVISEAQ TSVOS DATA RELIABILITY MACRO M1113 E 25-MAY-82 09:51 PAGE 9 3 SEQ 0030 }zgz 1405 1406 1407 %408 1409 1410 6.3 = 6.3.1 BIT DEFINITIONS FOR TSV0S5/TS05 REGISTERS TSv05/71S0S REGISTER SUMMARY eessccccscecccccccccccccces 15 1411 1412 }2}2 16415 1416 1417 1418 1419 1420 1421 1422 }252 (R/0) (R/0) 1631 12 'ATA'ATS'ATZ‘ $eeet (W/0) 13 teccjecctocetd !ATS' TSBA ! tecetecctecat !PTS' 11 10 09 tecanteccctace 4 'ATT'ATO'A09' tesctecmtecct 'PT&‘PTB'PTZ' 'PTT'PTO'P09' TSDB ! teeet tecctematmnn 08 07 06 deccjocctoce 4 'AOB‘AO?'AOé' tecetecepene 'P08'P07'P06‘ 0---0---0 --------- toeet 05 04 03 02 01 00 ¢ecctecctens 4 ¢tecctocatcaa ¢ tecmtecctonat $occtecetane tocctecetene . 0 --------- + ‘AOS'AO"AOS' 'AOZ'AOT'AOO' 'POS'POL'P03' 'POZ'PT?'PTé' 'sc!''!' o0 'SCE'RHR' 'NXH'NBA AT7' 'A16'SSR'0FL' 'FCT'FCO'TCZ' ‘TCT'TCO' O ! TSSR ! i ! ! PO 4---0---0---0 ---0 --------- +---¢---0 teccbona PO 0---0---0---9 'sT ' ' 0 '0!' 0! 'PZT'P?O'PT9' 'PTB' (TSDBX EXISTS ONLY WHEN (W/0)TSDBX ! L ! ! 't ! $oect tocotecntacet becctbecctocet bomnd 1425 1426 1427 1428 1429 1430 14 $tocnd donnd jecctccctocnt toce tecctacct ENABLED BY THE EXTENDED FEATURES SWITCH ON THE M7196) tocctece doccd tecctecciccnt tccctemcajacet tomctocctonct tocmtecctenctd toccteccteant tecetane PO temmt tecetecctene ¢ docctona bomet tecntecctenct tecctecetenct Vecotocatanas !THK' 'RLS'LET'RLL‘ 'ULE'NEF‘ILC‘ 'ILA'HOT'ONL' '1E ‘VCK'PED' 'ULK'BOT'EOT' XST0 ! ! ! ! ! P! ! PO tommtonatanat tocctocapanes PO S S becctomctonct teccteoctonn . IDLT! ' O 'COR! O ' 'O 'O 'O "wWBP'O'O''OD'OD'O'"'O 'UNC' 0 ! XsT1 ! v ! ! vl ! ! L ! ! P i | P tecet tecctecctocat 1432 1433 'OPM! 'RCE! O ' O ! ' O 'WCF! O ! ! O 'RL7'RL6' 'RLS'RL4G'RL3! 'RL2'RLT‘RLO' XST2 ! L ! ! v ! ! L ! ! . ' ! v ! 1435 1436 ! Xs13 ! 1434 1437 1438 1439 1440 14641 }22% 1644 1445 1446 1447 1448 1449 1450 1451 }22% }22? 1456 1457 1458 1459 MICRO DIAGNOSTIC ERROR CODE tecet XST4 tecctecntecct 'HSP! ! ! 'RCE' 0! O ! tocct tecctecctocct focctecctecct 0 = 1 2 3 4 = = = = S 6 7 = = = O tecctenctacet TERMINATION CLASS CODES 0 0 !0 'OP]! !REVITRF!DCK! ' 0 !' O 'RIB! ! ! V! ! ! P ! ! ' tocctecateccs 0! ! tecctccntccnt tocctees + HRITE RETRY COUNT tocctecctennt + * + ! ! jocctcccdemaand (TSSR T(CO0-T(2): NORMAL TERMINATION ATTENTION CONDITION TAPE STATUS ALERT FUNCTION REJECT RECOVERABLE ERROR = TAPE POSITION = ONE RECORD DOWN TAPE FROM START OF FUNCTION RECOVERABLE ERROR = TAPE NOT MOVED UNRECOVERABLE ERROR = TAPE POSITION LOST FATAL CONTROLLER ERROR FATAL CLASS CODES (TSSR FCO-FC1): 0 1 2 3 = = = = MICRO DIAGNOSTIC FAILURE. SEE ERROR CODE BYTE RESFRVED NOT USED RESERVED FOR FUTURE USE ALWAYS READ AS A 0 (XST3) FOR FAILED FUNCTION. CVTSEAQ TSVOS DATA RELIABILITY 1461 1462 }222 14665 1466 }22; MACRO M1113 6.3.2 15 14 L L A }2;} ;SC 1473 1480 1481 1482 1483 1484 1485 1486 1487 1488 SEQ 0031 Q-BUS ADDRESS + 2 - READ ONLY 1470 1477 1478 1479 3 PAGE 10 TSVOS STATUS REGISTER (TSSR) 1469 1474 1475 1476 F 25-MAY-82 09:51 13 S D 12 ¢+ ; ; 0 'SCE'RHR' temmt bmmctecctocct BIT s== NAME ee== 15 SC T(CC ees S ;288 n 10 09 tmcctecctona ¢+ 08 07 06 tecctecctons ¢+ 05 04 03 tecsteccicca 4 02 01 'NXH'NBA A17' 'A16'SSR'OFL' 'FCI'FCO‘TCZ' 'TC1‘TCO' 0 ! tocctecctecct toccbecetecet pecetecetocet $ecebocetecet DEFINITION eesscccceSPECIAL CONDITION. WHEN SET, INDICATES THAT THE LAST COMMAND DID NOT COMPLETE WITHOUT INCIDENT. SPECIFICALLY, EITHER AN ERROR WAS DETECTED OR AN EXCEPTION CONDITION OCCURRED. EXCEPTION CONDITIONS CAN BE TAPE MARKS ON READ COMMANDS, REVERSE MOTION AND AT BOT, EOT WHILE WRITING, ETC. MAY ALSO BE SET BY THE ERROR BITS CONTAINED IN THE TSSR REGISTER: SCE, RMR, AND NXM. THE TERMINATION CLASS BITS ARE SOMETHING OTHER THAN 0 (UNLESS RMR IS THE ONLY ERROR = SEE RMR). }23} % - 1493 1494 1495 }28; 13 SCE FCO SANITY CHECK ERROR-SETS WHEN THE CONTROLLER DETECTS AN ABNORHAL CONDITION WITHIN ITSELF DURING EXECUTION OF IT'S FUNCTIONS AND THE PROBLEM IS SERIOUS ENOUGH THAT A MESSAGE PACKET IS NOT STORED. 1498 1499 1500 1501 12 RMR S REGISTER MODIFICATION REFUSED. SET BY THE TSV0S WHEN A COMMAND POINTER IS LOADED INTO TSDB AND SUB=SYSTEM READY (SSR) IS NOT SET. NOTE THAT THIS BIT CAUSES SPECIAL CONDITICN BUT NO TERMINATION - 1502 1503 1504 1505 1506 RESERVED (ALWAYS A 0) CLASS (IN FACT, THE TSO5 NEVER SEES THIS ERROR) BECAUSE ON A SYSTEM WITH NO BUGS, THIS BIT MAY COME UP ON AN ATTENTION MESSAGE. IF ATINS ARE NOT ENABLED, THIS BIT COMING UP IS AN INDICATION OF EITHER A FATAL CONTROLLER ERROR OR A SOF TWARE ;28; 00 tecctecntace + BUG. 1509 1510 1511 1512 ;g}z 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. 1515 1516 1517 10 NBA S NEED BUFFER ADDRESS. WHEN SET, INDICATES THAT THE TSOS NEEDS A MESSAGE BUFrER ADDRESS. THIS BIT IS CLEARED DURING THE SET CHARACTERISTICS CVISEAQO TSVOS DATA RELIABILITY MACRO M1113 6 25-MAY=-82 09:51 3 PAGE 10-1 SEQ 0032 }g}g 1520 1521 1522 COMMAND (IF A GOOD ADDRESS WAS GIVEN). 09 A7 S }ggz BUS ADDRESS BIT 17, A17_AND A16 (BIT 08) TRACK THE VALUES OF BITS 17 AND 16 OF THE TSBA REGISTER. LOADED FROM TSDB BITS 01-00 WHEN TSDB IS WRITTEN, }g%g 08 A16 S BUS ADDRESS BIT 16. 1527 1528 }ggg 07 SSR S SUB-SYSTEM READY. WHEN SET, INDICATES THAT THE TSV05/TS05 SUBSYSTEM IS NOT BUSY AND IS READY TO ACCEPT A NEW COMMAND POINTER. 1531 1532 1533 }ggg 06 OFL §.1.3 OFF=LINE. WHEN SET, INDICATES THAT THE TSOS IS OFF-LINE AND UNAVAILABLE FOR ANY TAPE MOTION COMMANDS. THIS BIT CAN CAUSE A TERMINATION CLASS OF 1 (ON ATTN INTERRUPT) OR 3 (RESULTS IN NEF). 1536 1537 1538 1539 95 fO1 7 FATAL TERMINATION CLASS 01. FC1 AND FCO (BIT 04) ARE USED TO INDICATE THE TYPE OF FATAL ERROR WHICH HAS OCCURRED ON THE TS0S. THESE BITS ARE VALID ONLY WHEN SC IS SET AND THE TERMINATION CLASS CODE BITS ARE ALL SET (111). }gfi% 04 FCO 7 FATAL TERMINATION CLASS 00. 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 }ggg 03 T1C2 S TERMINATION CLASS BIT 02. THIS BIT, ALONG WITH THE TC1 AND T(CO BITS, ACT AS AN OFFSET VALUE WHENEVER AN ERROR OR EXCEPTION CONDITION OCCURS ON A COMMAND. EACH OF THE EIGHT POSSIBLE VALUES OF THIS FIELD REPRESENT A PARTICULAR CLASS OF ERRORS OR EXCEPTIONS. THE CONDITIONS IN EACH CLASS HAVE SIMILAR SIGNIrICANCE 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 TYHE CONDITION, }ggg 02 T1C1 S TERMINATION CLASS BIT 01. SEE TC2 (BIT 03). }ggg 01 TCO S TERMINATION CLASS BIT 00. SEE TC2 (BIT 03). 1560 1561 1562 1563 1564 00 - - NOT USED. }gz? }ggz 1567 Q-8BUS ADDRESS + 2 = WRITE ONLY SUBSYSTEM INITIALIZE SEE A17 (BIT 09). (ALWAYS A 0) SEE FC1 (BIT 05). CVISEAQ TSVOS DATA RELIABILITY 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 MACRO M1113 6.3.2.1 (W)= ) w=bd acd =od cobd cd aubd wnd b wub =2 O V00 NN b b o b b ONONONONONON b e SEQ 0033 1£7):) tecctocciocnt fecctecatecs bomay BT S 10!t 00! A R B 'P21'P20'P19' A P18 i ! $om=t temcbometenet tocctecctocat (TSDBX EXISTS ONLY WHEN ENABLED BY THE EXTENDED tomet FEATURES SWITCH BIT NAME T(C DEFINITION 1S BT - aoor COMMAND BIT. WHEN WRITTEN TO A 1,WITH SSR=1, CAUSES THE TAPE TO BE REWOUND TO BOT, THE FIRST TAPE RECORD TO BE SKIPPED, ON THE M7196) AND THE SECOND RECORD TO BE LOADED INTO CPU MEMORY SPACE STARTING AT LOCATION 0. 6.3.3 14=12 RESERVED (ALWAYS A 0) 11-08 P<21:18> COMMAND POINTER BITS 21-18. WHEN THE TSDBX IS WRITTEN AND SSR=1, THE DATA IS LOADED INTO BITS 21-18 OF THE INTERNAL TSBA REGISTER. 07-00 RESERVED (ALWAYS A 0) EXTENDED STATUS REGISTER O (XSTATO) TMK ! b e 3 11 $ocet i b PACE TSVOS EXTENDED DATA BUFFER REGISTER (TSDBX) 15 oo H 25-MAY-82 09:51 14 13 11 10 09 08 07 06 OS 04 03 02 01 GO jeccdjoccdeca ¢ docadovadaca ¢ docadacadnca ¢ doeccdoccndacad !RLS‘LET'RLL! 'ULE'NEf’ILC' 'ILA'HOT'ONL' '1E 'WLK!BOT!EOT! [ R BIT NAME TC(C 15 T 5.2 14 12 o RLS 2 e R e e e R 'VCK'PED‘ R e T i DEFINITION 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 OR WITE TAPE MARK RETRY COMMANDS. MARK RECORD LENGTH SHORT. THAT THIS BIT INDICATES EITHER THE RECORD'S LENGTH WAS SHORTER THAN THE BYTE COUNT ON READ OPERATIONS, SPACE RECORD OPERATION ENCOUNTERED A TAPE HARK OR BOT BEFORE THE POSITION COUNT WAS EXHAUSTED, OR A SKIP TAPE MARKS ~ COMMAND WAS TERMINATED _ BY ENCOUNTERING BOT OR A DOUBLE TAPE MARK (IF THAT OPERATIONAL MODE IS ENABLED, SEE LET) PRIOR TO EXHAUSTING THE POSITION COUNTER. i | CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 I 25-MAY-82 09:51 3 PAGE 11-1 SEQ 0034 1626 1627 13 LET 2 1635 1636 }g;g 12 RLL 2 RECORD LENGTH LONG. WHEN SET, THIS BIT INDICATES THAT THE RECORD READ WAS LONGER THAN THE BYTE COUNT SPECIFIED. 1639 1640 1641 11 WLE 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 1628 1629 1630 1631 1632 }ggz }gzg 1644 1645 }gzg LOGICAL END OF TAPE. SET ONLY ON THE SKIP TAPE MARKS COMMAND WHEN EITHER TWO CONTIGUOUS TAPE MARKS ARE DETECTED OR WHEN MOVING OFF OF B80T 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. LOCK SWITCH ACTIVATED DURING THE OPERATION. 10 NEF 3 NON-EXECUTABLE FUNCTION. WHEN SET, INDICATES THAT THE COMMAND COULD NOT BE EXECUTED DUE TO ONE OF THE FOLLOWING CONDITIONS: 1648 1649 = 1651 = 1650 THE COMMAND SPECIFIED REVERSE TAPE DIRECTION BUT THE TAPE WAS ALREADY POSITIONED AT BOT. THE ISSUING OF ANY MOTION COMMAND EXCEPT — CVTSEAQ TSVOS DATA RELIABILITY 1662 MACRO M1113 25-MAY-82 09:51 09 J 3 PAGE 12 ILC SEQ@ 0035 = WHEN THE VOLUME CHECK BIT IS SET. ANY COMMAND, EXCEPT GET STATUS OR = ANY WRITE DRIVE INITIALIZE, WHEN THE TSO5 IS OFF-LINE. COMMAND WHEN THE CONTAIN A WRITE STATUS = WLS). ILLEGAL COMMAND. AND CITHER MODE FIELD TAPE ENABLE RING DOES NOT (WRITE LOCK SET WHEN A COMMAND IS ISSUED ITS COMMAND FIELD OR ITS COMMAND CONTAINS CODES WHICH ARE NOT SUPPORTED BY THE TSO05. 1667 08 ILA ILLEGAL ADDRESS. (MORE THAN 18 BITS OR ODD WHEN AN EVEN ADDRESS 1S REQUIRED.) 1670 07 MoT TAPE 1672 06 ONL ON LINE. WHEN SET, INDICATES THAT THE TS0S ON-LINE AND OPERABLE. 1675 05 IE 1S MOVING. INTERRUPT ENABLE. égTERRgPT ENABLE REFLECTS THE BIT SUPPLIED STATE ON OF THE IS THE LAST 1679 04 V(K 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. 1685 03 PED PHASE ENCODED DRIVE. ALWAYS SET, INDICATES THAT THE TSO5 IS CAPABLE OF READING AND WRITING ONLY 1600 BPI PHASE ENCODED DATA. 1689 02 WLK S.3 WRITE LOCKED. WHEN SET, INDICATES THAT THE MOUNTED REEL OF TAPE DOES NOT HAVE A WRITE-ENABLE RING INSTALLED. THE TAPE IS, THEREFORE, WRITE PROTECTED. 1694 01 8or s.? BEGINNING OF 00 Eor 5.2 END OF TAPE. THIS BIT IS SET WHENEVER THE TAPE IS POSITIONED AT OR BEYOND THE END OF TAPE 1699 TAPE. WHEN SET, INDICATES THAT THE TAPE IS POSITIONED AT THE LOAD POINT AS ?EggTED BY THE BOT REFLECTIVE STRIP ON THE REFLECTIVE STRIP. — CVTSEAO TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 K 3 PAGE 13 SEQ 0036 NO VLW —=O D ngn"v-a_ha.a-aztj:!:fljcp EXTENDED STATUS REGISTER 1 O 15 14 tecet tocctecctece 4 13 12 11 (XSTAT1) 10 09 tecctecctocct 08 07 06 tecctccctaca 4 05 04 03 $ecctocctocct 02 01 00 tecctecctoca + 'DLT"O‘COR'O::0:0:0"RBP'O'O::O:O:O::O'UNC'O' tomad teccjccatocctd toccjoccbecst 0-0-0---400-0 00000---0---0 8IT NAME TCC DEF INITION 15 DLT 4 DATA LATE. SET WHEN THE FIFO IS FULL ON A READ OR_ EMPTY ON A WRITE, THESE CONDIT]IONS OCCUR WHENEVER THE Q-BUS LATENCY EXCEEDS THE DATA TRANSFER RATE OF THE TSO0S5. 14 - - NOT USED. 13 COR S CORRECTABLE DATA. CORRECTABLE DATA ERROR HAS BEEN ENCOUNTERED. WN=2O VNN W N=O b md b wod b d d D d b ) e i i D D D D SNNNNNNY NANNNNNNNNNNNNY W WWWNININOININNIN ) e e i e csd ~J b 6.3.4 12-09 08 RESERVED RPB 4 07-02 ¢ 00 01 UNC (ALWAYS A 0) (ALWAYS A 0) READ BUS PARITY ERROR. SET WHEN CONTROLLER DETECTS A PARITY ERROR ON THE READ DATA LINES OF THE TRANSPORT BUS. RESERVED (ALWAYS A 0) 4 0---0---#---0 UNCORRECTABLE DATA ERROR. [ CVTSEAQ TSVOS DATA RELIABILITY 1740 1741 1742 1743 1744 1745 1746 1747 MACRO M1112 25-MAY-82 09:51 6.3.5 L 3 PAGE 14 SEQ 0037 EXTENDED STATUS REGISTER 2 (XSTAT2) 15 14 pommt + 13 72 n 10 09 08 07 06 05 04 03 02 01 BT WE TeC DEFINITION 15 O0PM S OPERATION IN PROGRESS. 14 RCE 7,F2 RAM CHECKSUM ERROR. CAUSES FATAL CLASS 2 BECAUSE THE ERROR MIGHT HAVE OCCURRED DURING THE TRANSMISSION OF THE MESSAGE PACKET. 13-11 10 RESERVED wWCF 4 09-08 07-00 §£0 (ALWAYS A 0) WRITE CLOCK FAILURE. SET DURING A WRITE TO INDICATE THE FIFO IS NOT BEING EMPTIED BY THE TRANSPORT. RESERVED - (TAPE MOVING) (ALWAY> A 0) REVISION LEVEL. THAT 00 —— —— —— CVISEAO TSVOS DATA RELIABILITY MACRO M1113 n3 25-MAY-82 09:51 PAGE 15 SEQ 0038 1772 1773 1774 1775 1776 1727 1778 1779 1780 1781 6.3.6 EXTENDED STATUS REGISTER 3 (XSTAT3) 15 14 toeet teccteccieas 4+ ; 13 NAME T(C 07 06 $ecctocctaca 4+ ' 0 'OPI' 05 04 03 tecctccctace ¢ 'REV‘TRF'DCK' 02 01 00 tecctecatenay ! 0 'o 'RIB' DEFINITION RESERVED (ALWAYS A 0) 0PI 6 OPERATION INCOMPLETE. (SEE LIST OF CODES BELOW). SET WHEN A READ, SPACE, OR SKIP OPERATION HAS MOVED 25 FEET OF WITHOUT DETECTING ANY DATA ON THE TAPE. TAPE 05 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. WHEN (IDB) A PE WAS NOT DETECTED WHEN RESERVED (ALWAYS A 0) RIB 2 REVERSE INTO BOT. A READ, SPACE, OR SKIP COMMAND ALREADY IN PROGRESS HAS ENCOUNTERED THE BOT MARKER WHEN MOVING TAPE IN THE REVERSE DIRECTION. 6.3.7 SET IDENTIFICATION BURST MOVING OFF OF BOT. WA = b =b —d ad ccd b cod ) b 08 07 N TAPE MOTION WILL BE HALTED AT BOT. EXTENDED STATUS REGISTER & (XSTAT4) 15 NININD N =000 NO N b e b b ok o 00 00 00 Co OO b 09 MICRO DIAGNOSTIC ERROR CODE. 00 ek =D 10 HICRO DIAGNOSTIC ERROR CODE 02-01 b e 1" tecctocctans + 15 10 08 06 b 12 $omot tmmctocctecet tecctecctocet tecctoccteceat temembeccteces $occtecatonat BIT 00 00 00 0o 00 O | 14 13 12 tocat tmcctecs tmcnt 'HSP' 'RCE' 0 ' 1" 10 09 08 07 06 jecctecctecct tone tecotana ¢+ 0 0 0 0 0 ; 05 04 03 tecctecctocs 02 01 00 tecatecatnne + URITE RETRY COUNI ' ] $ommt bomebomcbecet tocmtocetecet pommber mbomed tecctocctocnt tmcctecctonsd 1823 BIT NAME T(C DEFINITION f CVTSEAQ TSVOS DATA RELIABILITY MACRO M1113 25-MAY-82 09:51 N3 PAGE 15-1 VIS = O V00 ~ON VS N - OO G0 0o 0o Qo 0o 00 OO0 00 0o 0o 0o 00 00 0o 00 0O bbbgbl‘ NN NN NN NN NN SEQ 0039 15 HSP ) HIGH SPEED. WHEN SET,INDICATES THAT THE TRANSPORT [S OPERATING IN HiGH SPEED MODE.(100IPS) WHEN CLEAR,THE TRANSPORT 14 RCE 13-8 70 WRC 1S OPERATING IN LOW SPEED MODE.(251PS) 6 RETRY CUUNT EXCEEDED. WHEN SET,INDICATES THAT THE CONTROLLER WAS BUFFERING WRITE DATA AND COULD NOT SUCESSFULLY OUTPUT THE BUFFERED RECORD WITHIN THE SPECIFIED NUMBER OF RETRIES. CAUSES TAPE POSITION LOST TERMINATION. - RESERVED 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. (ALWAYS A 0) 46 7.0 DIAGNOSTIC HISTORY REVISION A - MAR 1982 - MODIFIED CZTSHC FROM TS11 FOR TSVO0S — PROGRAM HEADER AND TABLES MACRO M1113 25-MAY-82 09:51 B & PAGE 16 SEQ 0040 .TITLE PROGRAM HEADER AND TABLES .SBTTL PROGRAM HEADER .ENABL = 002000 BGNMOD ABS,AMA 2000 ;04 ; : THE PROGRAM HEADER IS THE INTERFACE BETWEEN THE DIAGNOSTIC PROGRAM AND THE SUPERVISOR. 54 002000 POINTER BGNRPT ,BGNSW,BGN T ,BGNAU,BG SF NDU 55 63 64 002000 002000 002000 002001 002002 002003 002004 002005 002006 L SNAME 002007 002010 002010 002011 002011 002012 002012 002014 002014 002016 002016 002020 002020 002022 002022 002024 002024 002026 002026 002030 002030 002032 002032 002034 002034 002036 002036 002040 002040 002042 002042 002044 002044 060 000000 005000 027732 030040 002174 002204 032004 000000 000000 000001 000000 002124 000000 000000 HEADER (VTSE,A,0,5000,1 ;DIAGNOSTIC NAME LSREV:: sREVISION LEVEL LSDEPO: : ;0 LSUNIT:: :NUMBER OF UNITS LSTIML:: ;LONGEST TEST TIME LSHPCP: : sPOINTER TO H.W. QUES. L$SPCP:: sPOINTER TO S.W. QUES. LSHPTP: : :PTR, TO DEF. H.W. PTABLE LSSPTP:: :PTR. LSLADP: : ;DIAG. END ADDRESS LSSTA:: sRESERVED FOR APT STATS TO S.W. PTABLE L$CO:: LSDTYP:: ;DIAGNOSTIC TYPE LSAPT:: sAPT EXPANSION LSDTP:: ¢cPTR. TO DISPATCH TABLE LSPR]O:: sDIAGNOSTIC RUN PRIORITY LSENVI]:: sFLAGS DESCRIBE HOW IT WAS SETUP <ASCII /C/ .ASCII /v/ .ASCI! /1/ .ASCI1 /5/ .ASCI1 /E/ .BYTE 0 .BYTE 0 .BYTE 0 .ASCI! /A/ .ASCI1 70/ -WORD 0 .WORD 5000 -WORD LSHARD .WORD LSSOFT -WORD LSHW -WORD LSSW -WORD LELAST .WORD 0 .WORD 0 .WORD 1 .WORD 0 .WORD LSDISPAT(CH 0 .WORD 0 — PROGRAM HEADER AND PROGRAM HEADER 65 002046 002046 002050 002050 002051 002052 002052 002054 002056 002056 002060 002060 002062 002062 002064 002064 002066 002066 002070 002070 002072 002072 002074 002074 002076 002076 002100 002100 002102 002102 002104 002104 002106 002106 002110 002110 002112 002112 002114 002114 002116 002116 002120 002120 TABLES MACRO M1113 25-MAY-82 09:51 C PAGE 4 16~1 SEQ 0041 000000 003 003 000000 000000 000000 002164 017546 000000 000000 024030 023756 000000 002136 104035 000000 021302 023714 023272 021274 000000 000000 000000 LSEXP1:: ;EXPANSION WORD : LSMREV: sSV(C REV AND EDIT # LSEF:: sDIAG. EVENT FLAGS LSSPC:: LSDEVP:: ; POINTER TO DEVICE TYPE LIST LSREPP:: JPIR, TO REPORT CODE LSEXPS:: LSEXPS:: LSAUT:: ;PTR. TO ADD UNIT CODE LSDUT:: :PTR, TO DROP UNIT CODE LSLUN:: sLUN FOR EXERCISERS TO FILL LSDESP:: ;POINTER TO DIAG. DESCRIPTION LSLOAD:: sGENERATE SPECIAL AUTOLOAD EMT LSETP:: ;POINTER TO ERRTBL LSICP:: JPTR., TO INIT CODE LS$CCP:: :PTR, TO CLEAN-UP CODE LSACP:: ;PTR. TO0 AUTO CODE LSPRT:: ;PTR. TO PROTECT TABLE LSTEST:: sTEST NUMBER LSDLY:: sDELAY COUNT : LSHIME: :PTR, TO HIGH MEM .WORD 0 .BYTE .BYTE CSREVISION CSEDIT .WCRD .WORD 0 0 .WORD 0 .WORD LSDVTYP .WORD LSRPT .WORD 0 .WORD 0 .WORD LSAU -WORD LSOV .WORD 0 .WORD LSDESC EMT ESLOAD .WORD 0 -WORD LSINIT .WORD LSCLEAN .WORD LSAUTO -WORD LSPROT -WORD 0 -WORD 0 -WORD 0 |";WOGRAM HEADER AND TABLES MACRO M1113 DISPATCH TABLE D 25-MAY-82 09:51 PAGE 4 17 SEQ 0042 .SBTTL DISPATCH TABLE st : THE DISPATCH TABLE CONTAINS THE STARTING ADDRESS OF EACH TEST. ¢ IT IS USED BY THE SUPERVISOR TO DISPATCH TO EACH TEST. 79 002122 002122 002124 002124 002126 002130 002132 002134 DISPAT(H 5 000005 .WORD LSDISPATCH:: 024134 025622 026456 025652 027032 .WORD .WORD .WORD .WORD .WORD .SBTTL DESCRIPTIVE TEXT 144 95 002164 002164 002164 002167 b b d b b b ed NN = =2 PN P S e a Y 002147 002152 002155 002160 002163 104 101 [o Y PN QOW=0O OV ad > 002136 002136 002136 002141 002144 SO rd b = (O — N =O =0 WO =2NS~O - :2 LINES OF TEXT PRINTED TO THE OPERATOR TO IDENTIFY THE DIAGNOSTIC AND THE DEVICE UNDER TES LSDESC:: DESCRIPT 123 126 000 TEST> .ASCIZ DE vTYP 124 060 <DATA RELIABILITY LSDVTYP:: <TSV0S> /DATA RELIABILITY .EVEN .ASCI2 -EVEN /TSV0S/ TE r—— —_—— PROGRAM HEADER AND TABLES DEFAULT HARDWARE P-TABLE MACRO M1113 25-MAY-82 09:51 .SBTTL E & PAGE 18 SEQ 0043 DEFAULT HARDWARE P-TABLE 44 ; THE DEFAULT HARDWARE P-TABLE CONTAINS DEFAULT VALUES OF . ; 105 002172 002172 002174 000003 108 002174 9 002176 172520 000224 002174 002200 002202 002202 THE TEST-DEVICE PARAMETERS. THE STRUCTURE OF BGNHW DFPTBL .WORD LSHW:: DFPTBL:: 000000 THIS TABLE IS IDENTICAL TO THE STRUCTURE OF THE RUN-TIME P-TABLE. WORD .WORD .WORD L10000: 172520 224 0 ENDHW . TSDB ADDRESS. :VECTOR ADDRESS. sDRIVE ~O FOR DEFAULT L10000~L $HW/2 — PROGRAM HEADER AND TABLES SOF TWARE P-TABLE ;}g MACRO M1113 25-MAY-82 09:51 .SBTTL 116 F PAGE 4 19 SEQ 0044 SOFTWARE P-TABLE J+e 117 }}g : ; THE SOFTWARE P-TABLE CONTAINS THE VALUES OF THE PROGRAM PARAMETERS THAT CAN BE CHANGED BY THE OPERATOR. 120 121 002202 002202 002204 122 002204 000051 129 002204 130 002205 131 002206 132 002207 133 002210 124 002211 135 002212 136 002213 137 002214 138 002215 139 002216 140 002217 141 002220 142 002222 143 002224 144 002226 145 002230 146 002232 147 002234 148 002236 001 000 000 000 001 000 OOQ 000 000 000 000 000 000040 000015 000001 000001 149 002240 150 002242 151 002244 000007 BGNSW SFPIBL CLRFLG:: .BYTE RRANV:: .BYTE HAE : : .BYTE ERCVER:: .BYTE BADTSW:: .BYTE .BYTE DINT:: .BYTE IREC:: .BYTE CHGFLG:: .BYTE BYTE PIRE:: .BYTE BYTE CHAR:: (H.EAI CMDD:: .WORD MWORD WORD .WORD 000004 004000 076400 .WORD .WORD .WORD 000007 000003 004000 .WORD WORD .WORD 1 0 0 0 1 0 0 O O 0 0 O 13. 1 1 4 DATCNT 32000. JCOMMAND 3 (DEFAULT = WRITE) JBYTE COUNT (DEFAULT = MAX BUFFER SIZE). JNUMBER OF OPERATIONS (DEFAULT = 32000). RANP RANP 3 076400 000007 000002 004000 076400 000007 000015 000001 000001 000007 000033 .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD DAT(NT 32000. RANP 2 DATCNT 32000. RANP 13, 1 1 RANP 27. 164 002276 165 002300 166 002302 167 002304 168 002306 169 002310 170 002312 171 002314 172 002316 173 002320 076400 000007 000033 004000 076400 000007 000001 000000 000000 000000 LWORD .WORD WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD 32000. RANP 27. DATCNT 32000. RANP 1 0 O O 004000 LWORD TSIMD:: RDBUF:: WIBUF:: HSSW:: L10001-L8SW/2 JCLEAR COUNTERS FLAG. JRESET RANDOM VARIABLES EACH PASS FLAG. JHALT AFTER EACH COMMAND FLAG. cENABLE RECOVERABLE ERROR PRINTS FLAG. sBAD TAPE SWITCH TO REWRITE ON SAME SPOT & DETECT BAD TAPE :SPARE ;DISABLE INTERRUPTS FLAG. JINHIBIT ERROR RECOVERY FLAG. ;CHANGE CMD SEQ TABLE FLAG. :SPARE . JINHIBIT RESIDUAL FRAMECOUNT ERROR REPORT FLAG. :SPARE. sCHARACTERISTICS CODE (DEFAULT = 40). JCOMMAND 2 (DEFAULT = REWIND). JBYTE COUNT JNUMBER OF OPERATIONS 152 002246 153 002250 154 002252 155 002254 156 002256 157 002260 158 002262 159 002264 160 002266 161 002270 162 002272 163 002274 LWORD LSSW:: SFPTBL:: DAT(CNT JPATTERN JPATTERN (DEFAULT = RANDOM). JCOMMAND & (DEFAULT = READ REV). sBYTE COUNT (DEFAULT = MAX BUFFER SIZE). ;NUMBER OF OPERATIONS (DEFAULT = 32,000). JPATTERN (DEFAULT = RANDOM). JCOMMAND S (DEFAULT = READ FWD). ;BYTE COUNT (DEFAULT = MAX BUFFER SIZE). ;NUMBER OF OPERATIONS (DEFAULT = 32,000). JPATTERN (DEFAULT = RANDOM). JCOMMAND 6 (DEFAULT = REWIND). JBYTE COUNT :NUMBER OF OPERATIONS ;PATTERN JEND OF CMD SEQ TABLE CODE (DEF) OR CMD 7 sBYTE COUNT (DEFAULT = MAX BUFFER SIZE). JNUMBER OF OPERATIONS (DEFAULT = 32000). ;PATTERN (DEFAULT = RANDOM). JEND OF CMD SEQ TABLE CODE (DEF) OR CMp 8 ;BYTE COUNT (DEFAULT = MAX BUFFER SIZE). sNUMBER OF OPERATIONS (DEFAULT = 32000). JPATTERN (DEFAULT = RANDOM). sDE“AULT SWITCH SETTING JENABLE READ BUFFERING JENABLE WRITE BUFFERING sRUN AT 100IPS SWITCH PROGRAM HEADER AND TABLES SOF TWARE P-TABLE 176 002322 };S 002324 6 177 002326 002326 178 179 002326 MACRO M1113 25-MAY-82 09:51 6 PAGE & 19-1 SEQ 0045 060000 000000 EXTFEA: :.WORD BENBSW:: .WORD L10001: ENDSW ENDMOD 0 0 SEXTENDED FEATURES SOFTWARE Sw 0=0FF;1=0N sBUFFER ENABLE SOF TWARE SW 0=0fF;1=0ON — PROGRAM HEADER AND TABLES SOF TWARE P~TABLE 192 193 194 MACRO M1113 25-MAY-82 09:51 H & PAGE 20 SEQ 0046 .TITLE GLOBAL AREAS .SBTTL GLOBAL EQUATES SECTION 203 204 002326 205 BGNMOD see : THE GLOBAL EQUATES SECTION CONTAINS PROGRAM EQUATES ; ARE USED IN MORE THAN ONE TEST. THAT 1 211 002326 EQUALS :; BIT DIFINITIONS 100000 B8IT15== 100000 8IT14== 40000 81713== 20000 8I1T12== 10000 BIT11== 4000 B8I1T10== 2000 81709== 1000 81708== 400 8I1T07== 200 B8IT06== 100 8IT0S5== 40 B8IT04== 20 81703== 10 BIT02== 4 BIT01== 2 040000 020000 010000 004000 002000 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 8I1T00== 1 001000 000400 000200 000100 000040 000020 000010 000004 000002 000001 BIT9== 8178== 8117== BITé== 8IT5== BIT4== 8I13== 8I1T2== 8IT1== 81T0== BITO09 BJT08 BIT07 BIT06 BIT0S BITO04 BIT03 BIT0?2 BITO1 BIT00 ; EVENT FLAG DEF INITIONS H EF32:EF17 RESERVED FOR SUPERVISOR TO PROGRAM COMMUNICATION 000040 000037 000036 000035 000034 EF .START== EF .RESTART== EF.CONTINUE== EF .NEW== gF.PUR== 32. 31. 30. 29. 28. : PRIORITY LEVEL DEFINITIONS 000340 000300 PRI0O7== 340 PRI06== 300 ;s ; ; : s START COMMAND WAS ISSUED RESTART COMMAND WAS ISSUED CONTINUE COMMAND WAS ISSUED A NEW PASS HAS BEEN STARTED A POWER=FAIL/POWER=-UP QCCURRED GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 000240 000200 000140 000100 000340 000000 25-MAY-82 09:51 PAGE 20-1 SEQ 0047 PRI0S== PRI04== PRI03== PRI02== PRIO1== PRI00== 240 200 140 100 40 0 ;OPERATOR FLAG BITS 000004 000010 000020 000040 000100 000200 000400 001000 002000 004000 010000 020000 040000 100000 Evl== LOT== ADR== IDU== ISR== UAM== 80E== PNT== PR]== IXE== I8E== IER== LOE== HOE== 4 10 20 40 100 200 400 1000 2000 4000 10000 20000 400¢9 100000 . REGISTER USAGE. : K : : : : M : RO - PASSES PARAMETERS TO/FROM DIAGNOSTIC SUPERV]SOR. R1 - COMMAND SEQUENCE TABLE POINTER. R2 = GENERAL PURPOSE REGISTER. R3 - GENERAL PURPOSE REGISTER. R4 - GENERAL PURPOSE REGISTER. RS = CURRENT LOGICAL DEVICE NUMBER X 2. R6 = STACK POINTER. R7 = PROGRAM COUNTER. sTHE FOLLOWING ARE BIT DEFINITIONS FOR THE TSSR REGISTERS. 100000 040000 020000 010000 004000 002000 001000 000400 000200 000100 1777217 177761 75.5C€==100000 TS.UPE==40000 1S.SPE==20000 TS.RMR==10000 TS.NXM==4000 TS.NBA==2000 1S.A17==1000 sSPECIAL CONDITION BIT. JUNIBUS PARITY ERROR ;SERIAL BUS PARITY ERROR. JREGISTER MODIFICATION REFUSED. JNON=EXISTENT MEMORY. JNEED BUFFER ADDRESS. ;BUS ADDRESS BIT 17. T1S.A16==400 ;BUS ADDRESS BIT 16. 1S.0FL==100 OFF LINE. TS.SSR==2C0 T1SC.FCC==177717 TSC.TCC==177761 JUNIT READY BIT. JFATAL CLASS CODE MASK. STERMINATION CLASS CODE MASK. sTHE FOLLOWING ARE BIT DEFINITIONS FOR THE COMMAND WORD 100000 040000 020000 010000 ACK.C==100000 Cv(C.C==40000 OPP.(==20000 SWB.(==10000 ;ACKNOWLEDGE BIT JCLEAR VOLUME CHECK. ;OPPOSITE B8IT :SWAP BYTE BIT GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 004000 004000 25-MAY-82 09:51 PAGE 20-2 SEQ 0048 M0D.(3==4000 BRF .(==4000 002000 001000 000400 000200 000100 000100 VFY.C==100 000040 000040 FMT.C0==40 JMP.(==40 ;MODE BIT 3 ;BYTE/RECORD/FILE COUNT FLAG BIT. NOT USED :BY TS05 BUT USED INTERNALLY BY THIS PROGRAM ONLY. sMODE BIT 2 sMODE BIT 1 +MODE BIT 0 s INTERRUPT ENABLE sFORMAT BIT 1 SWRITE VERIFY FLAG BIT. sNOT USED BY TS0S. [INTERNAL USE ONLY. cFORMAT BIT 0. sJUMP BIT-TO DIRECT THIS PROGRAM TO JUMP TO A CERTAIN LOCATION IN THE COMMAND SEQUENCE wununnn nonnauenon SN =2 ON) o o 000020 000020 000010 000004 000002 000001 sTABLE. INTERNAL USE ONLY. sCOMMAND BIT 4 s INSERT DELAY. INTERNAL USE ONLY. sCOMMAND BIT sCOMMAND BIT sCOMMAND BIT sCOMMAND BIT 3 2 1 0 sBIT DEFINITIONS FOR DEVICE CHARACTERISTICS. 000200 000040 000020 000040 CH.ESS==200 CH.EAI==40 CH.ER]==20 DF TSCH==CH.EAI sENABLE SKIP TAPE MARKS STOP (STOP AT LOGICAL EOT). sENABLE ATTENTION INTERRUPTS. sENABLE MESSAGE BUFFER RELEASE INTERRUPTS. sDEFAULT CHARACTERISTICS CODE. ;81T DEFINITIONS FOR EXTENDED CONTROL WORD 000040 000030 000020 EF .HSS==40 EF .RWB==30 EF .RB0==20 sENABLE HIGH SPEED SELECT ;ENABLE BOTH READ & WRITE BUFFERING sENABLE READ BUFFERING ONLY - b b b ON OO > wn W= O naunnan nonnnn = L[] 000004 000006 000010 000012 000014 000016 wn ;THE FOLLOWING INDICATES THE RELATIVE POSITIONS OF sIN THE MESSAGE BUFFER. sRESIDUAL FRAME ¢EXT STATUS REG cEXT STATUS REG cEXT STATUS REG sEXT STATUS REG SEXT STATUS REG THE STATUS WORDS ( OUNT. 0 1 % 4& ;THE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 0. 100000 040000 020000 010000 000100 000004 000002 000001 X0.TMK==100000 X0.RLS==40000 X0.LET==20000 X0.RLL==10000 X0.ONL==100 X0.WLK== X0.80T== X0.E0T==1 ;TAPE MARK. JRECORD LENGTH SHORT. sLOGICAL EOT. JRECORD LENGTH LONG. ;ON LINE BIT. JWRITE LOCK BIT ;B80T BIT. ;EOT BIT, sTHE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 2. 160000 000200 000100 321 25-MAY-82 09:51 PAGE 20-3 X2.0PM==100000 X2.EFE==200 X2.BFE==100 SEQ 0049 sOPERATION IN PROGRESS, TAPE MOVING sEXTENDED FEATURES ENABLED sBUFFERING ENABLED sTHE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 3. 000010 157400 OV A = cd cod b o =D b b b b NO NS WN—=O N NN NN N N NN NN GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION X3.0(K==10 X3.RNY==157400 SDENSITY CHECK. sCAPSTAN RUNAWAY UDIAG ERROR CODE. sTHE FOLLOWING ARE BIT DEFINITIONS FOR EXTENDED STATUS REGISTER 4. 100000 040000 X4.HSS==100000 X4.RCE== 40000 sHIGH SPEED SWITCH INDICATING 100IPS sRETRY COUNT EXCEEDED sTHE FOLLOWING DEFINITIONS SHOW THE RELATIVE POSITIONS OF sPACKET ENTRIES. 000000 000002 000004 000006 THE COMMAND s CMDPKT+0==TS05 COMMAND. CP.CMD== CP.ADL== CP.ADH==4 CP.CNT== ;CMDPKT+2==BUFFER ADDRESS LOW. s CMDPKT+4==BUFFER ADDRESS HIGH. ;CKDPKT+6==BYTE/FILE/RECORD COUNT sMISCELLANEOUS DEFINITIONS. 000340 000012 INTPRI==FR107 SCHCNT==12 000020 000020 004000 MSGCNT==20 177740 000007 000020 000020 153624 RNOPSC==177740 RANP==7 032561 177774 177740 DIACNT==20 DATCNT==2048. RRECL==16. WRECL==16. sPRIORITY TO BE USED IN INTERRUPT STATE. sARBITRARY BYTE LENGTH FOR CHARACTERISTIC sBUFFER LENGTH. (EVEN #) sMESSAGE BUFFER LENGTH IN BYTES. (EVEN #) sDIAGNOSTIC COMMAND BUFFER EXTENT. sMAXIMUM RECORD LENGTH IN BYTES, sTHIS COUNT SHOULD BE A MULTIPLE OF 256 TO INSURE ¢PROPER READ/WRITE BUFFER ALLUCATION BY THE SUPER. ¢cRANDOM # OF OPERATIONS MASK. sCODE TO SELECT RANDOM PATTERN. sREAD RECOVERY ATTEMPT LIMIT, SWRITE RECOVERY ATTEMPT LIMIT, RANB(C==153624 cCONSTANT USED TO RESET RANDOM # GENERATOR BASE. RANS(C==32561 sCONSTANT USED TO RESET RANDOM # SAVE LOCATION. NINUSE==177774 :NOT IN USE CODE FOR DEVICE STATE TABLE. NCMD. C==ACK.C!CVC.C!OPP.C!SWB.C!MOD. C3!M0D.C2!MOD.C1!MOD.CO!IE.C!FMT.CT!FMT.CO ;NOT "'COMMAND"* BITS. sTHE FOLLOWING DEFINES THE COMMAND WORD FOR EACH TSOS COMMAND. 100013 DRI== A(CK.C!CMD.C3!CMD.C1!CMD.CO 104001 RDF== ACK.C!BRF.C!CMD.CO 104401 RDR== ACK.C!BRF.C!MOD.CO!CMD.CO sREAD REVERSE 104005 WRT== ACK.C!BRF.C!CMD.CO!CMD.C2 sDRIVE INIT. ¢READ FORWARD cWRITE COMMAND GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION 25-MAY-82 09:51 PAGE 20-~4 SEQ 0050 367 104105 Wiv== ACK.C!BRF.C!VFY.C!CMD.CO!CMD.C2 370 104010 SRF== ACK.C'BRF.C!'CMD.C3 373 104410 SRR== ACK.C'BRF.C'MOD.CO'CMD.C3 376 105401 - RNR== ACK.C'!'BRF.C'MOD.C1!'MOD.CO'CMD.CO 379 %g? 125401 RNF== ACK.C!BRF.C'OPP.C'MOD.C1'MOD.CO'CMD.CO JREAD REV RETRY2 =~ REREAD NEXT FORWARD, IE.READ FORWARD, SPACE REVERSE 382 105001 RPF== ACK.C'BRF.C'MOD.C1!CMD.CO 385 125001 RPR== ACK.C'BRF.C'OPP.C'MOD.C1'CMD.CO 388 105005 WRR== ACK.C'MOD.C1'BRF.C!CMD.C2!CMD.CO 391 102010 RWD== ACK.C'MOD.C2'CMD.C3 394 ggg 100012 MBR== ACK.C'CMD.C3!'CMD.C1 397 100011 WTM== ACK.C'CMD.C3'!'CMD.CO 400 285 101011 WTR== ACK.C!MOD.C1!CMD.C3!CMD.CO :WRITE TAPE MARK RETRY. 403 105010 SFF== ACK.C'BRF.C'MOD.C1!CMD.C3 406 105410 SFR== ACK.C'BRF.C'MOD.CO'MOD.C1'!'CMD.C3 409 100017 GES== ACK.C!CMD.CO'CMD.C1'CMD.C2'CMD.C3 412 100411 ERS== ACK.C!MOD.CO'CMD.C3'CMD.CO 415 100412 UNL== 418 253 101012 CLN== ACK.C'MOD.C1!CMD.C3'CMD.C1 ;ERASE TAPE. 421 140004 SCH== ACK.C!CvC.C'CMD.C2 423 140006 WSM== ACK.C!CVC.C!CMD.C2!CMD.C1 ggg %;5 %;é %;g %gz ggg ggg ggg ggg zgg 28; 2}? 212 2}9 ;WRITE VERIFY ;SPACE RECORD FORWARD ;SPACE RECORD REVERSE JREAD REV RETRY1 = REREAD NEXT REVERSE, IE. SPACE FWD, READ REVERSE JREAD FWD RETRY1 - REREAD PREVIOUS FORWARD, IE. SPACE REVERSE, READ FORWARD sREAD FWD RETRYZ2 - REREAD PREVIOUS REVERSE, :WRITE RETRY ;REWIND COMMAND ;MESSAGE BUFFER RELEASE :WRITE TAPE MARK. :SPACE FILE FORWARD JSPACE FILE REVERSE ;GET EXTENDED STATUS JERASE 3 INCHES OF TAPE ACK.C!MOD.CO!CMD.C3'CMD.C1 sUNLOAD COMMAND JSET DEVICE CHARACTERISTICS. ;WRITE SUB=-SYS MEM IE. READ REVERSE, SPACE FORWARD 25-MAY-82 09:51 PAGE 20-5 SEQ 0051 100006 DIA== ACK.C!CMD.C2!CMD.C1 +DIAGNOSTICS. 000040 JMP== JMP.( ;JUMP TO 'N''TH COMMAND 000020 DLY== DLY.C ;DELAY 'N'* MS, 177777 END== 177777 sEND OF COMMAND SEQUENCES :EETTL GLOBAL DATA SECTION ¢ : THE GLOBAL DATA SECTION CONTAINS DATA THAT ARE USED IN MOPZ THAN ONE TEST. ¢ [4 : 444 445 446 447 448 449 450 451 452 453 454 455 456 457 002330 002332 002334 002336 002330 000000 000000 000000 000000 . = CMDPKT:: 0 0 9 460 002344 I4 468 002350 469 002352 470 {7 472 473 474 00235« 475 476 477 478 479 480 002340 100017 <.+3>8177774 0 0 : 002340 COMMAND PACKET. 002344 :3RD WORD IS THE BUFFER HIGH ADDRESS. s4TH WORD IS THE BYTE/RECORD/FILE COUNT. GET STATUS COMMAND PACKET. . = GSCPK:: .WORD : sMUST BE ON MOD 4 BOUNDRY. 21ST WORD IS TSOS COMMAND. :¢ND WORD IS THE BUFFER LOW ADDRESS. <.+3>R177774 GES sMUST BE ON MOD 4 BOUNDRY. MESSAGE BUFFER RELEASE COMMAND PACKET. = <. +3>8177774 BRCPK:: .WORD MBR : REWIND COMMAND PACKET (USED IN ERROR RECOVERY ONLY) 002350 . = <. +3>R177774 102010 000001 RWCPK:: .WORD RWD ; WORK AREA FOR ANALYSIS OF MESSAGE PACKET CONTENTS. 100012 MSGPKT:: .WORD .BLKW sMUST BE ON MOD & BOUNDRY. sMUST BE ON MOD 4 BOUNDRY. 1 8. s1ST WORD:: MESSAGE TYPE. seND WORD:: DATA FIELD LENGTH. J3RD WORD:: RESIDUAL FRAME COUNT. J4TH WORD:: XSTATO JSTH WORD:: XSTAT1 J6TH WORD:: XSTAT? J7TH WORD:: XSTAT3 7~ GLOBAL AREAS MACRO M1113 GLOBAL EQUATES SECTION GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION 481 482 483 484 002374 485 002414 486 002434 487 0024564 488 489 490 491 002474 492 002476 493 002500 494 002502 495 002504 25-MAY-82 09:51 . & SEQ 0052 : MESSAGE PACKETS. MSGPKO:: MSGPK1:: MSGPK2:: .BLKW .BLKW .BLKW MSGPK3:: . 002374 000000 000020 000040 000000 N PAGE 20-6 .BLKW 8. 8. 8. 8. s8TH WORD:: XSTAT4 sMESSAGE PACKET FOR DEVICE #0 sMESSAGE PACKET FOR DEVICE #1 ¢MESSAGE PACKET FOR DEVICE #2 sMESSAGE PACKET FOR DEVICE #3 SET CHARACTERISTIC BLOCK. SCHBK:: MSGPKO 0 ;1ST WORD:: MSGPKT ADDR LO(SET UP BY EXCUTE ROUTINE). s¢ND WORD:: MSGPKT ADDR HI. MSGCNT CH.EA] :3RD WORD:: MSG BUFFER LENGTH (BYTES) 24TH WORD:: CHARACTERISTICS WORD(SET BY SETUP ROUTINE). 0 :5TH WORD:: HSP & BUFFER CONTROL ON EXT'D FEATURES WRITE SUB-SYSTEM MEMORY CHARACTERISTIC BLOCK. 500 002506 501 002510 502 002512 506 002514 507 002524 508 002534 000000 000000 000000 002514 WSMBK:: 0 J1ST WORD:: SEL O 0 0 :2ND WORD:: SEL 2 ;3RD WORD:: SEL 4 2 TSO5 REGISTER ADDRESSES. TSDB:: TSSR:: .BLKW .BLKW TSVCT:: .BLKW TSBA==TSDB 4 4 & :TS0S DATA BUFFER ADDRESSES. ;TS0S STATUS REGISTER ADDRESSES. 2TS05 VECTOR ADDRESSES. ;DATA BUFFER ADDRESS REGISTER. 1 2 3 . 4 002544 S 002546 6 002550 002374 7 002552 8 9 MSGPKA:: MSGPKO MSGPK1 MSGPK2 MSGPK3 : 0 002554 522 002556 523 002560 524 002562 1 002564 002566 002570 002572 000000 535 002574 536 002576 537 002600 000000 000000 000000 ;DEVICE 2. ;DEVICE 3. ;DEVICE 0. sDEVICE 1. sDEVICE 2. <DEVICE 3. TSO5 CODE LEVELS, WILL BE STORED AFTER SCH CMD IN BASIC FUNCTION TEST TSS5CL:: 0 0 0 0 H ;DEVICE 0. ;JDEVICE 1. ADDRESSES OF INTERRUPT HANDLING ROUTINES. TSSINT:: TSSINO TSSINT TSSIN2 TSSIN3 H 528 529 530 531 ADDRESSES OF MESSAGE PACKETS. sDEVICE JDEVICE JDEVICE JDEVICE 0 1 2 3 TSO5 EXT. FEA 8 BUF. ENA SW'S, WILL BE STORED AFTER SCH CMD IN BASIC FUNCTION TESY TSSSW:: 0 0 0 ;DEVICE 0 JDEVICE 1 JDEVICE 2 [ - 538 002602 539 544 545 546 547 548 553 002604 002606 002610 002612 002614 25-MAY-82 09:51 SEQ 0053 060000 177774 177774 177774 177774 177777 0 002616 002620 002622 002624 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 002626 002666 002726 002766 002776 003006 003016 003026 003036 003046 003120 003172 003244 003316 003326 003336 577 003346 578 003356 579 003366 581 003376 003046 003120 003172 003244 002626 UNJT NUMBERS OF ALL DEVICES BEING TESTED(1-4). WHEN DEVICE IS NOT IN USE, IT,S LOCATION WILL = -3. DEVTBL:: .WORD .WORD .WORD .WORD .WORD . BAD TAPE TABLE POINTER: USED BY WRITE RETRY ROUTINE 000550 . 003410 003412 003414 003416 ‘WRTY'' TO LOG BAD TAPE SPOTS ON UNITS UNDER TEST COUNT .R AREA. CNTBGN=. 20 20 20 & 4 4 4 & 4 8T1:: 21, JUNIT 1 BAT TAPE SPOTS LOG & & JWRITE RETRY COUNTER :PASS COUNT. 8T70:: .BLKW BT?2:: B8T13:: BLKW .BLKW BLKW .BLKW .BLKW SCCNT:: .BLKW VFYCNT:: .BLKW HRDCNT:: .BLKW FTLCNT:: .BLKW CNTEND=. RECCNT:: .BLKW ;BYTES WRITTEN. JBYTES READ REV. JBYTES READ FWD. JRECOVERABLE WRITE ERRORS. JUNRECOVERABLE WRITE ERRORS. JRECOVERABLE READ REV ERRORS. JUNRECOVERABLE READ REV ERRORS. ;RECOVERABLE READ FWDERRORS. JUNRECOVERABLE READ FWD ERRORS. 21. JUNIT O BAT TAPE SPOTS LOG 21. 21. JUNIT 2 BAT TAPE SPOTS LOG JUNIT 3 BAT TAPE SPOTS LOG & & & & JSPECIAL CONDITION COUNT. sCOUNT OF TSOS DATA COMPARE ERRORS. JCOUNT OF HARD ERRORS. ;COUNT OF FATAL ERRORS. 4 :NUMBER OF RECORDS FROM BOT: CLEARED ON REWIND ¢AND WHEN RESTARTING OR CONTINUING TEST 2. sEND OF STATICTICAL COUNTERS. CNTLEN==CNTEND~CNTBGN : 000000 003406 000000 000000 000000 000000 NINUSE NINUSE NINUSE NINUSE END WRB(:: .BLKW RRB(C:: .BLKW RFBC:: .BLKW WRREC:: .BLKW WRUNR:: .BLKW RRREC:: .BLKW RRUNR:: .BLKW RFREC:: .BLKW RFUNR:: .BLKW H 589 003406 RS WILL ALWAYS CONTAIN THE PRESENT LOGICAL UNIT NUMBER X 2. BTADDR:: BTO BT1 812 8T3 WRTY(T:: PASCNT:: 003376 JDEVICE 3 H H M : 554 555 556 557 591 592 593 594 PAGE 20-7 THE FOLLOWING ARE ;LENGTH OF STATISTICAL COUNTER AREA. THE DEFINITIONS OF VARIABLES USED B8Y THE PROGRAM, DATAWT:: .WORD DIABLK==DATAWT DATARD:: .WORD NCNT:: .WORD NCNT1:: .WORD BRFCNT:: .WORD 0 =lelels) GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION sWRITE BUFFER ADDRESS. JWRITE BUFFER ALSO USED FOR DIAG CMD. sREAD BUFFER ADDRESS. sSTORAGE FOR VALUE OF N. sTEMP STORAGE FOR VALUE OF N. s STORAGE FOR BPCR VALUE. Gl OBAL AREAS MACRO M1113 GLOBAL DATA SECTION 995 003420 596 003422 997 003424 598 003426 599 003430 600 003432 601 003434 602 003436 603 003440 604 003442 605 003444 606 003446 607 003450 608 003452 609 003454 610 003456 611 612 613 614 615 616 617 618 619 620 621 003460 003462 003463 003464 003465 003466 622 003467 623 003470 624 003471 127777 177777 177777 000000 000000 153624 032561 000000 000000 000000 000000 000000 000000 000000 000000 000000 25-MAY-82 09:51 PAGE 20-8 CMDWRD:: CMDSAV:: PCMDWD:: CTCC:: .WORD RSSAVE:: .WORD 0 0 s CURRENT TERMINATION CLASS CODE. sLOCATION FOR SAVING CURRENT DEVICE POINTER. PATERN:: TSSREG:: WIMFLG:: BGNFLG=. RETRYC:: RPTCNT:: WRTYFG:: WRTYER:: RECLOG:: ERLOG:: RWERR:: 644 645 646 647 648 649 650 651 003526 000000 INTFLG:: EOTFLG:: BTPT:: EXPBOT:: .WORD .WORD O 0 O ERROR FLAG AREA, sPATTERN SELECT CODE. s CURRENT STATUS REGISTER. ;WRITE TAPE MARK FLAG THESE FLAGS ARE CLEARED DURING INITIALIZATION AND AFTER EACH COMMAND IS COMPLETED. .WORD .BYTE .BYTE .BYTE .BYTE .BYTE .BYTE 0 0 0 0 0 :# OF RECOVERY ATTEMPTS EXECUTED. JWRITE REPEAT ON SAME SPOT CNTR: & PER WRITE RETRY SWRITE RETRY ON SAME SPOT IN PROGRESS FLAG ;WRITE RETRY ON SAME SPOT ERROR FLAG cRECORD COUNT HAS BEEN UPDATED FOR THIS RECORD. 0 sREAD/WRITE ERROR HAS OCCURED. 0 0 0 ;DATA BYTES AND ERRORS HAVE BEEN LOGGED FOR THIS RECORD. sUNRECOVERABLE ERROR HAS OCCURED. sERROR RECOVERY MODE. ADDITIONAL FLAGS, THESE FLAGS ARE CLEARED DURING INITIALIZATION. .BLKW .BLKW _WORD .BYTE .BYTE .BYTE .BYTE & 4 0 0 0 0 0 s INTERRUPT OCCURRED FLAGS FOR EACH DEVICE. ;EOT/BOT FLAGS FOR EACH DEVICE (XSTATO). ;BAD TAPE SPOT POINTER TO BT0-BT3 VIA BTADDR ;BOT 1S EXPECTED, DO NOT ABORT ON BOT/FUNC RTI. +RANDOM EVERYTHING FLAG. sSET DURING WRITE/VERIFY COMMAND. sPERFORMANCE REPORT HAS BEEN REQUESTED. SWBFLG:: .BYTE IRE:: .8YTE_ DROPED:: .BYTE TisSWB:: .BYTE 0 0 0 0 ;ENABLES SWAP BYTE FUNCTION WHEN NOT EQUAL TO ZERO. sINHIBIT RESIDUAL FRAME COUNT ERROR REPORT. sCURRENT UNIT HAS BEEN DROPPED sTEST1 SWAP BYTES FLAG ERSFLG:: 0 sERASE FLAG: ALLEOT:: ENDFLG=, : 000 .WORD UNREC:: .BYTE ERRREC:: .BYTE .EVEN ENDERF =, RANDOM:: VFYFLG:: RPTFLG:: 003526 sCONTAINS PREVOUS COMMAND WORD. sCURRENT COMMAND LOGGING CODE. sRANDOM WRITE LENGTH MASK, TO BE SET UP BY TESTS cRANDOM # GENERATOR BASE. sRANDOM # SAVE LOCATION. sTIME COUNT 1. sTIME COUNT 2. sJMP COMMAND LOOP COUNT, sJMP COMMAND LOCATION COUNT. : 631 003472 632 003502 633 003512 634 003514 635 003515 636 003516 637 003517 638 003520 639 003521 640 003522 641 003523 642 003524 643 003525 END sCONTAINS COMMAND WORD BEING EXECUTED PRESENTLY. :SAVE LOCATION FOR CMD WORD DURING ERROR RECOVERY 0 O 153624 32561 O O 0 0 H 003472 .WORD END END CMDLG:: .WORD LENMSK:: .WORD RANB:: .WORD RANS:: .WORD TIME1:: .WORD TIME2:: .WORD JLOOP:: .WORD JLOC:: .WORD : 003460 000000 .WORD .WORD SEQ 0054 STAFLG:: .BYTE .BYTE 0 JALL UNITS @ EOT FLAG DO ERASE AFTER A SPACE REV 7O DELETE ¢BADLY WRITTEN RECORD. 1 TO & ERASES LEAVING :A 3 TO 12 INCH GAP MAY RESULT. .EVEN ADDITIONAL FLAGS, THESE FLAGS ARE CLEARED ONLY AFTER BEING CHECKED. .BYTE 0 ;START FLAG - SET BY INIT CODE IF STARTING. — GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION 652 003527 653 003530 654 003531 655 003532 656 003534 657 658 659 660 661 003536 662 000 000 000 000000 000000 25-MAY-82 09:51 PAGE 20-9 SEQ 0055 PWRFLG:: . TRAPDG:: . MISCFG:: TSUNT:: .WORD : TSNP: .WORD sPOWER FAILURE FLAG = SET ONLY DURING INIT. < TRAPED AT & FLAG sMISCELLANEQUS FLAG sNUMBER OF THE UNIT UNDER TEST PLUS HSSPRBUF sFOR PRINT OUT UNIT # ONLY OPERATOR FLAG SETTINGS PASSED BY DIAG. SUPERVISOR IN A 16 BIT WORD SEE GLOBAL EQUATES SECTION FOR FLAG BIT LIST 000000 OPFLAG: : 663 664 665 666 .WORD .EVEN 0 +READ ONLY OPERATOR FLAG WORD ;THE FOLLOWING IS THE COMMAND SEQUENCE TABLE. THE TABLE sHAS DEFAULT VALUES AT PROGRAM LOAD AS SHOWN. THESE VALUES :CAN BE UPDATED BY A TEST OR BY OPERATOR INPUT. 667 668 0C3540 669 003542 670 003544 671 003546 672 003550 673 003552 674 003554 675 003556 676 003560 677 003562 678 003564 679 003566 680 003570 681 003572 682 003574 683 003576 684 003600 685 003602 686 003604 687 003606 688 003610 689 003612 690 003614 691 003616 140004 000040 000001 000000 102010 000001 000001 000007 104005 004000 076400 000007 104401 004000 076400 000007 104001 004000 076400 000007 102010 000001 000001 000007 693 003740 694 003742 695 003744 696 003746 697 003750 177777 177777 177777 177777 177777 : SEQEND: 700 701 702 703 100013 104001 104401 104005 CMDTBL :: 003752 003754 003756 003760 CMDSEQ:: CMDSE2:: .WORD .WORD .WORD SCH (CH.EA] 1 sSET CHARACTERISTICS. .WORD .WORD .WORD .WORD WORD .WORD .WORD .WORD .WORD .WORD RWD 1 1 RANP WRT DAT(NT 32000. RANP RDR DATCNT sREWIND. .WORD .WORD .WORD RANP RDF DAT(CNT .WORD .WORD .WORD RANP RWD 1 .WORD RANP JPATTERN, .WORD .WORD .WORD .WORD .WORD END END END END END :HARD END OF DRI RDF RDR WRT WTV JREAD FORWARD. sREAD REVERSE. JWRITE JWRITE/VERIFY, SRF SRR ;CHECK DATA ON ALL RECORDS.) JSPACE 'W'' RECORDS FORWARD. JSPACE 'WN'' RECORDS REVERSE. .WORD .WORD .WORD .WORD 0 32000. 32000. 1 BVTE COUNT. :MAX BUFFER LENGTH. 32,000 RECORDS. :RANDOH PATTERN, JREAD REV. sMAX BUFFER LENGTH. :32.000 RECORDS JRANDOM PATTERN. JREAD FWD. sMAX BUFFER LENGTH. 232,000 RECORDS. JRANDOM PATTERN. JREWIND. :BYTE COUNT. sONCE. SEXTENSTION TO DOUBLE BUFFER SIZE ;SOFT END OF SEQUENCE TABLE. SEQUENCE ;THE FOLLOWING IS THE TSOS COMMAND TABLE ;8§ 003762 104105 .WORD .WORD .WORD WORD WORD 706 707 003764 708 003766 10 10 .WORD .WORD TABLE. sDRIVE INIT, (WRITE ALL RECORDS, RDR AND sCHECK DATA ON ALL RECORDS, RDF AND GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION 709 003770 710 003772 711 003774 712 003776 713 004000 714 004002 715 004004 716 004006 717 004010 718 004012 719 004014 720 004016 721 004020 722 004022 723 004026 724 004026 725 004030 726 004032 727 004034 ;gg 004036 25-MAY-82 09:51 SEQ 0056 105401 125401 105001 125001 105005 102010 100012 100011 101011 105010 105410 100017 100411 100412 101012 140004 100006 000040 000020 177777 .WORD .WORD +WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD .WORD +WORD .WORC .WORD .WORD .WORD ;gg 732 733 734 735 736 004040 004043 004046 00651 004054 737 738 004057 739 004062 740 004065 741 004070 742 004073 743 004076 744 004101 745 004104 746 0064107 747 004112 PAGE 20-10 104 122 122 127 127 122 104 104 122 124 111 106 122 124 126 123 123 122 122 12¢ 122 127 122 122 122 116 116 120 120 122 127 106 122 122 106 106 122 122 104 115 127 102 124 122 115 122 106 122 123 123 sREAV NEXT REVERSE. sREAD NEXT FORWARD, I.E., SPACE FWD, READ REVERSE. I.E., READ FORWARD, SPACE REVERSE. -READ PREVIOUS FORWARD., [.E., SPACE REVERSE, READ FORWARD ;READ PREVIOUS REVERSE. [.F., READ REVERSE, SPACE FORWARD sWRITE RETRY, ¢REWIND. sMESSAGE BUFFER RELEASE JWRITE TAPE MARK JWRITE TAPE MARK RETRY. sSPACE ‘W'’ FILES FORWARD. sSPACE 'N'' FILES REVERSE. cGET EXTENDED STATUS. sERASE 3 INCHES OF TAPE. sREWIND AND UNLOAD. sCLEAR TAPE, sSET CHARACTERISTICS. sDIAGNOSTIC COMMAND. sJUMP TO THE NTH COMMAND IN THE SEQUENCE. JDELAY 'N'* MS, cEND OF COMMAND TABLE : THE FOLLOWING TABLE CONTAINS THE ASCII FOR EACH COMMAND. CMDASC:: .ASCII .ASCI1 .ASCI11 LASCII ASCIL /DRI/ /RDF/ /RDR/ /WRT/ /7uWTv/ .ASCI1 .ASCII .ASCI1 .ASCII .ASCI1 .ASCII .ASCI1 LASCII /SRf/ /SRR/ /RNR/ /RNF/ /RPF/ /RPR/ /WRR/ /RuWD/ sORIVE INIT, sREAD FORWARD. cREAD REVERSE. SWRITE SWRITE/VERIFY. (WRITE ALL RECORDS, RDR AND CHECK DATA sON ALL RECORDS, RDF AND CHECK DATA ON ALL RECORDS.) sSPACE 'N'' RECORDS FORWARD. sSPACE 'N'' RECORDS REVERSE. sREAD NEXT REVERSE. I.E., SPACE FWD READ REVERSE. cREAD NEXT FORWARD, ].E., REAv FORWARD, SPACE REVERSE. sREAD PREVIOUS FORWARD. IE., SPACE REVERSE, READ FORWARD ;READ PREVIOUS REVERSE. IE., READ REVERSE, SPACE FORWARD sWRITE RETRY, cREWIND. /WTR/ /SFF/ /SFR/ /GES/ /ERS/ /UNL/ /CLN/ /SCH/ JWRITE TAPE MARK RETRY. sSPACE ‘N FILES FORWARD, sSPACE *W'* FILES REVERSE. sGET EXTENDED STATUS. sERASE 3 INCHES OF TAPE. sREWIND AND UNLOAD. sCLEAN TAPE. sSET CHARACTERISTICS. WHERE BRF=200, 40, 20, 0. /DIA/ sDIAGNOSTICS. .ASCII LASCIL 748 004115 749 004120 750 004123 751 004126 752 004131 753 004134 754 004137 755 004142 127 123 123 107 105 125 103 123 124 106 106 105 122 116 114 103 114 116 110 LASCI1 ASCII .ASCI1 .ASCII ASCIl .ASCII1 LASCII .ASCl] 757 004145 104 m 101 .ASCI1 759 760 004150 761 762 763 006153 764 765 004156 RNR RNF RPF RPR WRR RWD MBR WTM WIR SFF SFR GES ERS UNL CLN SCH DJA JMP DLY END /MBR/ /WTM/ 112 115 120 LASCIL /7JMpP/ 104 114 131 LASCII /DLY/ 105 116 104 LASCII /END/ sMESSAGE BUFFER RELEASE sWRITE TAPE MARK +SEE _TSV05/7S05 PROGRAMMING SPECIFICATION FOR DESCRIPTION. SEE TSV05/7S05 PROGRAMMING SPECIFICATION ;FOR DESCRIPTION. ODT MUST BE USED TO LOAD DIAGNOSTIC DATA SINTO THE WRITE BUFFER BEFORE THIS CMD IS ISSUED. sJUMP TO THE NTH COMMAND IN THE COMMAND s SEQUENCE TABLE, WHERE N IS DEFINED IN sTHE # OF OPERATIONS. sDELAY 'N'° MS, WHERE N 1S DEFINED IN sTHE # OF OPERATIONS. JEND OF COMMAND SEQUENCE. GLOBAL AREAS MACRO M1113 GLOBAL DATA SECTION 25-MAY-82 09:51 PAGE 20-11 766 .EVEN 767 768 769 770 144 772 773 774 775 776 777 778 LSBTTL ; THE GLOBAL TEXT SECTION CONTAINS FORMAT STATEMENTS, s MESSAGES, AND ASCII INFORMATION THAT ARE USED IN s MORE THAN ONE TEST. J-- : ;gg s FORMAT STATEMENTS USED IN PRINT CALLS 788 ;gg ;g% 004231 794 004306 GLOBAL TEXT SECTION XX 785 791 004162 SEQ 0057 .NLIST 045 045 130 116 045 CODELM:: BEX .ASCIZ /INXAUNIT ZD1YA TSOS CODE LEVEL ZO3ININ/ 116 045 SWSET:: .gegfiz /INXAUNIT XD1XA TSOS SWITCH SETTINGS XO3ININ/ _ASCIZ /XXX CMD - TYPE <CR> TO CONTINUE/ ;gg 004346 103 115 130 130 HALTM:: 797 004430 798 004453 799 004475 104 116 125 101 117 116 126 040 106 WTVERM:: _ASCIZ /DATA COMPARE ERROR/ TOERM:: .ASCIZ /NO TSVOS RESPONSE/ SCERM:: ,ASCIZ /UNDEFINED SPEC COND/ 800 004521 801 004536 802 004556 803 004603 804 004622 805 004642 806 004670 807 004705 808 004727 809 004753 810 005017 811 005041 812 005065 813 005114 814 005146 815 005226 816 005275 817 005337 818 005360 819 005422 820 005456 821 005507 822 005543 823 005570 824 005653 825 005741 826 005744 827 828 122 124 122 104 106 106 116 124 124 103 122 125 045 045 045 045 045 045 045 045 045 045 045 045 040 045 045 106 123 105 122 125 101 117 101 117 101 105 116 116 116 116 116 104 101 101 101 101 101 116 101 052 116 116 104 103 126 126 111 116 124 040 120 117 120 103 122 045 045 045 045 064 116 122 122 106 107 065 " 052 000 045 (CMDPKM:: 602512 /CMD PACKET ADR NOT ON MODULO & BOUNDARY: RELOAD'/ RFCERM:: .ASCIZ NSSRM:: _ASCIZ RLEXM:: .ASCI2 ATTINM:: _ASCIZ FUNRM:: _ASCIZ FATSM:: _ASCIZ NOINTM:: _ASCIZ TSAM:: _ASCIZ TOOMM:: .ASCIZ RNYM:: _ASCIZ RERM:: _ASCIZ URERM:: _ASCIZ DROPDM:: .ASCIZ AUDRPM:: _ASCIZ AUDRUN:: .ASCIZ DTAER2:: .ASCIZ DTAER3:: .ASCIZ DTAERG:: .ASCIZ DTAERS:: .ASCI2 NURTY1:: _ASCIZ OFLINM:: _ASCIZ GETSTM:: _ASCIZ NODEV:: .ASCI] .ASCIZ UNIWLK: .AS(J2 CRLF:: _.ASCIZ CRLFSP:: .ASCIZ2 LIST .EVEN /RFC NON ZERO/ /TSV0OS NOT READY/ /RETRY LIMIT EXCEEDED/ /DRIVE OFF LINE/ /FUNCTION REJECT/ /FATAL SUBSYSTEM ERROR/ /NO INTERRUPT/ /TAPE STATUS ALERT/ /T0OO MANY INTERRUPTS/ /CAPSTAN RUNAWAY-GET STATUS RESULTS:/ /RECOVERABLE ERROR/ /UNRECOVERABLE ERROR/ /XINYADROPPED UNIT XD13IN/ /INIAALL UNITS DROPPEDININ/ /INIADIAGNOSTIC ONLY SUPPORTS ONE CONTROLLERININ/ "“INIABYTE :XD4IS2YAWAS :XBBYS2YAS/B: IB8IN'' "“XID4LXA BYTES IN ERROR OUT OF XD4IN'' /ZANO DATA READIN/ /XARECORD TOO LONG: >X04XA BYTESIN/ /XARECOVERED ON RETRY #XD2IN/ /XADRIVE ZD1XA OFF LINEIN/ /XAGET STATUS CMD RESULTS:IN/ /INYIABUS TRAP AT X06IN/ /XZAINTERFACE BAD OR TSDB NOT SET TO ABOVE ADDRESSIN/ / eweeeTAPE [S WRITE-LOCKED ANL WILL CAUSE ERRORS*tews/ /IN/ /INXS?/ BEX GLOBAL AREAS MACRO M1113 GLOBAL ERROR REPORT SECTION 25-MAY-82 09:51 PAGE 20-12 SEQ 0058 .SBTTL GLOBAL ERROR REPORT SECTION XX : THE GLOBAL ERROR REPORT SECTION CONTAINS THE PRINTB AND PRINTX CALLS ¢ THAT ARE USED IN MORE THAN ONE TEST. IT ALSO INCLUDES THE ASCII MESSAGES : THAT ARE USED BY THE PRINTB AND PRINTX CALLS.. 844 003376 003326 003534 006436 000004 845 062706 000012 012746 012746 010600 006530 000001 062706 010237 010337 010437 004737 013702 010337 013703 013704 000004 007066 104414 013746 012746 012746 010600 855 856 104414 062706 006112 006114 858 006116 006116 006116 859 860 006120 006120 861 006120 006120 006124 006130 006134 BGNMSG : DTAERM: DATERM:: PRINTB PRINTB MOV MOV MoV JSR MOV MOV MOV MOV 003436 003440 010064 007066 007066 003436 003440 PRINTB 007066 006562 000002 000006 EXIT 000167 000000 DTAERM #STAER1,TSNP,PASCNT(RS) ,RECCNT(RS) MOV MOV MOV MOV MOV MOV TRAP ADD #STAER? R2,RECRED R3,TIMET R4, TIME?2 PC,RECTAP RECRED ,R2 R3.RECRED TIME1,R3 TIME2 ,Ré #STAERG,RECRED JSAVE R2 1046423 003376 003326 003534 006436 MOV MOV MOV TRAP ADD RECCNT(RS) ,~(SP) PASCNT(RS) ,=(SP) TSNP, =(SP) #STAER1 ,~(SP) #4,-(SP) SP,RO CSPNTB #2,sP #STAER?7 ,~(SP) #1,-(SP) SP,RO CSPNTB #6,SP ;SAVE R3 s SAVE R& sRETRIEVE RECORD READ ;RESTORE R?2 :SAVE RECORD READ JRESTORE R3 ;RESTORE R4 JPRINT RECORD READ MSG .EVEN L10002: GE MOV MOV MOV MOV TRAP ADD #2,~(SP) SP,RO CSPNTB #6,SP .WORD .WORD JSJMP L10002-2~. TRAP CSMSG MOV MOV MOV MOov RECCNT(RS) ,-(SP) PASCNT(RS) ,-(SP) TSNP, =(SP) W#STAERY,~(SP) RECRED,-(SP) #STAE - RG (SP) ENDMSG BGNMSG STAERM:: STAERM:: PRINTB STAERM #STAER1,TSNP,PASCNT(RS) ,RECCNT(RS) GLOBAL AREAS MACRO M1113 GLOBAL ERROR REPORT SECTION 006140 006144 006146 006150 862 006154 006154 006160 006164 006166 006170 006174 006200 006204 012746 010600 000004 062706 000012 012746 012746 010600 006530 000001 104414 104414 062706 013702 042702 005302 005702 001016 004737 010337 872 874 006406 006412 SEQ 0059 PRINTSB 177740 010064 010064 TST BNE JSR MOV 062706 000006 012746 012746 010600 104415 062706 006616 000001 013746 013746 013746 017546 013746 012746 012746 010600 003450 003454 002360 002514 002330 006675 000006 062706 000016 013746 013746 013746 012746 012746 010600 002336 002334 002332 006733 000004 062706 000012 013746 013746 013746 013746 013746 012746 002372 002370 002366 002364 002362 006753 104415 PAGE 20-13 MOV 8IC 007066 006562 000002 106415 873 000004 002330 013746 012746 012746 010600 104414 871 25-MAY-82 09:51 000004 PRINTB : PRINTX 500008 PRINTX MOV Mov TRAP ADD #STAER? MoV MOV MOV TRAP ADD CMDPKT ,R2 :}77746.&2 R2 500008 PC,RECTAP R3,RECTAP #STAERG6 ,RECRED #4,~(SP) SP,RO CSPNTB #12,5P #STAER?7 ,-(SP) #1,-(SP) SP,RO (SPNTB #6,SP sIF CMD IS A READ s THEN RETRIEVE cAND s TYPE RECORD READ N#STAER?2 MOV MOV MOV MOV TRAP ADD MOV MOV MOV TRAP ADD #STAER3,CMDPKT, ,MSGPKT+MS aTSDB RFC,TSSRE (R5) G,CTCC MOV MOV MOV MOV MOV MOV MOV RECRED,-(SP) #STAERG,-(SP) #2.-(SP) SP,RO CSPNTB #6,5P #STAER?,-(SP) #1,-(SP) SP,RO CSPNTX #6,SP CTCC.=(SP) TSSREG, =(SP) MSGPKT+MS.RFC,~-(SP) aTSDB(RS) .~(SP) CMOPKT,-($P) #STAERS -~ (sP) #6,-(SP) CSPNTX PRINTX #STAERG ,CMDPKT+2,CMDPKT+4 CMDPKT+6 , CMOPKT+6,~(SP) CMOPKT +4 ,~(SP) CMOPKT+2,~(SP) #STAE - RL (SP) #6,-(SP) PRINTX #STAERS ,MSGPKT+MS . XS0, MSGPKT+MS ' MOV SP,RO TRAP CSPRTX ADD #2,spP XS1,MSGPKT+MS . XS2 ,MSGPK T +MS . XS3 ,MSGPKT+MS XS , Mov MSGPKXS4, T+MS ~(5P) MOV MSGPKT+MS XS3,~(SP) MoV MSGPKT+MS XS2,~(SP) MoV MSGPKT+MS XS1,-(SP) MoV MSGPK . XSO,-(SP) T+MS MoV #STAERS,-(SP) MACRO M1113 25-MAY-82 09:51 012746 010600 104415 062706 000016 045 101 882 006616 883 006675 884 006733 885 006740 886 006745 887 006753 888 007027 889 890 gg; 007066 045 045 045 045 045 045 045 116 117 117 117 117 101 117 893 007070 007070 5 007070 000000 104423 perd 123 - 880 006530 o 045 045 SEQ 0060 120 061 045 066 066 066 066 130 066 STAER1: STAER?: .ASCIZ /YAPREVIOUS CMD WAS STAER2: STAER3: STAER4: .ASCIZ .ASCIZ .ASCII ASCII ASCIZ .ASCII JASCIZ TLIST "EVEN .WORD /INYACMDPKTYS2YATSBAYS4LYARFCISSIATSSRISITATCCIN/ /%061S52%06%52%06152%06%S2%D1IN/ /%06IN/ /7%06IN/ /7X06IN/ /¥AXSTOYS4XAXST1ZS4YAXST22S4IAXST3LS4YAXST4IN/ /7%06X52%06252%06%52%063S2X06IN/ BEX STAERG: STAERS: RECRED: L10003: .ASCIZ XXX / /XS11%¥A* RECORD READ:%DSYA ¢/ 0 ;RECORD READ FROM TAPE ENDMSG TRAP 14t : THE GLOBAL SUBROUTINES SECTION CONTAINS THE SUBROUTINES * THAT ARE USED IN MORE THAN ONE TEST. 901 ’ 393 911 *ROUTINE TO DO A SOFT INITIALIZE OF THE CONTROLLER :DETECTED SHOULD BE TREATED AS DEVICE FATAL ERRORS. LINPUTS: : 915 : 918 : ggg : 8}9 919 922 923 GLOBAL SUBROUTINES SECTION *BY WRITING INTO THE TSSR REGISTER. AFTER THE INIT. *THE TSSR REGISTER IS TESTED FOR ERRORS. ANY ERRORS 912 g}z JSJMP L10003-2-. BEX /XAXXX CMD FAILED = UNIT XD1XS3TAPASS:XD5XS3XARECORD : XDSIN/ 897 898 388 907 908 .WORD .WORD «NLIST .eegaz .SBTTL 906 #6,-(SP) SP,RO CSPNTX #16,SP MSG ggg 902 903 MoV Mov TRAP ADD EXIT 000167 000432 877 g;g 006436 881 006562 PAGE 20-14 000006 Y 006416 006422 006424 006426 875 006432 006432 876 006436 W o GLOBAL AREAS GLOBAL ERROR REPORT SECTION : RS ;OUTPUTS: : RO CARRY CURRENT UNIT NUMBER CONTENTS OF TSSR, IF ERROR SET IF *CALLING SEQUENCE: : JSR INIT WAS OKAY CLEAR IF FATAL ERROR PC.FIRSTU C$MSG 25-MAY-82 09:51 924 925 : : 359 : 928 929 930 007072 931 932 007672 933 007100 934 007104 935 007110 936 007114 937 007116 007116 .= 938 939 940 941 942 943 944 945 946 947 948 328 007122 007124 007130 007132 007136 007140 007144 007146 007150 007152 007156 007160 007164 007170 007172 007174 067176 007200 007202 PAGE 20-15 JSR BCS ERRDF SEQ 0061 PC,SOFINIT CONT INUE ;REPORT FATAL ERROR SOFINIT:: 012775 004737 012703 004737 103416 000000 012700 000550 007204 012727 000000 013727 000000 005367 001375 005367 001367 005303 001357 000250 017500 010004 042704 052704 020400 001402 000241 000401 000261 000207 002524 28: ; (SAVREG) SAVE THE REGISTERS ; DO THE INIT, JWAIT FOR UNIT TO BE READY MOV JSR MOV JSR 8CS DELAY #0,3TSSR(RS) PC,WSSR #360. ,R3 PC.WAITF 3s 250 DEC BNE MOV MOV BIC BIS cMP BEQ cLC BR SEC RIS R3 2% 8TSSR(RS) ,RO ;GET THE TSSR REGISTER RO,R4 :TSSR CONTENTS #°C<TS.A17!TS.A16!TS.OFL>,RS #TS.SSR!TS.NBA RS ;R4 HAS EXPECTED CONTENTS R4 ,RO sONLY EXPECTED BITS SET ? S$ ;BRANCH If OKAY ;CLEAR THE CARRY FOR ERROR 108 ;G0 TO EXIT sSET THE CARRY BIT PC JRETURN TO CALLER : WAIT FOR SSR 002116 177772 177756 002524 38: 176277 002200 5¢: 108 : 951 #250,(PC) ¢ O LSDLY,(PC)+ O -6(PC) .4 =22(PC) .=20 TRAP C$BRK Mov #25,(PC)+ : gg% ; SUBROUTINE TO WAIT FOR THE SUBSYSTEM READY FLAG 954 955 329 : INPUTS : : RS CURRENT UNIT NUMBFR 958 959 960 961 962 H :OUTPUTS:: H : RO CONTENTS OF LAST TSSR READ : CLR = TIMEQOUT WAITING FOR READY : 322 965 007204 966 967 968 969 970 MOV .WORD MOV .WORD DEC BNE DEC BNE 007204 007206 007212 007216 007220 007222 007222 104422 CARRY SET - READY BIT SET WAITF:: BREAK 012746 017500 105700 100420 005670 002524 012727 000025 28: MOV MOV 1ST8 8M! DELAY ; DO A SUPVSR BREAK FIRST. #3000. ,-(SP) aTSSR(RS) ,RO RO 3s 2§ : 300 MSEC TIMER. JREAD THE TSSR REGISTER sTEST FOR READY BIT SET : EXIT ON STOP FLAG. ; WAIT N rn GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION — GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 971 972 973 974 975 976 977 978 979 980 007226 007230 007234 007236 007242 007244 007250 007252 007254 007256 007260 007262 007264 007266 000000 013727 000000 005367 001375 005367 001367 25-MAY-82 09:51 PAGE 20-16 SEQ 0062 LWORD MOV .WORD DEC BNE DEC BNE 002116 177772 177756 005316 001356 000241 000401 000261 005326 000207 3s: A ¥ DEC BNE CLC B8R SEC DEC RTS (SP) 2% 48 (SP)+ PC .=20 JREDUCE DELAY COUNT RETRY UNTIL TIMER EXPIRES = 0, CONTROLLER STILL RUNNING... OR HUNG-UP AFTER 300 MSEC. C = 1, CONTROLLER IS STOPPED. RESTORE STACK WITHOUT CHANGING CARRY BIT ggz SROUTINE TO ISSUE A WRITE CHARACTERISTICS COMMAND AND CHECK FEATURES 985 986 987 988 ggg JINPUT: : H R4 ADDRESS OF COMMAND PACKET : RS CURRENT UNIT NUMBER : REQUIRES A CALL TO SOFINIT BE DONE PREVIOUSLY 991 JOUTPUT: 992 993 H : ggg . 994 : RO CARRY TSSR CONTENTS SET = WRITE CHARACTERISTICS COMMAND OK CLR = WRITE CHARACTERISTICS FAILED ggg JIMPLICIT OUTPUT: 999 1000 : N 1003 1004 1005 1006 1007 1008 1009 007270 1010 007270 1011 007274 1012 007300 1013 007302 1014 007304 1015 007306 1016 007310 1017 007312 1018 007320 1019 007322 1020 007326 : .SIDE EFFECTS: : : .= }88; : 010475 004737 103401 000421 005724 011402 011203 032763 001402 005237 40$: 000200 002322 SOF TWARE SWITCHES SET AS FOLLOWS: EXTFEA = EXTENDED FEATURES PRESENT BENBSW = BUFFER ENABLE SWITCH ON OR OFF WRTCHK :: 108: MoV JSR 002514 007204 000012 45%: B(CS BR TST MOV MOV BIT BEQ INC R4 ,3TSDB(RS) PC,WAITF 403 60% (R§)+ (R4) ,R2 O LSDLY,\PC)+ O -6(PC) A =22(PC) (R2) ,R3 lx2 EFE MS.XS2(R3) 45% EXTFEA SSEND OUT COMMAND :WAIT FOR SSR sBR, IF SSR IS SET AND OK ;BR IF TROUBLE CARRY = CLEAR JSTEP IT ;POINT TO WRT CHARA DATA PACKEY ;GET ADDRESS OF MESSAGE BUFFER cEXTENDED FEATURES BIT SET? JBR IF NO JSET EXTENVED FEATURES SW SWITCH GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 007326 007334 007336 007342 007342 007344 007346 007350 007354 032763 001402 005237 25-MAY-82 09:51 000100 SEG 0063 000012 002324 000261 508 : 55%: 000241 60$: 000401 017500 200207 PAGE 20-17 002524 708 : BIT B8EQ INC SEC B8R 708 MOV RTS aTSSR(RS) RO PC CLC 1032 Mg h 1035 1036 1037 1038 1039 1040 1041 007356 1042 007356 1043 007362 1044 007366 1045 007370 1046 007372 1047 007374 1048 007376 1049 007400 1050 007406 010475 004737 103401 000420 005724 011402 011203 032763 001407 JINPUT: H : Ré K RS M WLKCHK:: 10%: MOV JSR B8CS B8R 408 : TST MoV MOV BIT B8EQ 007410 007412 007414 007416 007420 007424 007426 007430 104456 000001 005653 000000 004737 000402 000261 000401 }8%2 JBUFFER ENABLE SWITCH SET JBR, IF SWITCH NOT SET JSET SOFTWARE SWITCH FOR ENABLED JSET CARRY NO TROUBLE JEXIT JCARRY CLEAR = ERROR RETURN TSSR CONTENTS :RETURN JROUTINE TO CHECK WRITE LOCK CONDITION 1051 007410 1052 1053 1054 1055 #X2.BFE ,MS.XS2(R3) 50% BENBSW 1056 007432 1057 007434 ;8?3 007434 000241 000207 002514 007204 000004 000006 ERRHRD 017156 55%: 60%: 708: JSR BR SEC BR CLC RTS ADDRESS OF COMMAND PACKET CURRENT UNIT NUMBER R4 ,aTSDB(RS) PC,WAITF 408 60$ (R4)+ (R4) ,R2 (R2) ,R3 #X0.WLK ,MS.XSO0(R3) 55% 1,UNIWLK PC.DROPU 608 s SEND QUT COMMAND JWAIT FOR SSR ;BR, IF SSR IS SET AND OK ;B8R IF TROUBLE CARRY = CLEAR JSTEP IT :POINT TO WRT CHARA DATA PACKET JGET ADDRESS OF MESSAGE BUFFER ;1S UNIT WRITE LOCKED? JNO.PROCEED WITH TESTING JTAPE 1S WRITE LOCKED 708 :DROP IT JEXIT WITH CARRY=0 ;SET CARRY NO TROUBLE JEXIT PC SRETURN JCARRY CLEAR = ERROR 1060 1061 1062 }ggz PR . JROUTINE TO ISSUE A WRITE CHARACTERISTICS COMMAND 1065 1066 1067 1068 ‘INPUT: H ; R4 ; RS 1071 .OUTPUT }898 1072 : ADDRESS OF COMMAND PACKET CURRENT UNIT NUMBER REQUIRES A CALL TO SOFINIT BE DONE PREVIOUSLY R0 TSSR CONTENTS TRAP .WORD .WORD WORD CSERHRD 1 UNIWLK O GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION SET = WRITE CHARACTERISTICS COMMAND OK CLR = WRITE CHARACTERISTICS FAILED W By e ; SIDE EFFECTS: 010475 004737 103401 000402 000261 000401 000241 017500 000207 002514 007204 WRTCHR:: 108: MOV JSR s08 BCS BR 608 : 708 : BR CLC MOV SEC 002524 RTS R4 ,aTSDB(RS) PC,WAITF sSEND OUT COMMAND JWAIT FOR SSR 50% 60$ ;BR, IF SSR 1S SET AND 0K :BR IF TROUBLE CARRY = (CLEAR JSET CARRY NO TROUBLE 708 JEXIT ;CARRY CLEAR = ERROR JRETURN TSSR CONTENTS a8TSSR(RS) RO PC JRETURN * ¢ :ROUTINE TO DO SET UP OF RUNNING CONDITIONS LINPUTS: ; RS CURRENT UNIT NUMBER LOUTPUTS: *CALLING SEQUENCE: : JSR JSR B8(S ERRDF et it VN SNWN= NNV SEQ 0064 ; IMPLICIT OUTPUT: S Bt B OOV NOWVISWN=O V0D NO VWA purd o b b D d bk b b b e b b b d b e emd d o b b b b b o b b b b b —bed d ed — nd b md PAGE 20-~18 CARRY 1 OO0 OO D000 o b b b ) bb b b h b - 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 007436 1087 007436 1088 007442 1089 007446 1090 007450 1091 007452 1092 007452 1093 007454 1094 007456 1095 007460 1096 007464 1097 1098 1099 25-MAY-82 09:51 JSR 007466 007466 007470 007474 007500 007514 007516 1064422 004737 004737 103416 012727 000000 013727 000000 005367 PC.FIRSTUY PC,SOF INIT CONT INUE sREPORT FATAL ERROR PC,MDSET MDSET:: BREAK 007766 007356 000001 002116 177772 : JSR JSR PC,SETDEF PC,WLKCHK DELAY 1 8(CS 1% ) DO A SUPVSR BREAK FlRS{. sRESTORE DEFAULT ;CHECK WRITE LOCK RAP C$BRK :C=1 1S 0.K. SWAIT MOV .WORD MOV WORD DEC 81,(“')* bSDLY."C)* ~6(PC) - o~ — o _ GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 007522 007524 007530 1125 007532 007532 1126 007534 007534 1127 007536 1128 007542 1129 007544 1130 007550 1131 007554 1132 007560 1133 007562 1134 007570 0061375 005367 001367 25-MAY-82 09:51 BNE 104422 104444 005737 001064 004737 004737 005737 0C1415 052737 005737 002312 000040 002322 007724 007766 007436 }}gg 007714 013737 003532 1161 007722 1162 1163 1164 1165 1166 1167 1168 1169 1170 M7 1172 1173 1174 1175 007724 000207 000403 18: 007766 007270 002320 001002 004737 004737 004737 000443 005737 001415 052737 005737 001002 004737 004737 004737 000423 005737 001415 052737 005737 001002 004737 004737 004737 1176 007724 SEQ 0065 177756 1135 007574 1136 007576 1137 007602 1138 007606 1139 007612 1140 007614 1141 007620 1142 007622 1143 007630 1144 0076346 1145 007636 1146 007642 1147 007646 1148 007652 1149 007654 1150 007660 1151 007662 1152 007670 1153 007674 1154 007676 1155 007702 1156 007706 }}gg C07712 PAGE 20-19 003532 2$: 002316 3s: 003532 007724 007766 007436 48: 002314 5%: 000020 002322 003532 DOCLN :D0 CLEAN AND ABORT TST BNE JSR JSR TST BEQ 8IS BNE JSR JSR JSR BR TST BEQ 8IS TST BNE JSR JSR JSR BR TST BEQ 8IS TST BNE JSR JSR JSR TSIMD 10$ PC,SETDEF PC,WRTCHK HSSW sRUN IN DEFAULT MODE? sYES ,RETURN sRESTORE DEFAULT 260 DO SWITCH CHECK :58 WE RUN AT 100IPS? #EF .HSS,TSUNT sYES,SET THE BIT 3s EXTFEA 2% 002330 TRAP CSDCLN WIBUF :ng WITH WRITE BUFFERING? #EF .RWB, TSUNT cYES SET THE BITS ARE WE SET? 118 5% EXTFEA 48 PC,INVRT PC,SETDEF PC,WRTCHR ;00 IT ;YES : INVERT THE SWITCH :NOW SET THE MODES D0 IT RUN WITH READ BUFFERING? #EF .RBO, TSUNT EXTFEA YES SET THE BITS :ARE WE SET? 63 BR SYES ¢ INVERT THE SWITCH ¢NOW SET THE MODES ;DO IT 10s%: MoV TSUNT,SCHBK+10 SAND UNIT # 11$: RTS PC sRETURN INVRT:: MoV C$BRK :NOW SET THE MODES H H : JOUTPUTS: : 140006 TRAP PC.,INVRY PC,SETDEF PC,WRTCHR : : SUBROUTINE TO INVERT SENSE OF EXT'D FEATURES SWITCH : JINPUTS: 012737 ~22(PC) sARE WE SET? SYES ¢ INVERT THE SWITCH PC,INVRY PC,SETDEF PC,WRTCHR 118 6$: 002504 ;BREAK TO SUPER TST 007724 007766 007436 000030 002322 BREAK #WSM, CMDPKT+(CP, (MD ;WRT SUB=-SYS MEM =4 DEC BNE 0 — GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1177 007732 25-MAY-82 09:51 1178 007740 012737 0312737 002506 000006 1180 007754 1181 007760 1182 007764 012704 004737 0002G7 002330 007436 1179 007746 e 012737 100010 PAGE 20-20 002332 002336 MOV MOV 002506 MoV MOV JSR RTS SEQ 0066 #WSMBK , CMDPKT+CP.ADL #6,CMDPKT+CP.CNT :MSG BUF ADDR JBYTE COUNT #CMDPKT,RS PC,WRTCHR PC : DO IT JRETURN #100010,WSMBK JINVERT THE SWITCH }}gg : SUBROUTINE TO SETUP DEFAULT SET CHAR CMD 1187 1188 1189 1190 1191 1192 }}gz INPUTS: : : H :OUTPUTS: . : Ré 1195 007766 1196 007766 1197 007772 1198 007776 1199 010004 012701 010137 012737 012737 140004 002330 002474 000012 1201 010020 1202 010026 013737 012704 003532 002330 1200 010012 1203 010032 1204 1205 012737 000207 000040 }%89 1208 1209 010034 010034 1210 010034 1211 010040 010040 1212 010040 1213 010042 010042 1214 010042 1215 010046 010046 1216 010046 1217 010050 010050 1218 010050 1219 010054 010054 010054 1220 1221 010056 010056 1222 010056 1223 010062 SETDEF:: 002332 002336 002502 003472 005237 003474 TSSINO:: TSSINT:: L10005: MOV MOV TSUNT,SCHBK+10 #CMDPKT R4 SUNIT # :ADDRESS OF CMD PACKET #DFTSCH,SCHBK +6 PC ;STORE CHARACTERISTIC CODE IN SCH BLOCK. JRETURN MODULES TO HANDLE TSOS INTERRUPTS. BGNSRY TSSINO INC ENDSRV INTFLG :SET INTERRUPT OCCURRED FLAG. BGNSRV TSSIN1 INC ENDSRYV INTFLG+?2 sSET INTERRUPT OCCURRED FLAG. RTI 003476 TSSINZ:: L10006: 000002 005237 JWRITE CHAR CMD ;SET UP COMMAND JSET UP ADR LO TO POINT TO MSG BUF (MSGPKO) sSET BUFFER EXTENT RTI 000002 005237 #SCH,R1 R1,CMDPKT+CP.CMD #SCHBK ,CMDPKT+CP.ADL #SCHCNT ,CMDPKT+CP.CNT RTS L10004: 000002 MOV MOV MOV MOV MOV 002504 : 005237 ADDRESS OF COMMAND PACKET BGNSRY TSSIN2 INC ENDSRV INTFLG+4 sSET INTERRUPT OCCURRED FLAG. RT] 003500 TSSIN3:: BGNSRV TSSIN3 INC ENDSRV INTFLG+6 JSET INTERRUPT OCCURRED FLAG. 1235 010100 1236 010104 1237 010110 1238 010112 1239 010114 1240 010116 1241 010122 1242 010124 1243 010126 1244 010132 1245 010134 1246 1247 010136 1248 010136 1249 010140 1250 010144 1251 010146 1252 010150 1253 010150 1254 010152 1255 010152 1256 010154 1257 010154 1258 1259 010160 1260 010160 1261 1262 1263 1264 1265 1266 1267 1268 1269 010162 1270 010162 1271 010166 1272 010172 1273 010176 1274 010202 1275 010204 1276 1277 1278 SEQ 0067 L10007: 000002 RTI Oy o B v, 1226 1225 1226 1227 1228 1229 1230 1231 1232 010064 1233 010072 1234 010074 PAGE 20-21 Se Be 010062 010062 25-MAY-82 09:51 032737 001430 013702 063702 032702 001417 000400 003420 111204 142704 050403 000401 BIT BEQ INC Movae 8IC8 SWAB DEC 017703 TST8 8EQ DEC 50003s: 177400 50004$: 173230 50001$: 50005$: 000207 MOvV8 #MOD . CO, CMDWRD 500018 JREAD REV FETCH MSGPKT+MS .RFC,R2 DATARD,R2 #81T00,R2 300023 2 (R2) ,R3 #177400,R3 R3 R2 SWBFLG 50003% R2 cFIND LAST READ AD. ;0DD AD., REASSEMBLE sREC COUNT STARTING cWITH UPPER BYTE FET(CH JLET R2 := R2 - M1 := R2 - M (R2) R4 #177400,R4 BR 50004$ ;LOWER BYTE AD. ;1FB SWBFLG NE #0 THEN JLET R2 8ic8 BIS 500028: 000402 CALLS: MoV ADD 003520 011203 R3 = RECORD COUNT READ R2, R3, R4 REGISTERS: OUTPUTS: BEQ 002360 003410 000001 TO RETRIEVE RECORD COUNT READ FROM TAPE FOR ERROR INPUTS: RECTAP:: BIT 177400 001401 005302 32?2?%”"5 ;LOWER BYTE AD. ON SWAP JFETCH LOWER BYTE R4 ,R3 MOV (R2) ,R3 ;LET R3 B8R 50005% MOV aDATARD ,R3 RTS PC SUBROUTINE TO STORE A THE FIRST ENTRY INPUTS: OUTPUTS: := (R2) sEVEN AD. JLET R3 := QDATARD FET(CH sREAD FWD FET(CH SET CHARACTERISTIC COMMAND AS IN THE SEQUENCE TABLE. REGISTERS: CALLS: 003540 140004 000040 000001 SETCH:: MOV MoV MOV MOV TST RTS PC #CMDSEQ R #SCH, (R1)+ #DFTSCH,(R1) ¢ #1,(R1)+ (R1)+ ?ggfi?ngNE JINIT CMD SEQUENCE TABLE POINTER, sTHIS CODE SETS UP A SET CHARACTERISTIC sCOMMAND AS THE FIRST COMMAND IN THE s SEQUENCE TABLE. sSKIP PATTERN LOCATION. TO STORE A REWIND COMMAND IN THE SEQUENCE TABLE (2 Y] GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION —_— — GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTIOK — 25-MAY-82 09:51 1279 1280 }%g; : : : 1283 010206 1284 010212 1285 010216 012721 012721 012721 }Sg; 010224 000207 1286 010222 005721 102010 000001 000001 TST RTS 010244 1302 010246 1303 010254 1304 010256 1305 010262 1306 010266 1307 010270 1308 010276 1309 010300 1310 010304 1311 010306 1312 010314 1313 010322 1314 010330 1315 010336 1316 010344 }%}g 010346 1319 010354 }gg? 010354 012701 003540 021127 001530 004737 177777 011172 104422 023737 003412 002116 004737 105737 001435 023727 001031 105737 001026 063737 063737 013737 042737 023727 002003 : CALLS: 003414 CMP 104005 003516 003432 003434 003416 003416 000022 012737 000022 003416 013737 003416 002336 500158 : 010362 500148 : 010362 50013s: 010362 010362 1328 010366 1329 010372 ;gg? 010376 1332 010402 1333 010402 1334 010410 004737 017456 000001 017060 026527 001426 002604 CMDAC, SETUP ,EXSUB, CKHAE ,NEXTU,FIRSTU, VFYDAT. #CMDSEQ R sINIT SEQUENCE TABLE POINTER. (R1) ,#END 5000/% PC,SETUP sWHILE THERE ARE CMDS IN THE SEQUENCE TABLE. NCNT NCNT1 ;60 SETUP THE COMMAND BLOCK. ; DO A SUPVSR BREAK FIRST. TRAP sWHILE THERE ARE RECORDS REMAINING: C$BRK BGE JSR TST8 BEQ cmP BNE TST8 BNE ADD ADD MOV 8IC cMP BGE MOV 50011$ PC,CMDAC RANDOM 50012$ CMDWRD , #WRT 50013% VFYFLG 500148 RANS , RANB RANB , RANS RANS ,BRFCNT LENMSK ,BRFCNT BRFCNT ,#18. 50015% #18. ,BRFCNT MoV BRFCNT,CMOPKT+CP, CNT sMOVE BRF TO CMD PACKET. PC.EXSUB sISSUE CMD TO ALL,AWAIT INTS,CHECK STATUS. sSTORE CMD ASCII IN ERROR MESSAGE. :IF IN RANDOM MODE: sIF CMD IS A WRITE THEN: sIF DATA IS NOT TO BE VERIFIED THEN: LET RANB := RANB + RANS ;GENERATE sLET RANS := RANS + RANB ;RANDOM sLET BRFCNT := RANS sLENGTH ;MASK RANDOM LENGTH. ;D0 NOT ALLOW BYTE COUNT OF LESS THAN 18 s CHANGE COUNT OF 0-17 TO 18. 50012%: 010524 004737 012702 004737 ;SKIP PATTERN, sRETURN REGISTERS: EXALL:: MOV 500068: cmp BEQ JSR 500108: BREAK 003434 003432 003434 003430 003416 sCMD = REWIND. :BRF . :# OF OPERATIONS. SUBROUTINE TO EXECUTE ALL COMMANDS IN THE SEQUENCE TABLE ON ALL DEVICES. INPUTS: OUTPUTS: R2 = TERMINATION INDICATOR (0=END OF TABLE,1=EOT) 011064 003515 003420 #RWD, (R1)+ #1,(R1)+ #1,(R1)+ (R1)+ PC H H H : : 1296 010226 1297 010232 1298 010232 1299 010236 1300 010240 1301 010244 SEQ 0068 OUTPUTS: REGISTERS: CALLS: SETRW:: MOV MoV MoV 1289 1290 1291 1292 1293 }sgg 1322 1323 1324 1325 1326 1327 PAGE 20-22 JSR 177777 JSR MOV JSR PC,CKHAE #1,R2 PC.FIRSTU CMP BEQ DEV BL(R5) #END 50017% JLET R sCHECK HALT AFTER EACH (MD FLAG. := M sSET ALL UNITS AT BOT/EOT. FIND FIRST UNIT. S0016$: ;WHILE THERE ARE MORE UNITS: GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1335 010412 1336 010420 1337 010422 1338 010430 }gzg 010432 1341 010434 1342 0104346 1343 010436 1344 010436 1345 010444 1346 010446 1347 010454 1348 010456 1349 }gg? 010456 1352 010460 1353 1354 010460 1355 010460 1356 010464 1357 010466 1358 010466 1359 010472 }gg? 010474 1362 010476 1363 010476 }ggg 010502 032737 001406 032765 001001 005002 032765 001404 032737 001001 003420 000002 003502 50021$: 000001 003502 000001 003420 50020$: 50023$: 004737 000746 017126 020227 001001 000412 000001 005237 013737 003412 003420 000645 004737 50022$: 50017$: 50025$: 003424 50011$: 016044 50007$: 005002 1378 1379 1380 1381 1382 : : : : : }ggz : 1389 010540 1390 010546 1391 010550 BIT BEQ BIT BNE CLR #MOD.CO, CMDWRD ;IF CMD ]S REVERSE THEN: 500208 #X0.80T ,EOTFLG(RS) ;1F NOT AT BOT THEN: 500218 R2 JLET R2 := #0 ;CLEAR EOT/BOT FLAG. BR 50022% BIT BEQ BIT BNE #X0.EOT,EOTFLG(RS) 50023% #CMD.(CO,CMDWRD 50024% CLR R2 JSR BR PC,NEXTU 50016$ sFIND NEXT UNIT cMP BNE BR R2.M 50025% EXARTN ;IF ALL UNIT ARE AT EOT/BOT THEN: INC MOV NCNT LET NCNT := NCNT + #1 ;UPDATE RECORD COUNT. CMDWRD , PCMDWD :SAVE PREVIOUS COMMAND WORD. BR 50010% JSR PC,VFYDAT BR 50006% CLR EXARTN: RTS PC 000207 e 010524 010530 010530 010536 SEQ 0069 JELSE IF CMD IS NOT REVERSE: sIF NOT AT EOT OR NOT A MOTION CMD THEN: :CLEAR EOT/BOT FLAG. 500248 : 1371 010516 1372 010520 1373 010520 1385 1386 1387 1388 PAGE 20-23 005002 000655 }g;g 010522 000400 000411 1366 010510 1367 010512 1368 010512 }ggg 25-MAY-82 09:51 004737 017060 026527 001465 032737 001421 032765 002604 177777 000400 003420 000002 003502 R2 JRETURN WITH R2 = #1. ;IF LAST CMD WAS A WRITE VERIFY, THEN GO sVERIFY THE LAST N RECORDS OFf DATA. sLET R2 := #0 ;SET NORMAL RETURN INDICATOR. SRETURN. SUBROUTINE TO ISSUE COMMAND TO ALL DEVICES., WAIT FOR ALL INTERRUPTS, AND CHMECK ALL STATUS. INPUTS: OUTPUTS: REGJSTERS: CALLS: EXSUB:: JSR 50026%: CMP BEQ 8IT BEQ BIT EXCUTE ,GOWAIT ,NEXTU,FIRSTU. PC,FIRSTU ;SET UP FOR FIRST UNIT. DEVTBL (RS) ,#END 50027$ #M0OD. CO,CMDWRD 50030% #X0.80T,EOTFLG(RS) ;WHILE THERE ARE MORE DEVICES: JIF CMD IS REVERSE THEN: :1F NOT AT BOT 1392 010556 1393 010560 1394 010566 1395 010570 1396 010574 1397 010576 1398 1399 010602 1400 010602 1401 010604 1402 010604 1403 1404 010610 105 1406 010610 1407 010610 1408 010612 1409 010612 1410 010620 1411 010622 1412 010630 1413 1414 010632 1415 010640 1616 1417 010644 1418 010644 1419 010652 1420 010654 1421 010662 1422 010664 1423 1424 010664 1425 1426 010670 1427 010672 1428 010672 1429 010676 1430 010700 1431 1432 010704 1433 14634 010704 1435 1436 010704 1437 010704 1438 1439 010710 1440 010712 1441 010712 1442 010716 1443 010720 1444 010724 010724 1445 010726 1446 010726 1447 010732 001014 032765 001406 105737 001402 004737 25-MAY-82 09:51 000001 6 SEQ 0070 BNE BIT BEQ 003502 003524 TST8 012054 50033s: 000402 004737 £ PAGE 20-24 50032%: 012054 50031% #X0.EOT ,EOTFLG(RS) sBUT [F AT EOT ALLEOT cAND ALL OTHERS AT EOT 50032% 50033¢ 8EQ JSR PC,EXCUTE BR 50034$ JSR PC,EXCUTE sNOT AT EOT, 50035$ SELSE IF CMD IS NOT REVERSE: s THEN EXECUTE REV CMD s1F NOT ALL AT EOT, FREEZE UNIT(S) AT EOT ¢IF NOT AT BOT AND EXEC REV (MD 50034$: 50031$: 000435 023727 001011 032765 003426 000002 000002 003502 016537 005077 002616 172646 003512 032765 001404 032737 000001 003502 000001 003420 001405 001003 004737 105737 500368: 012054 003524 cMP BNE 8IT BEQ 500408: 012054 CMDLG,#2 500368 #x0.80T ,EOTFLG(RS) 50036% cCLEAR BAD SPOT COUNTS WHEN WRITING FROM B80T cLET BTPT := BTADDR(RS) MOV BTADDR(RS) ,BTPT 8IT 8EQ #X0.EOT,EOTFLG(RS) CLR : 500378 000405 001402 004737 50030$: aBTPT JLET @BTPT := #0 50037% 8IT BNE #CMD.CO,CMDWRD JSR PC,EXCUTE BR 500418 TST8 BEQ JSR ALLEOT PC.EXCUTE JSR PC.NEXTU BR 50026% 1ST8 RPTFLG CLRB DORPT RPTFLG 500408 500428 sIF NOT AT EOT OR NOT A MOTION CMD THEN: cISSUE CMD TO TSO5 cIFB ALLEOT NE #0 THEN : 500428 500418$: 004737 017126 000707 105737 003517 105037 003517 001403 106424 004737 017060 50035$: 50027%: 500438 500448: JSR 500438 PC.FIRSTU sFIND NEXT UNIT :1IF IN TEST CYCLE. REPORT HAS BEEN REQUESTED THEN: ;PRINT sCLR THE FLAG, THE PERFORMANCE REPORT. JSET UP FOR FIRST UNIT, TRAP CSDRPT [~ T~ GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 16468 1449 1450 1451 010732 010740 010742 010750 16452 010752 1453 010760 1454 010762 1455 010770 1456 010772 1457 010776 1458 011000 1459 1460 011004 1461 1462 011004 1463 011006 }22? 011006 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 026527 001450 032737 001421 032765 001014 032765 001406 105737 001402 004737 004737 000400 003420 000002 003502 000001 003502 012364 500508: 012364 011012 011012 011014 011014 011022 011026 011032 011034 1486 011054 1487 1488 011054 1489 1490 011054 }23} 011054 1493 011060 1494 011062 }232 011062 DEVTBL(RS) ,#END ;WHILE THERE ARE MORE DEVICES: 50045% #MOD, CO, CMOWRD s1F CMD IS REVERSE THEN: 500468% #X0.BOT,EOTFLG(RS) ;IF NOT AT BOT 50047% #X0.EQT ,EOTFLG(RS) :BUT IF AT EOT 500508 ALLEOT sAND ALL OTHERS AT EOT 50051$% PC,GOWAIT sTHEN WAIT FOR CMD END :IF NOT ALL AT EOT, DO NOT WAIT BR 500528 JSR PC,.GOWAIT SWAIT FOR INT,CHECK STAT BR 50053% JELSE 8IT 8EQ BIT BNE #X0.EOT EOTFLG(RS) 50054% #CMD.CO,CMDWRD 50055$ JSR PC.GOWAIT BR 50056$ TST8 BEQ JSR ALLEOT 50057% PC,.GOWAIT JSR PC,NEXTU B8R 500448 RTS PC sNOT AT BOT, AND NOT AT EOT 500528 : 500478 : 000420 032765 001404 032737 001003 000405 011040 011042 011042 011046 011050 SEQ 0071 CMP 8EQ BIT BEQ BIT BNE 8IT BEQ 1ST8 BEQ JSR 003524 011012 1480 1481 1482 1483 }232 1504 177777 000402 004737 1503 002604 PAGE 20-25 500518: }2;3 011034 1497 1498 1499 1500 1501 1502 25-MAY-82 09:51 105737 001402 004737 000001 003502 000001 003420 500468 : 500548$: 012364 003524 50055$: 012364 IF CMD IS FORWARD: sIF NOT AT EOT OR NOT A MOTION CMD THEN: SWAIT FOR INT,CHECK STATUS. ;IFB ALLEOT NE #0 THEN 50057$: 500568 : 004737 000724 000207 017126 500538$: 50045$: : : : : : : : sFIND NEXT UNIT IN TEST CYCLE. sRETURN, THIS SUBROUTINE STORES THE ASCII FOR THE CURRENT COMMAND AND PREVIOUS COMMAND IN THE STANDARD ERROR MESSAGE. ON ENTRY LOCATION CMDWRD CONTAINS CURRENT CMD AND LOCATION PCMDWD CONTAINS PREVIOUS CMD. INPUTS: OUTPUTS: REGISTERS: R3, Ré. CALLS: GCMDA (2T~] — GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1505 011064 1506 011070 0137C« 004737 1508 1509 1510 1511 011100 011104 011110 011116 1513 011126 1514 011130 }g}g 011134 1507 011076 1512 011120 25-MAY-82 09:51 SEQ 0072 003420 017136 CMDAC:: MOV JSR 112337 111337 013704 004737 006441 006442 003424 011136 Move MovB MOV JSR (R3)+,STAER1+3 (R3) ,STAER1+4 PCMDWD R4 PC,.GCMDA : s INTO MSG. ;R4 = PREVIOUS CMD BINARY. ;GET CMD ASCII. 112337 111337 000207 006555 096556 MOvV8 MOv8B RTS (R3)+,STAER7+25 (R3) ,STAER7+26 PC sRETURN. GO EXECUTE NEXT FUNCTION. 112337 112337 006440 006554 1533 011156 1534 011160 1535 011162 1536 011164 }g%g 011170 062703 000772 010304 006203 000240 060403 062703 000207 000002 CALLS: 004040 RTS : H H ; : 1546 011172 1547 011176 1548 011202 1549 011206 1550 011212 1551 011216 1552 011222 1553 011224 1554 011230 1555 011232 1556 011236 1557 011240 1558 011246 }ggg 011250 1561 011256 : 005037 012137 011137 011137 013702 042702 010203 162703 001003 011137 000464 023727 001003 012737 003426 002330 002336 SETUP:: 003416 002330 002332 002330 100011 000002 003426 2%: 500628 : R3;LET R3 := #0 sINIT CMD TBL POINTER. CMDTBL (R3) ,R4 50061% #2,R3 500608 RI,R6 R3 JUNTIL CURRENT CMD IS FOUND: ;LET R3 ;LET R4 := R3 + #2 := R3 R4 R3 #CMDASC ,R3 PC OUTPUTS: REGISTERS: CALLS: (LR MOV Mov 8IC 000010 R3 = ADDRESS OF PRESENT COMMAND ASCII. ;SEARCH CMD TABLE. ;POINT TO ASCII FOR THAT (COMMAND sRETURN, THIS SUBROUTINE LOADS THE TSOS COMMAND PACKET FROM ONE ENTRY IN THE SEQUENCE TABLE. INPUTS: MOV MOV 177740 R4 = PRESENT COMMAND WORD. REGISTERS: ADD }gzg s INTO TMSG. : INPUTS: ASR NOP ADD 1539 1540 1541 1542 1543 sMOVE CMD ASCII OUTPUTS: GCMDA:: CLR 500608: cMP 8tQ ADD BR 500618: MOV 003752 (R$)+,STAER7+24 : H 005003 +MOVE CMD ASCII SUBROUTINE TO FIND THE ASCII CQUIVILENT OF THE COMMAND IN R4. ADDRESS OF ASCII 1ST WORD IS RETURNED IN R3. 1522 }ggz ;R4 = (MD BINARY, : : : 1521 := CMDWRD cGET CMD ASCII. (R$)+,STAER1+2 MOvB 1520 026304 001403 CMDWRD ,R4;LET R4 PC .GCMDA MovB 1517 1518 1519 1525 011136 1526 011140 1527 011140 1528 011144 1529 011146 1530 011152 1531 011154 1532 011154 PAGE 20-26 MOV ;) BNE MOV 8R CMP BNE Mov R2, R3. GENPAT. CMDLG (R1)+,CMDPKT (R1) ,CMDPKT+CP.CNT (R1) ,BRFCNT CMDPKT ,R2 #NCMD . C,R2 R2,R3 #CMD.C3,R3 2% (R1),CMOPKT+2 3$ CMDPKT ,#JTM 500628 #2,CMDLG sCLR_CMD LOGGING CODE(DISABLES LOGGING) sLOAD THE COMMAND WORD. sLOAD THE BYTE/RECORD/FILE COUNT. ;SAVE BRF FOR THIS COMMAND. sGET CMD. sCLR _ALL BUT CMD BITS. sSAVE 1T TWICE. sPOSITION COMMAND? sBR IF NOT. sMOVE BPCR IN 2ND PKT WORD FOR POSITION CMD. sIF (MD IS A WRITE TAPE MARK THEN: ;WTY LOGGING CODE IS 2. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1562 011256 1563 011260 1566 011266 1565 011266 1566 011274 1567 011302 }ggg 011304 1570 011312 1571 011314 010203 162703 001017 013737 032737 001404 012737 012737 1574 1575 1576 1577 1578 1579 1580 1581 000432 010203 162703 001014 012737 012737 011137 1582 011354 1583 011362 1584 011364 1585 011366 1586 011372 1587 011374 1588 011402 1589 011410 1590 011412 1591 011416 1592 011422 1593 011426 1594 011430 1595 011434 1596 011436 1597 011444 1598 011450 1599 011456 1600 011464 1601 011466 }ggg 011474 013737 000412 010203 162703 001006 012737 012737 005721 012137 005037 012137 010203 162703 001010 013737 004737 012737 032737 001407 112737 042737 1604 011502 1605 011504 1606 011504 1607 000402 1608 011510 1609 011510 1610 011516 1611 011524 1612 011530 }g}z 011532 1615 011540 1616 011540 1617 011546 1618 011554 PAGE 20-27 SEQ 0073 MOV SUB BNE 000001 003410 000400 002332 002330 000004 003426 000403 }g;% 011314 011322 011322 011324 011326 011332 011334 011342 011350 25-MAY-82 09:51 000006 003426 MOV : 500648 18: 000004 002474 000012 002502 003532 002504 48: 000006 000020 003406 002336 002332 003414 003412 003446 38: 000001 000100 5¢: 003516 002330 003516 013737 013737 105737 001403 003420 002330 003520 003424 003420 052737 010000 002330 042737 013737 000207 004000 002330 002330 003422 B8R 500648 MOV #6.CMDLG B8R 500668: 50067%: 50063$ 3s MOV SUB R2.R3 #CMD.C2,R3 MOV MOV MOV MOV #SC , CMDPKT+CP. HBK ADL #SCHCNT , CMDPKT+CP. CNT (R1),SCHBK +6 TSUNT, SCHBK+10 MOV SUB R2.R3 #CMD.C1!CMD.C2.R3 MOV MOV #DIACNT ,CMDPKT+CP. CNT #DI . CMDPKT+CP ABL .K ADL MOV CLR MOV MOV sUB (R1)+,NCNT1 NCNT (R1)+,PATERN R2,R3 #CMD.CO!CMD.C2.R3 MOV JSR MOV DATAWT, CMDPKT+CP.ADL PC,GENPAT #2.CMDLG MOVB #1,VFYFLG B8R ST 81T BEQ BIC 500658: 105037 #6,CMDLG BNE 002332 003426 002330 MOV BNE 000005 003406 011556 000002 000100 #MoD ., O, CMDPKT BNE 002332 002336 DATARD, CMDPKT+CP.ADL BIT BEQ 50063$: R2,R3 #CMD.CO,R3 1$ 4 3$ 3s (R1)+ )| 1 1 IT A READ? IF NOT. SO, L 0 AD THE BUFFER ADDR. CMD IS S A READ REV THEN: ;L N sLOGGING CODE IS 4. sELSE - IF CMD IS A READ FWwD: sLOGGING CODE IS &§. s CONTINUE. IT IS ;IS ¢A SET CHARACTERISTICS CMD? ¢8R IF NOT. sSET UP ADR LO FOR SET CHAR. sSET BUFFER EXTENT sSTORE CHARACTERISTIC CODE IN SCH BLOCK. SUNIT # sCONTINUE. JIS IT ;A DIAGNOSTIC (DIA) CMD? ¢BR IF NOT. sLOAD BUFFER EXTENT. sLOAD BUFFER ADR LOW. ;POINT TO N (NUMBER OF TIMES TO EXECUTE THIS INS sSAVE NUMBER OF OPERAT |ONS sCLEAR OPERATION COUNTER. sSAVE PATTERN CODE FOR CURRENT CMD. 58 #VEY,C.CMDPKT 50065$ AVEY.C,CMDOPKT ;GO GENERATE THE WRITE PATTERN. ;WRITE LOGGING CODE IS 2. sIF DATA VERIFICATION IS REQUIRED: sSET VERIFY FLAG. sCLEAR VERIFY BIT(NOT USED BY HARDWARE). sIF DATA VERIFICATION IS NOT REQUIRED: BR 500668 CLRB VFYFLG ¢CLR VERIFY FLAG. MOV MOV TSTB CMDWRD , PCMDWD CMDPK . CMDWRD T SWBFLG sSAVE PREVIOUS CMD WORD. sSAVE PRESENT (MD WORD. :1F SWAP BYTES IS ENABLED: BEQ 8IS 50067 #SW8.C.CMDPKT BIC #BRF .C,CMDPKT MOV RTS CMDPK . CMDSAV T PC sSET SWAP BIT IN COMMAND. sCLR BRF BIT (INTERNAL ONLY). sSAVE 1ST WORD OF COMMAND Ps(CKET. sRETURN. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 25-MAY-82 09:51 1619 1620 1621 1622 1623 : : : ; 1624 ; }252 : 1627 011556 1€28 1629 1630 1631 1632 1633 1634 1635 PAGE 20-28 011562 011564 011570 011572 011576 011602 011606 011612 }ggg 011616 013703 006303 013706 005204 042704 162704 013702 062702 004773 000207 003446 000001 000002 003406 000002 011620 R2, R3, R&. PATRO = PATR? PATERN,R3 R3 BRFCNT,R4 Ré #1,R4 #2 R4 DATAWT ,R2 #2,R2 PC,3PATTBL(R3) PC ;SETUP PATTERN ROUTINE POINTER ;SET LENGTH OF WRITE BFR ;ROUNDED UP TO NEXT WORD WITH FIRST WORD RESERVED :FOR RECORD COUNT ;GO GENERATE THE APPROPRIATE PATTERN. :RETURN TO SETUP SUBROUTINE. ;7S0S WRITE PATTERN LOOKUP TABLE. USED TO JSR TO THE :CORRECT DATA PATTERN GENERATING ROUTINE. 011620 011622 011626 011626 011630 011632 011636 011636 }ggg 011640 011642 011700 011720 011730 011754 011766 012000 01.020 PATTBL: PATRO PATR1 PATR? PATR3 PATRS PATRS PATR6 PATR? 012052 PATRS }gg} :INCREMENTING PATTERN. 011642 011646 011652 011654 011656 012703 162704 100411 010322 062703 1659 011666 001002 1658 011662 020327 }gg? 011670 012703 1662 011674 }ggz 0116746 000764 ;ggg 011676 000207 000400 000002 001002 001000 PATRO:: MOV 1$: SuB BMI MOV ADD CMP BNE 000400 50070$: 2s: }ggg 1669 1670 1671 1672 CALLS: RTS }gzg 1653 1654 1655 1656 1657 OUTPUTS: REGISTERS: ASL MOV INC BIC SuB MOV ADD JSR 1638 1641 1642 1643 1644 1645 1646 1647 1648 THIS SUBROUTINE SETS UP ANLC CALLS THE APPROPRIATE SUBROUTINE TO GENERATE THE DESIRED PATTERN FOR THE WRITE AND WRITE/VERIFY COMMANDS. INPUTS: GENPAT : :MOV 003416 SEQ 0074 0 - 377. #400,R3;LET R3 := #400 #2,R4;LET R4 := R4 = #2 ;DECREMENT WORD COUNT. 23 :BR IF DONE. R3.(R2)+ :STORE DATA WORD. #1002,R3 ;UPDATE PATTERN. R3,#1000 500708 *IF PATTERN HAS WRAPPED AROUND THEN: MOV #400,R3 :INIT THE PATTERN AGAIN. BR 18 ;D0 IT AGAIN. RTS PC :RETURN. JALL ONE'S PATTERN. 011700 011704 011710 011712 012703 162704 100402 010322 1675 011716 000207 }g;{ 011714 000773 177777 000002 PATR1:: MOV IROPAT: SU8 BM] MOV #-1,R3 #2.R4 1$ R3,(R2)+ :ALL ONES PATTERN:;. ;DECREMENT BYTE COUNT. ;DONE?,BR IF VYES. ;IF NOT LOAD NEXT BYTE WITH PATTERN. 1$: PC ;RETURN. BR RTS IROPAT :DO IT AGAIN. o — GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1676 1677 1678 1679 011720 1680 011722 }681 011726 25-MAY-82 09:51 PAGE 20-29 SEQ 0075 sALL ZEROES PATTERN. 005003 004737 000207 PATR?:: 011704 CLR JSR RTS R3 sCLR PATTERN REGISTER. PC cRETURN, PC,ZROPAT ;GO GENERATE 1IT. sONE BIT WALKING FROM R TO L IN A FIELD OF ZEROES. 1685 011730 1686 011734 1687 011740 1688 011742 1689 011744 1690 011746 1691 011750 1692 011752 1693 012703 162704 100404 000401 000002 PATR3:: MOV #401,R3 BMI MOV ASL R3.(R2)+ R3 WLKZRO: 010322 006303 005503 000771 000207 18: Su8 ADC BR RTS cINIT PATTERN REGISTER. :g.R‘:LET R4 := R4 =~ #2 ;DECREMENT WORD COUNT. R3 WLKZRO PC :BR IF DONE. sLOAD DATA. sSHIFT PATTERN. ;ADD CARRY BACK INTO PATTERN. ;DO IT AGAIN. cRETURN, sZERO BIT WALKING FROM R TO L IN A FIELD OF 1°S. 1696 011754 1697 011760 1698 011764 1699 1700 012703 004737 000207 177376 PATRS : : MOV 011734 JSR RTS b —ad 012703 162704 100402 b cad D ad cd cad o PATRS:: MOV JSR RTS 012016 177400 000002 PATR6:: MOV 1%: 010322 000773 000207 2%: #125125,R3 PC,ZROPAT PC JINIT PATTERN REGISTER. :G0 GENERATE 1IT. cRETURN. Su8 BMI MOV BR RTS #177400,R3 #2.R4 2 R3, (R2) + 18 PC cINIT PATTERN REGISTER. *DECREMENT WORD COUNT. *BR IF DONE. :LOAD DATA. D0 IT AGAIN. *RETURN. ;RANDOM PATTERN GENERATOR D b b el wd wmd bl e SRETURN, sALTERNATING BYTES OF 000 AND 377. 012020 012024 012026 012034 012042 012046 012050 162704 100411 063737 063737 013722 000764 000207 28 012052 9 000002 003434 003432 003434 PATR?:: 003432 003434 GIT: suB #2 R4 ADD ADD MOV RANS , RANB RANB ,RANS BM] BR RTS ;DECREMENT WORD COUNT 6IT :BR IF DONE. RANS . (R2) + “SAVE #. PC *RETURN PATR? ;GET NEW #. *CONTINUE. NO PATTERN GENERATION. d b b wd b el PC sINIT PATTERN REGISTER. :GO GENERATE ;IT. sALTERNATING ONE AND ZERO BITS WITH ALTERNATE BYTES s COMPLEMENTED. 012703 004737 000207 NN NN SNNNNNNNN NN NNNNNNNNNNY WIWWNWNN PONINDI NI NINININ) cd b cd o cend ad b md ond ed =d=3 N=O ~O VB W =000 NOWS NN 2O 000 #177376,R3 PC,WLKZRO 000207 PATRS:: RTS PC THIS SUBROUTINE :RETURN. INITIATES TSOS5 COMMAND EXECUTION ?zguggECKS FOR TSO5 RESPONSE. GLOBAL AREAS MACRO M1113 GLOBAL SUSROUTINES SECTION 25-MAY-82 09:51 PAGE 20-30 SEQ 0076 b ed omd OV b D rd b ed b emd b SO NWIININI = b D md md PNONPNDMNONN NONNONNONNNDNNONN ~NON oo el el NN (~]elel] Pur G Q-G Puur- S gt Guar P G- Guur P -—bd b emd cud b — end b b ad b b BN [elelelalelolals] (elelelolelelolalelolale OUTPUTS: REGISTER S: CALLS: 012737 177777 005337 005737 001011 004737 003436 003436 003436 DEC TST BNE JSR 012734 ERRDF 032775 001756 023727 001022 010537 004737 026527 001405 004737 004737 017156 000200 002524 003420 140004 003452 017060 002604 177777 000767 013705 016537 003452 002544 016503 005002 002544 020227 001405 012723 062702 000020 105737 12236 017537 104455 000017 004727 006120 500728$: : 500748 012700 017126 50075$: 002474 50073s: 50076%: 1777727 000002 000770 12230 :: MOV ”~1,TIMET : ;REPEAT 104455 000002 004536 006120 004737 000522 50077% 002212 003472 000001 002524 003454 R2, R3 DROPU, MOVMSG, FIRSTU, NEXTU, WSSR. :62}; TIMEOUT COUNTER. TIME TIME1 *UPDATE TIMEOUT COUNTER. PC,MOVMSG JMOVE CURRENT PACKET MSG. 50072$ 2,NSSRM,STAERM *IF TIMED OUT: JREPORT TSOS5 NOT READY TRAP .WORD .WORD .WORD CSERDF 2 NSSRM STAERM JSR BR PC,DROPU EXCRTN ¢RETURN, 8IT #TS.SSR,ATSSR(RS) SWAIT UNTIL DEVICE IS REAMY, CMP BNE MOV JSR CMDWRD ,#SCH sIF WE ARE DOING A SET CHAR CMD THEN: CMP BEQ JSR JSR 500718 500738 R5,R5SAVE PC,FIRSTY DEVTIBL (RS) ,#END 50075$ PC,WSSR PC NEXTU ;DROP THE UNIT. sSAVE CURRENT DEVICE POINTER. cFIND FIRST UNIT. sWHILE DEVTBL(RS) NE #END DO sWAIT FOR UNIT READY OR TIME OUuT, sFIND NEXT UNIT. BR 500748 MoV MOV RSSAVE ,RS MSGPKA(R5 , SCHBK ) MOV MSGPKA(RS ,R3 ) R2 cADR OF THIS UNIT'S MSG PACKET. sCLR COUNTER. CMP BEQ R2 ,#MSGCNT sWHILE THERE ARE MORE LOCATIONS: MOV ADD #-1,(R3)+ #2,R2 SINIT THE MSG PACKET WITH ALL 1°S :UPDATE COUNTER. B8R 50076$ 1ST8 DINT 1$ CLR cMPB BLE MOV ERRDF 50077% INTFLG(RS) .M 501008 8TSSR(RS5) ,TSSREG 15,TOOMM, STAERM JRESTORE CURRENT DEVICE POINTER. sSET UP ADR OF MSG PKT IN SCH BLOCK. SARE INTERRUPTS DISABLED. sBR IF YES. s1F MORE THAN ONE INTERRUPT HAS OCCURED: ;FREEZE THE CURRENT STATUS REG FOR PRINT sREPORT TOO MANY INTERRUPTS. TRAP -WORD .WORD .WORD CSERDF 15 TOOMM STAERM — — GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 25-MAY-82 09:51 1782 012264 };gz 012270 004737 000434 017156 1785 1786 1787 1788 1789 1790 012272 012272 012276 012304 012310 012312 005065 052737 105737 001005 005265 003472 000200 003471 003376 003376 171062 1793 1794 1795 1796 1797 1798 1799 012324 012324 012775 002330 002514 032775 001410 004737 000200 002524 };3% 012316 012332 012340 012342 012346 016577 012346 012350 012352 012354 }gg? 012356 104455 000003 004453 006120 004737 1802 012362 }ggz 012362 000207 50100$: 002330 1$%: 50101$: 012734 017156 M 1807 1808 1809 1810 1811 : . : : : }g}% . 012737 1817 012374 1818 012402 1819 012404 0126406 012410 012372 012412 012416 012420 012424 012626 01243 1820 012434 1821 012434 1822 012442 1823 012444 1824 012452 1825 012454 177777 003436 023727 001014 003420 102010 012727 000000 000012 104422 CLR 8IS TST8 BNE INC INTFLG(RS) JCLR INTERRUPT FLAG 7NR THIS DEV. #lE.C,CMOPKT JSET INT ENABLE BIT. ERRREC;IFB ERRREC EQ #0 THEN :1F NOT RETRYING 501018 RECCNT(RS) sLET RECCNT(RS) := RECCNT(RS) + #1 RECCNT(RS) ,aDATAWT ;THEN UPDATE REC COUNT TO WRITE IT ON TAPE MOV #CMDPKT ,aTSDB(RS) BIT BEQ JSR ERRDF #TS.SSR,aTSSR(RS) 50102$ PC.MOVMSG 3.TOERM,STAERM sLOAD TSDB WITH CMDPKT ADDRESS JTHIS INITIATES COMMAND EXECUTION. sIF READY DID NOT DROP THEN: 501028%: EXCRTN: RTS M 1814 012364 1815 012372 1816 012372 PC,DROPU EXCRTN JSR 1806 013727 000000 005367 001375 005367 001367 002116 023727 001404 023727 001014 003420 105010 003420 105410 SEQ 0077 JSR B8R MOV 1805 M6 PAGE 20-31 :DROP THE UNIT JRETURN = UNIT HAS BEEN DROPPED. sMOVE CURRENT MESSAGE PACKET TO COMMON. JREPORT NO TSOS RESPONSE. PC.DROPU :DROP THE UNIT PC JRETURN. TRAP .WORD .WORD . WORD 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: R2. R3. CALLS: DROPU, MOVMSG, RECUD, CHKERR, LOG, CLRERR. GOWAIT:: MOV #-1,TIMET 50103%: :REPEAT BREAK CMP BNE DELAY CMDWRD , #RWD 501048 10. JINIT TIME OUT COUNTER. JREPEAT UNTIL INTERRUPT OCCURES: ;GO TO THE SUPER TO ALLOW TTY INPUT. TRAP ;IF COMMAND WAS REWIND THEN: JWAIT EXTRA MSECS EACH LOOP. MOV LWORD MOV LMORD DEC BNE DEC y 177772 177756 50104$: 50105$: CSERDF 3 TOERM STAERM BNE CMP BEQ CMP BNE CMDWRD ,#SFF 50105$ CMDWRD , #SFR 50106% C$BRK #10.,(PC)+ O LSOLY,(PC)+ O =6(PC) .~4 =22(PC) .~20 ;IF CMDWRD EQ #SFF OR CMDWRD EQ #SFR THEN GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1826 012454 012454 012460 012727 000000 013727 000000 005367 001375 005367 001367 105737 001003 016502 8 8 8 836 0 8 8 8 390 012703 005103 017502 040302 005337 005702 001003 005737 001310 1857 012624 1858 012624 1859 012630 1860 012634 1861 012640 1862 1863 1864 1865 1866 012644 012646 012652 012656 1867 012662 1868 1869 012662 1870 012662 104455 000004 004670 006120 004737 012703 004737 DELAY 105737 001006 004737 012703 004737 6 SEQ 0078 12. sADD DELAY FOR SPACE TAPE MARK ngHANDS v . WORD 002116 MoV .WORD DEC BNE DEC BNE 177772 177756 50106%: 002212 003472 50107$: 000200 002524 50110$: 003436 003436 50111$: 003436 003376 170614 012734 170620 012734 013020 013166 003463 TST18 gé?é?‘ MOV INTFLG(R5) ,R2 BR 501108 MOV COM MOV BIC :;S.SSR.R3 DEC TST BNE TST BNE TIME1 TST BNE [[0]") DEC ERRDF 017156 003472 012664 000417 004737 004737 004737 N PAGE 20-32 000014 000406 005737 001022 016577 005377 004737 012604 1852 012606 1853 012612 1854 012616 1855 1856 012622 25-MAY-82 09:51 501128: ;FETCH INTERRUPT OCCURRED FLAG. sSET UP A MASK FOR THE DONE BIT. ;FETCH DONE BIT. sUPDATE TIMEOUT COUNTER. sREPEAT UNTIL INTERRUPT OR READY OCCURES. TIME1 501038 TIME] ;IF 50112¢ RECCNT(RS) ,aDATAWT aDATAWT PC ,MOVMSG sMOVE TIME OUT HAS OCCURRED: URRED CURRENT MSG PACKET TO COMMON AREA. 4 ,NOINTM,STAERM ;REPORT NO INTERRUPT. 50113s: TRAP .WORD -WORD .WORD ESERDF NOINTM STAERM #ENDERF ,R3 BR 50113% JSR JSR JSR PC ,MOVMSG PC,RECUD PC,CHKERR WRTYFG sMOVE CURRENT MSG. PACKET TO COMMON AREA. ;UPDATE THE RECORD COUNT, sCHECK FOR STATUS ERRORS. ;IFB WRTYFG EQ #0 THEN PC,LOG sLOG BYTES AND ERRORS. PC,CLRERR sCLEAR ALL ERROR FLAGS PC,DROPU PC,CLRERR 501148 #ENDERF ,R3 -DROP THE UNIT. sLET R3 := WENDERF :CLEAR ALL ERROR FLAGS :LET R3 := #ENDERF 501148: 000207 =6(PC) .~b =22(PC) =20 JSR MoV JSR 1ST8 BNE JSR MOV JSR 015544 003472 012664 bSDLY.(PC)O s IF INTERRUPTS ARE ENABLED. dTSSR(R5) ,R2 251115 512..(PC)0 RTS PC -RETURN IF DONE. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 25-MAY-82 09:51 PAGE 20-33 SEQ 0079 1871 1872 1873 1874 1875 1876 1877 1878 012664 1879 012670 1880 012670 1881 012672 1882 012674 1883 012676 1884 1885 1886 1887 1888 1889 1890 1891 1892 012700 1893 012700 1894 012706 1895 012706 012706 1896 012710 1897 012714 1898 012722 1899 012724 1900 012730 1901 012732 1902 012732 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 012734 1914 012742 1915 012746 1916 012752 1917 012756 1918 012762 1919 012766 1920 012770 1921 012770 1922 012774 1923 012776 1924 013002 1925 1926 013006 SUBROUTINE TO CLEAR FLAGS. INPUTS: QUTPUTS: R3 = LWA TO BE CLEARED + 2. REGISTERS: CALLS: 012702 003460 R2 :: MOV #BGNFLG,R2 : JREPEAT 005022 CLR CMP (R2)+ R2,R3 RTC PC BNE 000207 := #BGNFLG JLET (R2)+ := 40 JUNTIL R2 EQ R? 50115% §ggsgg71~5 :LET R2 TO WAIT UNTIL CURRENT UNIT IS READY OR UNTIL TIME OUT. OUTPUTS: REGISTERS: CALLS: 012737 106422 005337 032775 001003 005737 001366 177777 003436 000200 003436 : WSSR: 501168%: Mov BNE 003436 TST 50117%: 000207 sINIT TIMEOUT COUNTER. sREPEAT UNTIL DEV READY OR TIMEOUT: BREAK DEC BIT 002524 #-1,TIMEN ;BREAK TO THE SUPERVISOR. TIMET #TS.SSR,TSSR(R5) 50117¢ TRAP C$BRK :UPDATE TIMEOUT COUNTER. ;UNTIL #TS.SSR SETIN @TSSR(RS) OR TIME1 EQ #0 TIME1 BNE 501168 RTS PC sRETURN. SUBROUTINE TO MOVE THE CURRENT MESSAGE PACKET TO THE COMMON AREA AND TO UPDATE THE CURRENT TERMINATION CLASS CODE. INPUTS: OUTRUTS: REGISTERS: CALLS: 017537 013702 062702 010237 006237 016503 005002 002524 003454 177761 003450 003450 002544 020227 001405 012362 062702 000020 000770 002354 000002 003454 : MOV MOVMSG: MOV BIC MOV ASR MOV 501208: CLR R2, R3. @TSSR(RS) ,TSSREG TSSREG,R2 #1SC.TCC,R2 R2,CTCC CTCC MSGPKA(RS) ,R3 R2 (MP 8EQ MOV ADD R2,AMSGCNT 501218 (R3) + ,MSGPKT (R2) #2_.R2 BR 501208 SFREEZE THE STATUS REG CONTENTS SEXTRACT THE TERMINATION CLASS CODE, ¢AND SAVE sADR OF T THIS DEVICE'S MSG. sCLR COUNTER., sWHILE THERE ARE MORE LOCATIONS: sMOVE MSG TO COMMON AREA. sUPDATE COUNTER. 6 Gl GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1927 013010 1928 013010 }g%g 013016 013737 000207 25-MAY-82 09:51 002362 003502 1931 1932 1933 1934 }ggg 005065 1949 013072 000431 1953 013104 1954 013112 1955 013114 1956 013122 }gg; 013126 032737 001425 032737 001007 032737 001002 005265 1959 013130 1960 1961 013130 1962 013132 1963 013132 1964 013140 1965 013142 1966 013150 }ggg 013152 105737 001057 005365 032737 001046 032737 001442 105237 023727 001003 003465 003376 000001 003450 100000 002366 003465 003420 102010 004000 003420 000400 003420 000400 003424 1983 013164 SEQ 0080 MSGPKT+MS.XS0,EOTFLG PC JMOVE XSTATO TO EOT FLAG. H : : H SUBROUTINE TO ADJUST THE RECORD COUNT. INPUTS: OUTPUTS: REGISTERS: RECUD:: TSTB BNE DEC 8IT BNE BIT BEQ INCB CMP BNE CLR RECLOG s IF RECORD HAS NOT BEEN LOGGED: 501229 RECCNT(RS) SLET RECCNT(RS5) := RECCNT(RS) - m #8110,CTCC s IF TAPE MOVED 501238 #X2.0PM_ MSGPKT+MS . XS2 50123% RECLOG sSET RECORD LOGGED, CMDWRD , #RWD sIF THIS IS A REWIND CMD: 501248 RECCNT(RS) sCLEAR RECORD COUNT, BR 50125% BIT BEQ 8IT BNE 8IT BNE INC #8RF . C,CMDWRD 50126% #M0D . CO, CMDWRD 50127% #MOD. CO,PCMDWD 501308 RECCNT(RS) BR 501318 BIT BEQ 8IT BNE DEC #MOD. CO,PCMOWD 501328 #X0.807T,EOTFLG(RS) 50133% RECCNT(RS) MoV RECCNT(RS) ,@DATAWT 501248: 003376 CALLS: :1F BRF USED, UPDATE RECORD COUNT. sIF A FORWARD CMD: sIF PREV (MD WAS A FWD ALSO: s INCREMENT RECORD COUNT. 501308: 000412 032737 001406 032765 001002 005365 000400 003424 000002 003502 50127s: 003376 ¢ IF REVERSE CMD: s1F PREVIOUS CMD WAS A REV ALSO: sWHEN NOT AT BOT THEN sDECREMENT RECORD COUNT. 50133s: 50132s: 50131s: 1974 %gg} 013156 MOV RTS 003376 1969 013156 1970 1971 013156 1972 1973 013156 1975 1976 013156 1977 1978 013156 1979 1980 013156 501218: : 1937 013020 1938 013024 1939 013026 1940 013032 1941 013040 1642 013042 1943 013050 1964 013052 1945 013056 1946 013064 }gzg 013066 1950 013074 1951 013074 1952 013102 PAGE 20-34 501268: 50125$: 016577 003376 170222 501238: 50122%: sLET QIDATAWT := RECCNT(RS) GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 1984 013164 1985 1986 25-MAY-82 09:51 PAGE 20-~35 SEQ 0081 060207 RTS THIS 1987 2004 013220 2 2006 013220 2007 013220 2008 013226 2009 013230 2010 013236 2011 013240 2012 013240 2013 013246 2014 013250 2015 2016 013254 2017 013256 %818 013256 19 2020 013262 2021 2022 013262 2023 013264 2024 013264 2022 2026 013270 2027 013270 2028 013272 2029 2030 013276 2031 013300 2032 013300 2033 013306 2034 013310 2035 013314 2036 013316 2037 013322 2038 013324 2039 013330 2040 013332 1S THE ERROR CHECK SUBROUTINE. AFTER INTERRUPT THIS IF THE RFC IS NON ZERO FOR A COMMAND REQUIRING A BPCR, THEN AN ERROR RFC 1991 200% 013214 sRETURN. SUBROUTINE IS CALLED TO CHECK THE TSOS STATUS. IF SPECIAL COND IS SET THEN THE TCC HANDLING SUBROUTINE IS ENTERED. 1988 1989 1990 1992 1993 1994 1995 PC INPUTS: OUTPUTS: REGISTERS: CALLS: 032737 001441 023727 001405 105737 001002 005265 100000 003454 003450 000002 : BIT CHKERR: 1S REPORTED, R2, R4. TCCO-TCC?. #TS.SC,TSSREG ;IF SPECIAL COND STAT T THEN: JIF TCC IS NOT 2 THEN: 003471 003336 s1F NOT IN ERROR RECOVERY: BNE INC 501368 SCCNT(RS) 8IT BNE BIT BEQ #TS.NXM,TSSREG sINC SC COUNTER. : 501368 032737 001004 032737 001412 004000 003454 040000 003454 032737 001003 012702 100000 002366 50137s: 501418: 000004 sWHEN NON-EXISTANT MEMO 50137¢ ‘ #1S.UPE,TSSREG 501408 8IT #X2.0PM MSGPKT+MS. XS2 :AND TAPE NOT M MoV #5,R2 sSET TCCS INDEX B8R 501428 MoV #4,R2 BR 50143% MOV CTCC.R2 ASL JSR R? PC,aTCCRA(R?2) BR 501448 8IT #BRF .C,CMDWRD BNE 000005 000402 012702 50135$: 501418 CVED :TAPE MOVED, SET TCC4 INDEX 501428: 000402 073702 006302 004772 : 501408 003450 50143%: 013372 000426 032737 001422 005737 001417 105737 001403 105737 0014611 004000 003420 501348%: 002360 sSET DETECTED TCC ;CURRENT TCC X 2. ;60 (0 THE "CC HANDLING SUBROUTINE. JIF BRF +MS. 003515 B8EQ 003516 50147%: TST18 BEQ 50147% VFYFLG 501508 INDEX JIF . ANDOM EQ #0 IS USED THERE IN TH IS AN RFC ORB VFYF MDT THEN: #0T LG NE #0 THEN : G Gl GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2041 2042 2043 105737 001006 005265 25-MAY-82 09:51 PAGE 20-36 SEQ 0082 TST8 BNE 003521 003356 INC ERRHRD 1046456 2046 20647 013354 2048 2049 013354 2050 2051 013354 2052 2053 013354 2054 2055 013354 2056 013354 2057 013360 2058 013362 2059 2060 013370 2061 013370 2062 2063 2064 2065 013372 2066 013374 2067 013376 2068 013400 2069 013402 2070 013404 2071 013406 2072 013410 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 IRE 501518 HRDCNT (RS) 13,RFCERM,STAERM M IF RFélERggz énga¥g02R2RAIFOC28 WED : 15 wiv: t JUPDATE HARD ERROR COUNT JREPORT RFC ERROR 000015 004521 006120 TRAP CS$ERHRD .WORD .WORD RFCERM STAERM .WORD 13 50151$: : 501508 501468$: 50145S: 105737 001403 013737 : 501448 003467 003422 002330 501528: 000207 T1ST8 BEQ RWERR 507528 MOV CMDSAV,CMDPKT RTS PC ADDRESSES OF 013412 013430 013446 013556 TCCRA: 013574 014210 014306 014450 sIF A READ/WRITE ERROR HA S OCCURRED T THEN : sRESTORE CMD PACKET AFI1ER ERROR RECOV. ;RETURN, TCC HANDLING ROUTINES FOR TERMINATION CLASS CODES O - 7. TCCO TcQ1 TCC2 TCC3 TCC4 TCCS TCC6 TCC7 SP AL EFINED SPECI SUBROUTINE TO HANDLE TERMINATION CLASS CODE 0. UNDEFINED CONDITION ERROR. INPUTS: OUTPUTS: REGISTERS: CALLS: 005265 104456 000005 004475 006120 000207 003356 TCCO:: INC ERRHRD HRDCNT(RS) S5,SCERM,STAERM -UPDATE HARD ERROR COUNT. cREPORT SPECIAL CONDITION ERROR. TRAP CSERHRD 'WORD STACRM .WORD RTS PC JRETURN, § SUBROUTINE TO HANDLE TERMINATION CLASS CODE 1, ATTENTION CONDITION. THIS TCC INDICATES THAT THE DRIVE HAS UNDERGONE A STATUS CHANGE ?ggsrgs GOING OFFLINE OR COMING ONLINE. G Gl e GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2090 2091 2092 2093 2094 013430 013430 013432 013434 013436 2095 013440 2096 013444 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 013446 2107 013454 2108 013456 2109 013462 2110 2111 013464 2112 2113 013466 2114 013466 2115 2116 2117 013474 2118 2119 013476 2120 013502 2121 013506 2122 013510 2123 013512 2124 2125 013512 2126 013516 2127 013520 2128 013524 2129 013526 2130 2131 013532 2132 013534 2133 013534 213t 2135 013540 2136 013540 2137 013544 013544 013546 013550 013552 25-MAY-82 09:51 PAGE 20-37 SEQ 0083 OUTPUTS: REGISTERS: CALLS: TCCT:: 104455 000006 004603 006120 004737 000207 017156 ERRDF JSR RTS R2.R& DROPU 6,ATTNM,STAERM JREPORT ATTENTION=-UNIT OFF LINE. TRAP CSERDF PC,DROPU ;DROP THE UNIT. PC .WORD .WORD .WORD 6 ATTNM STAERM :RETURN, SUBROUTINE TO HANDLE 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, BOT, EOT. INPUTS: QUTPUTS: REGISTERS: CALLS: 032737 001404 105737 001401 000002 002362 TCC2:: 003514 170002 002362 50153s: 001427 105737 001403 105737 001421 105737 001016 105737 001403 105237 003515 003516 50155%: 003521 003336 005265 003356 104456 000007 004705 006120 EXPBOT BR TC2RTN BIT #X0.RLS!'XO.RLL!'X0.TMK!'X0.LET!X0.80T ,MSGPKT+MS.XSO JIF #X0.RLS!XO0.RLL'X0.TMK!XO.LET!X0.BOT SETIN MSGPKT+MS.XSO THEN BEQ 501548 TST8B BEQ TST8B BEQ RANDOM 50155% VFYFLG 50156$% 1ST8 IRE 501608: 50161$: 501538 50153% ;IF AT BOT AND BOT IS EXPECTED: JRETURN=-TCC2 CAUSED BY EXPECTED BOT. sIF TCC2 CAUSED BY ANYTHING BUT EOT: ;1FB RANDOM EQ #0 ORB VFYFLG NE #0 THEN 501578 TST8 ERRREC INCB UNREC B8R 50161$ INC SCCNT(RS) INC ERRHRD HRDCNT (RS) 7,TSAM,STAERM BEQ 003470 005265 TST8 BNE 003471 000402 #X0.80T ,MSGPKT+MS. XS0 BEQ BEQ 000433 032737 BIT 501608 -IF NOT IN RANDOM OR IF CMD IS WTV: JIF RFC ERROR REPORTS ARE ALLOWED: ;IF WE ARE IN ERROR RECOVERY THEN: ;SET UNRECOVERABLE FLAG FOR LOG. JELSE = IF NOT IN ERROR RECOVERY: s INCREMENT THE SPEC COND COUNTER. JUPDATE HARD ERROR COUNT, JREPORT TAPE STATUS ALERT. TRAP CSERHRD -WORD .WORD TSAM STAERM .WORD 7 e —_—— GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 25-MAY-82 09:51 2139 013554 501548 : 000207 TC2RTN: ; : 2150 : 2151 2152 2153 g}gg b b d 57 013566 104455 000010 004622 006120 004737 000207 b Coe Be 0y 0, 05 8085 09, 0,808,000 " d b b md D b d O oo b D - ~ d ad b d b d D e b e ~ - e -] b b b e b cd 80 0136064 81 013610 82 013612 83 013616 84 013620 85 013624 86 013626 013626 [\ V] ERRDF 013630 013632 013634 105737 001522 105737 001007 105737 001404 104457 000011 005017 006120 003426 002210 003471 002207 000002 7TCC4:: ILC, WLE, ILA, AND NBA. R2,R4 CALLS: JSR ;g 023727 001125 RMR, OFL., V(K, 80T, TCC3:: : JRETURN, SUBROUTINE TO HANDLE TERMINATION CLASS CODE 3, FUNCTION REJECT. THE SPECIFIED FUNCTION WAS NOT INITIATED. BITS OF INTEREST ARE RTS 72 73 74 75 PC INPUTS: OUTPUTS: REGISTERS: 017156 60 78 013574 79 013602 RTS : ; : : gg 013572 SEQ 0084 501568 : 2147 2148 2149 2156 013556 013556 013560 013562 013564 7 50157%: 2140 2141 013554 2142 %}22 013554 %}22 013554 6 PAGE 20-38 DROPU 8,FUNRM,STAERM SREPORT FUNCTION REJECT. PC,DROPU ;DROP THE UNIT. PC TRAP .WORD .WORD .WORD CSERDF 8 FUNRM STAERM cRETURN, 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 [SSUE THE APPROPRIATE RETRY COMMAND. 2 WRITE-ERROR-RECOVERY ALGORITHMS CAN BE SELECTED: 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 1S PRINTED AND THE UNIT DROPPED. THE SECOND ALGORITHM ISSUES THE TSOS WRITE RETRY COMMAND UP TO 16 TIMES BEFORE DROPPING THE UNIT OR PROCEEDING WITH THE NEXT RECORD ON RECOVERY. INPUTS: OUTPUTS: REGISTERS: CALCS: C(MP BNE 1ST8 BEQ 1ST8 BNE 1ST8 BEQ ERRSOFT CMDLG, #2 501629 R2,R4. RTLE, EXCUTE, GOWAIT, DROPU, WRTY s1F CMDLG EQ #2 ANDB BADTSW NE #0 THEN BADTSW 50162% ERRRE C :1FB ERRREC EQ #0 ANDB ERCVER NE #0 THEN 50163% ERCVER 50163% 9,RERM,STAERM ; TRAP .WORD .WORD .WORD CSERSOF T 9 RERM STAERM GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2188 013636 2189 013636 2190 013642 2191 013644 2192 013650 2193 0136564 2194 013660 2195 2196 013662 2197 013670 2198 013676 2199 013706 ggg? 013710 25-MAY-82 09:51 105737 001102 105237 105237 105737 001072 002213 013737 013737 013737 105237 105237 003420 002330 002336 003467 003463 005265 005037 105037 004737 105737 001404 027727 103761 003316 003460 003462 014614 003464 027727 103423 167534 012746 012746 010600 104414 062706 004737 005365 004737 (005065 012775 015155 000001 000004 015274 003376 017156 003376 002350 2222 014030 2223 014030 2224 014034 Sgsz 014040 105037 105237 013737 003463 003531 015064 2233 014054 2234 2235 014054 2236 014056 2237 0164056 2238 014062 2239 014070 501638: 003471 003464 003463 2202 013714 2203 013714 2204 013720 2205 013724 2206 013730 2207 013734 2208 013740 2209 013742 2210 013750 2211 013752 2212 2213 013752 22164 013760 2215 013762 013762 013766 013772 013776 013776 2216 014002 2217 014006 2218 014012 2219 014016 Ssg? 014022 2227 014046 2228 2229 014046 2230 014050 ssg; 014050 PAGE 20-39 167544 015064 015062 015066 7578 BNE INCB INCB 7ST8 BNE MOV MoV MoV INCB INCB 50166$: 000050 50167%: 000050 002514 50170s: 003424 IREC 501648 ERRRE( WRTYER WRTYFG 50165% SEQ 0085 :1FB IREC EQ #0 THEN cRETRY FLAG FOR EXCUTE SUBR: DON'T UPDATE REC (N ;REWRITE ERROR FLAG FOR WRTY SUBR sFIRST RETRY ON THIS RECORD: SUBSEQUENT sRETRIES WITH TCC4 ERRORS BY=-PASS THIS SECTION CMDWRD ,WTYWRD ;SAVE WRITE COMMAND PACKET CMDPKT ,WTYCMD CMDPKT+CP.CNT ,WTYBRF RWERR sLOG SUBR FLAG: COUNT WRT ERRORS WRTYFG sRETRY IN PROGRESS FLAG INC CLR CLR8 JSR TST8 BEQ cmp 8LO sREPEAT WRTYCT(RS) RETRY( RPTCNT PC,WRTY WRTYER 50167% aBTPT, #40. 50166$ cMP BLO PRINTB aBTPT #40. 50170% #BTMSG2 JSR DEC JSR CLR MoV PC,B0RERS RECCNT (RS) PC,DROPU RECCNT(RS) #RWCPK ,3TSDB(RS) sREWIND UNIT CLRB INCB MoV WRTYFG MISCFG WTYWRD ,PCMDWD sRETRY COMPLETE FLAG sDO NOT HALT ON THIS CMD FLG sRESTORE ORIGINAL WRT (MD AFTER RECOVERY B8R 501718 INCB UNREC BR 50172% JSR cmp PC,RTLE CMDLG, #2 sCOUNT GLOBAL WRITE RETRIES cCLEAR # OF RETRIES PER RECORD sCLEAR # OF REPEATS sCALL WRITE RETRY sREPEAT RETRIES ON SAME RECORD SUNTIL RECOVERED OR 20 BAD SPOTS sWHEN 20 BAD SPOTS LOGGED sPRINT BAD TAPE OVERFLOW MSG MOV MOV MOV TRAP ADD ;ERASE BAD RECORD ;DROP UNIT 50165$: 000402 105237 501648 : 003470 sLET UNREC :B= UNREC + 41 ; 50171$: 000454 004737 023727 003411 014466 003426 50162%: 000002 BLE 50173§ #BTMSG2,~(SP) #1,-(SP) SP,RO CSPNTB #4,5P sCHECK FOR RETRY LIMIT EXCEEDED. :1F READ CMD THEN: GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2260 014072 2241 014076 2242 014100 2243 014104 2264 014106 2245 2246 014114 2247 2248 014114 2249 014114 2250 014120 2251 014122 2252 2253 012702 006202 023702 002403 052737 25-MAY-82 09:51 SEQ 0086 000020 003460 020000 :gx :SRECL.RZ CMP RETRYC,R2 BLT BIS 002330 :R2=READ RETRY COUNT LIMIT / 2 501748 #OPP.C,CMDPKT ;1F RETRY COUNT IS MORE THAN WALF LIMIT: ;SET O"POSITE BIT FOR RETRY2. 50174%: 005737 001007 105737 001404 501738: 131 003460 BNE 002207 TST8 BEQ 104457 005237 052737 105737 001011 105237 012602 012602 004737 000137 Y 50175$ ;1F THIS 1S THE ORIGINAL ERROR THEN: E ERCVER 50175$ :REPORT RECOVERABLE ERROR TRAP .WORD "WORD "WORD co1755. 003460 001000 002213 003470 50176%: RETRYC BIS #MOD.C1,CMOPKT BNE INCB MOV 501768 ERRREC (SP)+,R2 TST8 012054 012364 CSERSOFT 9 RERM STAERM ;PROVIDED OPERATOR HAS ENABLED THE REPORT " INC 002330 003471 000402 105237 RETRYC ERRSOFT 9,RERM,STAERM 000011 005017 006120 2255 014140 2256 014140 2257 014144 2258 014152 2259 014156 2260 014160 2261 014164 2262 014166 2263 014170 2264 014174 2265 2266 014200 2267 014202 2268 014202 2269 2270 014206 2271 2272 014206 2273 014206 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 014210 2284 014214 2285 014220 2286 014222 014222 014224 014226 014230 2287 014232 2288 014232 PAGE 20-40 IREC MOV JSR JMP (SP)+.R2 PC.EXCUTE GOWAIT R c01775 INCB UNREC ;UPDATE RETRY COUNT. :SET RETRY BIT IN CMD PACKET. *1F ERROR RECOVERY ENABLED: ;SET ERROR RECOVERY FLAG. ;POP 2 RTN ADRS FROM STACK. ;60 EXECUTE THE RETRY COMMAND. :EESEA{; 2320£~£E?832; + CHECK STATUS. . Y IS NOT ENABLED : ;SET UNRECOVERABLE ERROR FLAG. 50177$: 501728 000207 ; : ; : : : : 004737 005737 001004 014466 003460 :RETURN SUBROUTINE TO HANDLE TERMINATION CLASS CODE 5. RECG.ERABLE ERROR. TAPE POSITION HAS NOT CHANGED. RECOVERY PROCEDURE IS TO LOG THE ERROR AND RE~ISSUE THE ORIGINAL COMMAND. INPUTS: ; OUTPUTS REGISTERS : R2,R4. CALLS: RTLE, EXCUTE, GOWAIT, DROPU. BNE 502008 ERRSOFT 10,RERM,STAERM 104457 000012 005017 006120 005237 RTS PC : ;REPORT RECOVERABLE ERROR. NAL ERPOR L ERPOR 003460 CSERSOFT .uo:o RERM "WORD INC RETRYC sUPDATE RETRY COUNTER. THEN TRAP WORD 502005 THEN: 10 STAERM GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2289 014236 2290 014242 2291 014244 2292 014250 2293 014254 2294 014262 2295 014264 2296 014266 2297 014272 2298 2299 014276 2300 014300 %%8} 014300 2303 014304 2304 014304 5300 105737 001016 105237 005265 016577 012602 012602 004737 000137 25-MAY-82 09:51 002213 003471 003376 003376 012054 012364 50201%: 003470 50202$: 000207 2307 2308 2309 2310 2311 2312 2313 2314 2315 5%}9 2318 0164306 2319 014314 2320 2321 014316 2322 014322 2323 014324 S%Sé 014330 2326 014334 2327 014334 014334 014336 014340 014342 2328 014344 2329 2330 014350 2331 014352 2332 014352 2333 014356 2334 014362 2335 014364 014364 014366 014370 014372 2336 2337 014374 TST8 BNE INCB INC MOV MOV MOV JSR JMP 167124 000402 105237 PAGE 20-41 033737 001016 000010 005737 001404 105237 105237 003426 002370 004737 005737 001004 UNREC RTS PC sSET UNRECOVERABLE ERROR FLAG. JRETURN. 7CC6:: BIT BNE . 017156 014466 003460 INCB 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: R2, Ré 003467 003470 000436 BR IREC ;IF ERROR RECOVERY 1S ENABLED: 50201¢ ERRREC sSET ERROR RECOVERY FLAG. RECCNT(RS) ;UPDATE REC COUNT RECCNT(RS) . aDATAWT JAND INSERT IT INTO WRT BFR (SP)+ ,R2 JPOP 2 RTN ADRS FROM STACK. (SP)+,R2 PC,EXCUTE GO RE-ISSUE THE COMMAND. GOWA]T ;G0 WAIT FOR INTERRUPT ¢ CHECK STATUS. JELSE IF ERROR RECOVERY IS NOT ENABLED: 502028 N 2 . : . : : : . 502048 : 104455 000013 005041 006120 004737 SEQ 0087 502038: 104457 000013 005041 006120 502068: CALLS: RTLE, WSSR, EXCUTE, GOWAIT, DROPU TST BEQ INCB INCB X3.DCK ,MSGPKT+MS . XS3;IF X3.DCK NOTSETIN MSGPKT+MS.XS3 THEN 50203% sIF THERE ]S NO DENSITY CHECK THEN: CMDLG JIF CMD IS A READ OR WRITE THEN: 50204$ RWERR JSET RD/WR ERROR FLAG, UNREC JSET UNRECOVERABLE ERROR FLAG. ERRDF 11,URERM,STAERM JSR PC,DROPU B8R 50205% JSR TST BNE ERRSOFT PC,RTLE RETRY( 50206$ 11,URERM,STAERM JREPORT UNRECOVERABLE ERROR. TRAP CSERDF LWORD 11 .WORC URERM .WORD STAERM ;REPORT ERROR + DROP UNIT. JELSE-IF THERE IS DENSITY CHECK: JCHECK FOR RETRY LIMIT EXCEEDED. JIF THIS IS THE ORIGINAL ERROR THEN: sREPORY DENSITY CHECK ERROR TRAP .WORD .WORD .WORD CSERSOFT 11 URERM STAERM — GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION AY AT AN AR T N1 S T NT N1NT.NT,¥7,81,87 ¥ 2338 014374 2339 014400 2340 014406 005237 105737 25-MAY-82 09:51 PAGE 20-42 SEQ 0088 003460 003521 002514 343 014420 346 014424 (V] m\h\hbl\ 9 014440 0 014442 1 0146442 000137 000402 50207%: 105237 52 014446 55 014446 56 014446 2368 014450 014450 014452 014454 014456 2369 014460 2370 014464 BNE INCB 50207$ ERRREC sUPDATE RETRY COUNT, IRE s IF 502108 INCB UNREC RTS PC IS ENABLED THEN: cSET ERROR RECOVERY FLAG, #RWCPK ,@TSDB(RS) PC,WSSR (SP)+,R2 (SP)+,R2 PC,EXCUTE GOWAIT BR ERROR RECOVERY sISSUE A REWIND COMMAND, ;WAIT FOR SUBSYSTEM READY, ;POP 2 RTN ADRS FROM STACK. ¢REISSUE THE COMMAND, JWAIT FOR INTERRUPT sELSE-IF ERR REC DISABLED: sSET UNRECOVERABLE ERROR FLAG. 502108: : 502058 000207 1046455 000014 004642 006120 004737 000207 sRETURN Ve Ve Be %, 0 By 0, 0, 0, AN NN N NN NN NN W 8 RETRY( MOV JSR MOV MOV JSR JMP 345 014426 46 0146430 7 014434 INC 1ST8 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: QUTPUTS: REGISTERS: R2. Ré& CALLS: TCC?:: ERRDF 12,FATSM,STAERM sREPORT FATAL SUBSYSTEM ERROR. TRAP CSERDF .WORD .WORD FATSM STAERM .WORD 017156 JSR RTS PC.DROPY PC ;DROP THE UNIT. 12 JRETURN, SUBROUTINE TO CHECK FOR RETRY LIMIT EXCEEDED. PRINTS ERROR MESSAGE IF EXCEEDED AND DROP UNIT UNLESS COMMAND IS A READ. INPUTS: OUTPUTS: REGISTERS: CALLS: 005737 001010 014476 014500 014502 2383 014504 2384 014510 2385 014512 2386 003426 104455 000013 005041 006120 004737 012602 000437 017156 RTLE:: R2, R4. DROPU TST CMDLG ERRDF 11,URERM,STAERM ;REPORT UNRECOVERABLE ERROR. BNE JSR MOV BR 502118 PC,DROPU (SP)+,R2 RTLRIN JIF CMD IS NOT A READ OR WRITE THEN: TRAP MWORD .WORD .WORD ;DROP THE UNIT, ;POP RTN ADRS FROM STACK. ¢AND RETURN. CSERDF 11 URERM STAERM Gl Gl GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2405 014610 2406 014612 2407 2408 014612 2609 014612 2610 2611 2412 2413 2614 2415 2616 2417 24 2427 014614 2428 2429 014614 2430 2431 2432 014614 2433 014614 2434 014620 2435 014624 003460 000020 003470 012602 502138$: 000020 502128: 50215%: 502148$: 000207 PTLRTN: WRTY:: 015274 003464 015450 502218 JIF CMD IS A WRT OR WTM: UNREC JIF RETRY COUNT HAS REACHED LIMIT: / JSET UNRECOVERABLE FLAG 14 ,RLEXM,STAERM ;REPORT RETRY LIMIT EXCEEDED. TRAP .WORD .WORD .WORD PC,DROPY (SP)+,R2 BR 502148 CMP RETRYC,#RRECL ;IF RETRY COUNT HAS REACHED LIMIT: INCB UNREC sSET UNRECOVERABLE FLAG sDROP_THE UNIT. 14 ,RLEXM,STAERM ;REPORT RECOVERABLE ERROR. RTS PC TRAP +WORD .WORD .WORD ;POP 2 RTN ADRS FROM STA(K. sRETURN SUBR TO REWRITE A BAD, BUT RECOVERABLE WRITTEN RECORD. REWRITE RECORD ON SAME SPOT: REPEAT 4 TIMES. IF ALL & REPEATS GOOD, RECORD IS RECOVERED AND A RECOVERABLE WRITE ERROR IS LOGGED. IF ANY OF & REPEATS BAD, ERASE BAD RECORD, LOG SUSPECTED BAD SPOT, RETRY AGAIN. RETRY & 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, : INPUTS OUTPUTS: REGISTERS: CALLS: R3,R4 BORERS, REWRT SPOTS MAX ARE ALLOWED. ;BEGIN RETRY +BEGIN REPEAT CLRB JSR PC,BORERS WRTYER PC,REWRT 14 RLEXM STAERM ;POP 2 RTN ADRS FROM STA(CK. 502158 (SP)+,R2 " JSR CSERDF ;ELSE = CMD IS A READ: MOV 502178 004737 105037 004737 CMDLG,#2 JSR MOV ERRHRD 106456 JSET READ/WRITE ERROR FLAG. RETRY(C ,#MJRECL 50213$ BNE 003470 000016 004556 006120 012602 50212§ INCB 017156 003460 BNE ERRDF 000413 023727 001007 105237 RWERR CMP BNE 7 SEQ 0089 INCB CMP N PN P TN T T 014604 014606 000002 L PAGE 20<43 502118 003467 003426 AR TR N P NI PR TN P TN 2387 014514 2388 014514 2389 014520 2390 014526 2391 014530 2392 014536 2393 014540 2394 014544 014544 014546 014550 014552 2395 014554 2396 014560 2397 014562 2398 2399 014562 2400 014564 2401 014564 2602 014572 2403 014574 2404 014600 014600 014602 25-MAY-82 09:51 [E 20 BAD JREPEAT cREPEAT sBACKSPACE/ERASE ONE RECORD sCLEAR WRITE RETRY ERROR ;REWRITE RECORD ON SAME SPOT CSERHRD 14 RLEXM STAERM G [ GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 24636 014630 2437 014634 2438 014642 2439 014644 2440 014650 2441 014652 2442 2443 014652 2644 014652 2445 014656 2446 014662 2647 014664 2448 2449 014666 2450 014666 2451 014672 2452 014674 014674 014676 014702 014706 014712 016216 014720 014722 2453 014726 2454 014726 2455 014734 2456 014736 2457 014744 2458 014750 2459 014754 2460 014760 2461 014764 2662 014766 2463 014772 26464 014774 2465 2466 015000 2467 2468 015000 2469 015000 2470 015006 2471 015010 2472 2473 015014 2474 015014 2475 015022 2476 2477 015024 2478 015024 2479 015030 2480 015032 2481 015036 2482 015040 015040 015044 123727 001403 105737 001 005237 105737 001001 000457 105737 001415 005046 153716 013746 012746 012746 010600 104414 062706 023727 001021 016537 017704 062704 010477 020427 101005 013703 060304 016514 25-MAY-82 09:51 003462 003462 PAGE 20-44 SEuw 0090 000004 003464 50222%: : 502208 003460 003464 INCB RPTCNT TST8 WRTYER cMPB BEQ BEQ 502238$: sLIMIT: 4 REPEATS OR RECOVERED 502218 <END REPEAT INC RETRY( s COUNT RETRIES BNE BR 50223$ 50216% ;EXIT RETRY LOOP IF RECOVERED TST8 002207 s COUNT REPEATS RPTCNT ,#4 50222% WRTYER 1ST8 ERCVER PRINTB #BTMSG1,RETRY(C,<B,RPTCNT> BEQ :IFB ERCVER NE #0 THEN 50225% 003462 003460 015070 000003 000010 003460 000001 002616 166542 000002 166532 000050 003512 50225%: MOV Mov TRAP ADD CMP BNE MOV CMP R4 ,3BTPT R4 440, ;1IF R4 LOS #40. MOV ADD MOV 8TPT.R3 R3, R4 RECCNT(RS),(R4) ;STORE FIRST 20 BAD SPOTS SLET R4 := R4 + R3 :LET (R4) := RECCNT(RS) INCB ERSFLG #2 R4 50227 #3,-(SP) SP,RO CSPNTB #10,5P sON FIRST RETRY, LOGG BAD SPOT BTADDR(RS) ,BTPT aBTPT R4 BHI 003376 RETRYC,. M 50226% MoV MOV ADD 003512 ¢PRINT SUSPECTEDCBAD SPOT( ; ~(SP LR 81S8 RPTCNT, (SP) MoV RETRY(C,=(SP) MOV #BTMSG1,~(SP) sBTPT 1S BOTH THE BAD SPOT COUNTER sAND THE LOGGING INDEX THEN ; : 50227$: 105237 105037 105037 003525 003467 003462 023727 001274 003460 1 003464 0 1 0 002207 0 0 015225 000001 502268: CLRB CLRB 000004 502248: 502168: sERASE FLAG TO ERASE BAD RECORD sCANCELL ''LOG'* ERROR FLAG ON FAILING RET RWERR RPTCNT sCLEAR REPEAT COUNT FOR NEXT RETRY CMP BNE RETRYC,#4 50217% TST8 WRTYER 1ST8 ERCVER PRINTB #BTMSG3 sLIMIT: & RETRIES cEND RETRY 8EQ BEQ 502308 50231% IFB WRTYER NE #0 THEN :IFB ERCVER NE #0 THEN ¢PRINT RETRY FAILED MOV MOV #BTMSG3,-(SP) #1,-(SP) b b d md oD e b b d b b 2494 2495 b b b b wmd d b o A od b e o od D b —d b b b O = b e e wd = OO D b d ek ek[ T LY o Y gy b b wd (O O = ad O = b mh b b b b b —d v mcd —d PONLHSBWOOONIONINONIMNIN IVINVWVIWN = NSNS W= S OW OO bbb cd ad D) VOO ONWNO\OV VIS =W BTMSG2: =S WO HOOHNONNIN SNNOWVINODTM B =ONIN BTMSG1: OO = OOQ bt ) b = ek —b GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION — HSNH=O0ONONHONHOS OO 015070 015073 015076 015101 B/ OO=DO00MNO NN = O NI NN — 000000 000000 000000 Naan=0NYNIND 015062 015064 015066 BLD2ODANSON=ON = 000207 b b b &~ OCOOH=-N)=2N) 015060 015060 QOO wd emd b © =b 062706 OOWVININO=O=N0 010600 104414 b ek ) b cnd ad cod b wnd ) b =D ONWVN= RO 200WOHNRO=0ONO N=2OHOOO VIO NONI NV = =2 ANWVNO OIS NOMNI S NO =N o 015050 015052 015054 -t b O COWVWNE S B UWWNWNNININ = 2 200NN NO OOV WOWVNINE =W OWVS = ONNOWVINI NS = O WO VWO W hod It a i ab L gV AV AV NV AV L LV AV IV IV TV IV IV IV IV IV IV IV IV IV IV 1V 1V ] PONININLINLNLALNINL NI NINININININININ) —2 b b b b cd b b b b ond b b b b =lelelelelelelelelelalelelalolelelelalelelelelatoleleleleleYaYetaYa) — 25-MAY-82 09:51 015060 PAGE 20-45 SEQ 0091 000004 Mov TRAP ADD : 502308 RTS PC WIYCMD: WIYWRD: WTYBRF: .WORD .W0°D .WORD O O 0 .ASCIZ /XASUSPECT BAD SPOT AFTER XD1%A RETRY, %D1XA REPEATIN/ .ASCIZ /XNXABAD TAPE OVERFLOW: CHANGE TAPE!ININ/ BTMSG3: .ASCIZ sSTORAGE FOR WRITE CMD WORD WHILE RETRYING sSTORAGE FOR WRITE BPCR WHILE RETRYING :STORAGE FOR WRITE CMD WHILE RETRYING /XARETRY FAILED ON BAD SPOT...ERASED'IN/ #4,SP SP,RO CSPNTB 502318: GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 045 2 2505 015274 2506 015302 2507 015310 2508 015316 116 003420 104410 003420 004000 002330 000001 003426 011064 012054 012364 017456 003525 2509 015324 2510 015332 2511 015340 2512 015344 2513 015350 2514 015354 2515 015360 2516 015364 2517 015370 2518 015372 2519 015400 2520 015406 2521 015414 2522 015422 2523 015426 2524 015432 2525 015436 2526 015442 2527 2528 015446 2529 015446 2530 2531 2532 2533 015450 2534 015456 2535 015464 2536 015472 2537 015500 2538 015506 2539 015514 2540 015522 2541 015526 2542 015532 2543 015536 2544 015542 2545 2546 2547 2548 2549 SEQ 0092 000 .EVEN Be Ve B %o O, 01527 PAGE 20-46 ®o 2496 2497 2498 2499 2500 25-MAY-82 09:51 003420 100411 013737 004737 004737 004737 004737 105037 003420 002330 011064 072054 012364 017456 003525 003424 003420 002330 002330 003422 002332 SUBR TO BACSPACE ONE RECORD IF THE ERASE FLAG IS SET, THEN ERASE THAT RECORD INPUTS : ERSFLG = DO ERASE OUTPUTS: REGISTERS: CALLS: EXCUTE, GOWAIT, CKHAE : :MOv BORERS MOV MOV CMDWRD ,PCMDWD #SRR, CMDWRD CMDWRD , CMDPKT MOV MoV CLR JSR JSR JSR JSR CMDPKT,CMDSAV CMDPKT ;LET CMDSAV : N #1,CMDPKT+CP,ADL LET CMDPKT+CP.ADL CMDLG ;LET CMDLG := #0° PC,CMDAC PC,EXCUTE PC,GOWAIT PC,CKHAE BEQ 50232% BIC TST8 003424 003420 002330 003422 CMDWRD , PCMDWD #ERS , CMDWRD CMDWRD , CMDPKT CMDPKT,CMDSAV JSR PC.GOWAIT PC.,CMDAC PC.EXCUTE JSR CLRB PC, CKHAE ERSFLG RTS PC TO SPACE REV #SRR CMDWRD CLR BY #BRF.C := " ;WHEN ERASE FLAG IS SET, DO ERASE ERSFLG MOV MOV MOV MOV JSR JSR 502328%: 000207 #BRF . C,CMOPKT :SET COMMAND :LET CMDWRD : <LET CMDPKT : sLET sLET sLET sLET PCMDWD CMDWRD CMDPKT CMDSAV : : : : CMDWRD ; #ERS M CMDWRD : CMDPKT sLET ERSFLG :8= #0 SUBR TO REWRITE A BADLY WRITTEN RECORD 000207 003420 015064 015062 002330 003406 015066 000002 011064 012054 012364 017456 003424 003420 002330 003422 002332 002336 003426 REWRT:: MoV MOV MOV MOV MOV MOV MOV JSR JSR JSR JSR RTS CMDWRD , PCMDWD sRESTORE WRIT E COMMAND PACKET WTYWRD, CMDWRD WIYWRD sLET CMDWRD : WTYCMD, CMDPKT WTYCMD sLET CMDPKT : : CMDPKT ,CMDSAYV CMDPKT : sLET CMDSAV : DATA , CMDPKT+CP WT. ADL JLET CMDPKT+(CP. ADL : DATAWT WIYBRF ,CMOPKT+CP.(NT JLET CMDPKT+CP.CNT : WTYBRF #2,CMDLG PC,CMDAC PC,EXCUTE PC,GOWAIT PC,CKHAE PC JLET CHDLG = N SUBROUTINE TO LOG BYTES READ/WRITTEN, ALSO UPDATES READ/WRITE ERROR COUNTERS. INPUTS: OUTPUTS: REGISTERS: CALLS: R2, R3, R&. ;RE~WRITE RECORD . [4 GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 25-MAY-82 09:51 2552 2553 015544 2554 015550 2555 015552 2556 015556 2557 015562 2558 015564 2559 015566 2560 015572 2561 0155764 2562 015600 105737 001126 105237 013704 005704 001520 162704 010502 066402 062702 2564 015610 2565 015616 Zggg 015620 023737 101002 163712 2568 015624 2569 015624 010203 062703 000010 2572 015632 2573 015632 021227 001747 2563 015604 gg;o 015626 2574 015636 2575 015640 5276 015644 2578 015646 2579 015650 2580 015650 2581 015652 2582 015656 2583 015656 2584 015662 2585 015664 063712 003404 162712 005213 010302 003416 002360 010203 062703 2592 015702 2593 015702 021227 2594 015706 003404 162712 5;39 015714 005213 2598 015716 000771 2599 015720 2600 015720 2601 015724 2602 015726 105737 001440 010502 2604 015736 062702 066402 105737 001406 062702 005212 502368: 502408: 000010 001747 003467 016036 002766 003470 000010 ;SET LOG DONE FLAG. :GET CURRENT CMD LOGGING CODE. <IF THERE IS A CODE THEN: :ADJUST THE CODE FOR TABLE INDEX. :R2 = ADR OF BYTE COUNT LSW. BRFCNT, (R2) RZ,.R3 :ADD BRF TO LSW. IF THE RFC IS LOWER OR THE SAME AS BRF THEN JSUBTRACT RFC FROM EXPECTED BRF. :R3 = ADR OF 2ND WORD. #10,R3 50236$ MOV R3 RZ ADD (R3) R2 ;UPDATE BYTE COUNT SLET (R3) := (R3) + M1 ;LET R2 := R3 + #10 :WHILE <R3) GT #999. DO CMP ;2ND WORD. ;R2 = ADR OF 3RD WORD. (R3),#999. 50241$ #1000. , (R3) (R2) BR 502408 MOV ADD R2 R3 :UPDATE BYTE COUNT SLET (R2) := (R2) + #1 ;LET R3 := R2 + #10 uust (Ré)#999. GT #999. DO BLE 502435 :3RD WORD. ;R3 = ADR OF 4TH WORD. CMP SUB INC 50243$: :1F DATA AND ERRORS HAVE NOT BEEN LOGGED THEN: MSGPKT+MS.RFC ,BRFCNT 50235$ MSGPKT+MS _RFC, (R2) BR INC 001750 ERLOG 502338 ERLOG CMDLG, R4 R4 502348 #2,Ré RS.R2 BINC(R4) ,R2 #CNTBGN, R2 50237¢ #1000. , (R2) sUB 502428 : SEQ 0093 BLE SUB BLE 502418 : 8 ;WHILE (R2) GT #999. DO CMP (R2) ,#999. INC 50237$. 001750 MOV ADD 001750 162713 000771 CMP BHI SUB 502358: 001747 TSTB BNE INCB MOV (ST BEQ SUB MOV ADD ADD ADD 003416 002360 021327 2588 015672 2589 015674 2590 015674 2591 015676 2605 015740 2606 015744 2607 015746 2608 015752 016030 002626 000010 005212 2603 015730 000002 062702 003404 LOG:: 003466 003426 000771 gggg 015670 2595 0157210 003466 c PAGE 20-47 #1000. , (R2) (R3) B8R 50242$ 7878 BEQ MOV RWERR 502448 RS,R2 ADD ADD TSTB BEQ ADD INC EINC(R4) ,R2 #WRREC,R? UNREC 502458 #10,R2 (R2) ;UPDATE BYTE COUNT SLET (R3) := (R3) + M :4TH WORD. ;IF R/W ERROR, UPDATE ERROR COUNT. :R2 = ADR OF COUNTER. ;1S THE ERROR UNRECOVERABLE? :YES, POINT TO NEXT COUNTER. ;UPDATE THE ERROR COUNTER 2609 2610 015754 2611 015756 2612 015756 2613 015760 2614 015764 2615 015766 2616 015772 2617 015774 2618 016000 2619 016002 016002 016006 016012 016016 016020 016022 2620 2621 016026 2622 2623 016026 2624 2625 2626 016026 2627 2628 016026 2629 2630 016026 2631 2632 016026 gggz 016026 2635 2636 016030 2637 016032 2638 016034 2639 2640 016036 2641 016040 ggzg 016042 000424 005212 105737 001020 105737 001015 105737 001412 013746 012746 012746 010600 104414 062706 50245$: 002213 003522 002207 003460 005422 000002 SEQ 0094 JELSE - IF ERROR IS RECOVERABLE: BR 50246% INC 1ST8 BNE 1ST8 BNE TST8 BEQ PRINTB (R2) IREC 50247% DROPED 502508 ERCVER 502508 #NURTY1,RETRY( ;UPDATLC THE ERROR COUNTER ;IF ERROR RECOVERY IS ENABLED: ;1F UNIT HAS NOT BEEN DROPPED: ;PRINT # OF RETRIES TO RECOVER MOV MOV MOV MOV TRAP 000006 50247$: 502468 : 502448 : 502348 : 50233$: 000207 : BINC: 000000 000040 000100 : EINC: 000000 000020 000040 : : : : : : ggg? : 105737 001426 013737 012737 012737 004737 013737 012737 003516 003420 104401 000004 016130 003420 104001 003424 003420 003426 003424 003420 RETRYC,~(SP) #NURTY1,=(SP) #2,-(SP) SP,RO CSPNTB ADD #6,SP ;PROVIDED PRINT HAS BEEN ENABLED 502508 : 2644 2645 2646 2647 2648 2649 2652 016044 2653 014050 2654 016052 2655 016060 2656 016066 2657 016074 2658 016100 2659 016106 PAGE 20-48 R 25-MAY-82 09:51 RTS PC INDEXES TO BYTE COUNTERS. 0 :WRITE. 40 :READ REV. 100 :READ FWD. INDEXES TO READ/WRITE ERROR couurfns. O WRITE. 20 :READ REV. 40 :READ FWD. IF A WRITE/VERIFY COMMAND IS ISSUED, CONTROL IS THEN TRANSFERRED TO THIS SUBROU)INE TO READ REVERSE. CHECK DATA, READ FORWARD, CHECK DATA, THEN CONTINUE TO NEXT COMMAND. INPUTS: OUTPUTS: REGISTERS: CALLS: VFYDAT::TSTB BEQ MoV MOV MOV JSR MOV MOV VFEXC. VFYFLG 50251$% CMDWRD , PCMDWD #RDR, CMDWRD #4,CMDLG PC.VFEXC CMDWRD , PCMDWD #RDF , CMOWRD ;IF DATA IS TO BE VERIFIED: :SAVE THE PREVIOUS COMMAND WORD. ;COMMAND IS READ REV. :SET UP CMD LOGGING INDEX. :GO READ ALL THE RECORDS REV. ;SAVE THE PREVIOUS COMMAND WORD. sCOMMAND S READ FWD. -— GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2660 016114 %gg% 016122 2663 016126 2664 016126 2665 2666 012737 004737 25-MAY-82 09:51 000006 016130 003426 502518: 000207 068 2669 2670 2671 2672 : : : : gggz 2675 016130 2676 016136 2677 016144 2678 016150 %ggg 016152 013737 042737 105737 001403 052737 003420 004000 003520 002330 002330 010000 002330 2681 016160 2682 016160 013737 002330 003422 005037 003412 023737 002062 004737 004737 003412 2683 016166 Sggg 016174 2686 016200 2687 016200 2688 016206 2689 016210 2690 016214 2691 016220 2692 016220 2693 016226 2694 016230 2695 016236 2696 0162640 2697 016246 2698 016250 2699 016256 2700 016260 2701 016264 2702 016266 2703 2704 016272 2705 2706 016272 2707 016274 5;83 016274 013737 026527 001442 032737 001421 032765 001014 032765 001406 105737 001402 004737 003410 003414 011064 017060 002604 177777 000400 003420 000002 003502 000001 003502 002524 016356 000402 004737 016300 016300 016302 016302 016310 : 502528: #6,CMDLG PC,VFEXC RTS PC sSET UP (MD LOGGING INDEX. ;GO READ ALL RECORDS FWD. sRETURN. SUBROUTINE TO EXECUTE THE READ AND VERIFY, FORWARD OR REVERSE. INPUTS: OUTPUTS: REGISTERS: R2 CALLS: MOV MoV CLR CMDAC, FIRSTU, VFISU, NEXTU, CKHAE. CMDWRD,CMDPKT #BRF . C,CMDPKT SWBFLG 50252% #SWB.C,CMDPKT : COMMAND PACKET = READ REV OR FWD. CMDPKT, CMDSAV :IF BYTES ARE TO BE SWAPPED: sSET SWAB BIT IN CMD PACKET. DATARD, CMOPKT+CP,ADL NCNT sSAVE COMMAND PACKET 1ST WORD. :SAVE BUFFER START ADDRESS. sCLEAR NUMBER OF OPERATIONS. 502538: ;WHILE NCNT LT NCNT? DO sWHILE THERE ARE RECORDS REMAINING: CMP NCNT NCNT1 B8GE 50254% JSR PC,CMDAC :STORE CMD ASCII IN ERROR MSG. JSR PC,FIRSTU sSET UP FOR FIRST UNIT, 502558: ;WHILE DEVTBL(RS) NE #END DO ;WHILE THERE ARE DEVICES REMAINING: CMP DEVTBL (R5) ,#END BEQ 50256% BIT #MOD. CO, CMDWRD sIF CMD IS REVERSE THEN: BEQ 50257% 8IT #X0.80T ,EOTFLG(RS) sIF NOT AT BOT BNE 502608 BIT #X0.EQT ,EOTFLG(RS) sBUT [F AT EOT 8EQ 50261$ 1ST8 ALLEOT sAND ALL OTHERS AT EOT 8EQ 502628 JSR PC,VFISU sTHEN READ VERIFY ¢IF NOT ALL AT EOT, FREEZE UNIT(S) 50262%: 502618: 016356 SEQ 0095 MoV JSR VFEXC:: MOV 8IC 1ST8 BEQ 8IS 002332 S;}? 016300 2712 2713 2714 2715 2716 PAGE 20-49 :IF NOT AT BOT AND BR 50263% JSR PC,VFISU sNOT AT EOT, READ VFY BR 50264$ ;ELSE IF CMD IS NOT REVERSE: 8IT 8tQ #X0.EQT ,EQOTFLG(RS) 50265% 50263$: 502608: 000412 032765 001404 000001 003502 50257$: 2717 016312 2718 016320 2719 016322 272 0 2721 016322 25-MAY-82 09:51 032737 001002 000001 004737 016356 SEQ 0096 003420 50265$: 2722 016326 BIT BNE #CMD. CO, CMDWRD 502668 JSR PC,VFISU JSR PC,NEXTU BR 50255$ JSR INC PC. CKHAE NCNT ;IF NOT AT EOT OR NOT A MOTION CMD THEN: ;ISSUE CMD, CHECK STATUS AND DATA. 502668: 004737 502648: 017126 000732 004737 005237 013737 2735 016354 2736 016354 2737 2738 2739 2740 2741 2742 2743 2744 2745 016356 2746 016362 2747 016366 2748 016366 2749 016372 2750 016374 2751 2752 016400 2753 016402 2754 016402 2755 016406 2756 016412 2757 016414 2758 2759 016420 2760 016420 2761 016424 2762 016426 2763 016434 2764 016436 2765 2766 016442 2767 2768 016442 2769 016442 2770 PAGE 20-50 017456 003412 003420 502568: 003424 000712 MOV 502548%: 000207 : : : ; ; : 013702 062702 020237 001403 012742 003410 502678 : 003410 177777 000772 004737 105737 001002 004737 105737 001006 032765 001002 004737 502708: 012054 003522 50271$: 003522 000002 50253$ RTS PC SUBROUTINE 003502 016444 *SAVE PREVIOUS COMMAND WORD. ;RETURN. TO ISSUE COMMAND, AWAIT CHECK STATUS, CHECK DATA. INPUTS: OUTPUTS: REGISTERS: R2 CALLS: CMP BEQ 23"25'“2 ;INIT READ BUFFER POINTER. ;WHILE R2 NE DATARD DO R2,DATARD 502708 #-1,-(R2) B8R 50267$ JSR INTERRUPT, EXCUTE, GOWAIT, CKDATA. MOV PC,EXCUTE ;UNTIL 8 BYTES HAVE BEEN SET, ;INIT READ BUFFER. ;GO EXECUTE THE COMMAND. TST8 DROPED ;IF UNIT HAS NOT BEEN DROPPED THEN: JSR PC,GOWAIT ;G0 WAIT FOR DONE BIT. TSTB DROPED ;IF BNE 012364 ;CHECK FOR HALT AFTER EACH CMD. *UPDATE THE RECORD COUNT. CMDWRD , PCMDWD BR VFISU:: ggg 000010 ;GO FIND THE NEXT UNIT. 50271$ BNE BIT BNE 502728 #X0.80T,EOTFLG(RS) 50273$ RTS PC JSR PC,CKDATA UNIT HAS NOT BEEN DROPPED THEN: ;WHEN NOT REVERSED INTO BOT, THEN :GO VERIFY DATA. 50273$: 000207 502728 SUBROUTINE TO COMPARE DATA BETWEEN READ AND WRITE BUFFERS AND PRINT ERROR MESSAGE ON M]SCOMPARE. —_ GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2774 2775 2776 2777 2778 2779 016444 2780 016450 2781 016454 <782 016456 2783 016460 016460 016462 016464 016466 2784 016470 016470 016474 016500 016502 016504 2785 016510 2786 016512 2787 016512 2788 016516 2789 016520 016520 016522 016524 016526 2790 016530 016530 016534 016540 016544 016546 016550 2791 2792 016554 2793 016556 2794 016556 2795 016562 2796 016566 2797 016572 2798 016574 2799 016600 2800 016604 2801 016610 2802 016612 2803 2804 016614 2805 2806 016614 2807 016614 2808 016620 2809 016622 2810 016626 2811 016630 25-MAY-82 09:51 : 003416 002360 ; CALLS: REGISTERS: CKDATA: :MOV SUB TST ERRHRD 005337 000001 062706 000560 000004 020337 101417 003416 PRINTB 50274%: R3,BRFCNT ;PRINT ERROR AND EXIT TRAP CSERHRD .WORD WORD WTVERM DTAERM MOV MOV MOV ISSP #DTAERSL ,=(SP) #1,-(SP) SP.RO CzPN;B s COMPARE ROUTINE :WHEN REC READ IS LONGER 50276% ERRHRD 17 ,WTVERM,DTAERM ;THAN EXPECTED, PRINT TRAP .WORD WORD .WORD ;AN ERROR MESSAGE MOV MOV MOV MOV TRAP ADD 000006 50276$: 017054 017054 017056 B8R 50277 MOV DEC R3,CKDCNT CKDCNT CLR MOV R2 DATAWT,R3 CLR 003406 003410 003523 MOV DATARD . R& BEQ SWAB 503008 (R3) 7818 503008: 017054 000001 017054 T1SW8 ;REPEAT CMP 003520 CKDFF ?gge BEQ BIT R2,CKDCNT 283952 50303$ #BIT00, CKDCNT 17 #6.,S PRINTB #DTAERS,CMDPKT+CP.CNT 002336 005360 000002 c0301s 001406 032737 #DTAER4 CMP BLOS 000536 105737 JWHEN NO DATA RECEIVED 17 ,WTVERM,DTAERM 50275$ 000021 004430 005752 020237 001011 ;COMPUTE REC LENGTH READ 50274$ BR 104456 010337 005337 005037 005002 013703 013704 105737 001401 000313 GCMDA LWORD 012746 012746 010600 013746 012746 012746 010600 104414 062706 R2, R3, R4. BRFCNT,R3 MSGPKT+MS.RF(C,R3 R3 BNE 000021 004430 005752 104414 INPUTS: OUTPUTS: 104456 8 SEQ 0097 : ; 013703 163703 005703 001015 G PAGE 20-51 ;AND EXIT ROUTINE CSERHRD 17 WTIVERM DTAERM CMDPKT+CP.CNT ,=(SP) #DTAERS ,=(SP) #2,-(SP) SP.RO CSPNTB #6,SP sSAVE VERIFICATION LENGTH ~ 1. JCLEAR # OF BYTES IN ERROR COUNTER. SINIT BYTE COUNTER “GET WRITE BUFFER ADDRESS. *GET READ BUFFER ADDRESS. JWHEN RUNNING TEST1-SUB 12, JSWAP FIRST WORD OF WRT BFR :WHICH CONTAINS THE RECORD COUNT ;REPEAT UNTIL ALL DATA ;IF 2 IS COMPARED: THIS IS THE LAST BYTE THEN: IF BYTE SWAPPI Y WAPPING IS ENABLED THEN: :1F RECORD LENGTH IS ODD THEN: — ] GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINCS SECTION —— GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2812 016636 2813 016640 2814 016642 2815 2816 016644 2817 2818 016644 2819 2820 016644 2821 016644 2822 016646 2823 016650 2824 016654 2825 016656 2826 016662 2827 016666 016666 016670 016672 016674 016676 016702 016706 2831 016714 016720 016726 016734 2835 016736 016736 016740 016744 016746 016752 016754 016760 016764 016766 016770 2836 016774 2837 2838 016774 2839 016776 2840 017000 2841 017002 2842 017006 2843 017010 2844 017014 2845 017020 2846 017022 017022 PAGE 20-52 SEQ 0098 001002 BNE 105723 105724 1ST8 TsT8 503048 (R3)+ (R4)+ JLAST BYTE WILL BE IN ;s THE UPPER BYTE. : 503048 50303$: 121314 001452 005737 001010 005265 005265 104456 000021 004430 005752 005237 50302%: 017056 003346 003356 017056 003436 111337 003440 042737 042737 023727 002017 005046 153716 005046 153716 010246 012746 012746 010600 104415 062706 105723 105724 105722 001414 (MPB BEQ TST BNE INC INC ERRHRD (R3), (R4) 3s cARE THEY EQUAL. ;B8R IF SO. 23 VFYCNT(RS) ;BR IF NOT. sINC THE VERIFY ERROR COUNTER. CKDFF ;1 HRDCNT(RS) 17 ,MTVERM,DTAERM ST TIME THRU? JINC THE HARD ERROR COUNT. JREPORT WRITE/VERIFY ERROR. TRAP 111437 2%: 177400 003436 177400 003440 000013 017056 INC MOvV8 8IC MOvV8 8IC CMP 8GE PRINTX 003440 CKDFF:LET CKDFF (RG) ,TIMEN #177400,TIME (R3) ,TIME2 #177400,TIME2 §5§5§§"1' 017054 017056 017054 017056 005275 000003 062706 000010 JIF ERROR BYTE COUNT IS LESS THAN 11: BISs8 CLR 81S8 MoV MOV MOV MOV TRAP ADD 50305s: 3s: 017054 ;SAVE SHOULD BE DATA FOR TYPOUT. sCLEAR GARBAGE. #DTAERZ,R2,<B,TIME1>,<B,TIME2>:PRINT ACTUAL & EX?ECYED DATA -(SP) LR 005226 000004 000012 1ST8 1S18 TST8 CMP BLE INC TST BEQ PRINTB CSERHRD .WORD 17 .WORD WTVERM .WORD OTAERM := CKDFF + M - INCREMENT # OF BYTES IN ERROR. JSAVE WAS DATA FOR TYPOUT. ;CLEAR GARBAGE. 003436 013746 013746 012746 012746 010600 104414 2847 25-MAY-82 09:51 TIMEZ, (SP) -(SP) TIMET, (SP) R2,~(SP) #DTAERZ ,~(SP) #4,-(SP) SP.RO CSPNTX #12,SP (R3)+ ;sUPDATE WRITE BUFFER ADDRESS. (R2)+ §838§2CNT JUPDATE BYTE COUNTER. cEND OF DATA COMPARE REPEAT LOOP. CKDCNT gsgsz$ sCKDCNT EQUALS RECORD LENGTH. JIF COMPARE ERROR HAS OCCURED THEN: (R§)+ #DTAER3,CKDFF ,CKDCNT sUPDATE READ BUFFER ADDRESS. JPRINT # OF BYTES IN ERROR. MOV MoV MOV MOV MOV TRAP ADD CKDCNT ,=(SP) CKDFF ,=(SP) #DTAER3,~-(SP) #3,-(SP) SP.RO CSPNTB #10,5P GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 25-MAY-82 09:51 2848 017052 2849 %ggg 017052 50277$: 000207 2855 017054 %gg? 017056 000000 000000 502758 : 2858 2859 2860 2861 gggg 2869 017102 2870 017104 2871 017104 2872 017112 2873 017114 17114 2874 2875 017116 2876 017116 %g;g 017124 105037 005005 026527 001003 062705 000771 026527 001001 003522 002604 177774 000002 002604 177777 PC JOTHERWISE, RETURN. CKDCNT: CKDFF: .WORD .WORD 0 0 :# OF BYTES TO BE VERIFIED -1. ;¥ OF BYTES IN ERROR COUNTER. ; 2 : : SUBROUTINE TO FIND THE FIRST DEVICE IN THE TEST SEQUENCE. INPUTS: 016537 000207 002606 002074 503108: 50311$: ; : : : ; 2886 017126 2887 2888 017132 2889 017132 105037 003522 062705 000002 2891 017144 001772 026527 2892 017146 2893 017154 2894 2895 2896 2897 2898 2899 gggg 016537 000207 2902 017156 005265 002604 177774 002604 002074 003366 002370 CALLS: B8R DROPED :CLR UNIT DROPPED FLAG RS :CLR DEVICE POINTER. DEVTBL (RS) , #NINUSE ;WHILE DEVICES ARE NOT IN USE: 50310% #2.RS ;LET RS := RS + #2 ;POINT TO NEXT DEVICE. 50307s CMP BNE DOCLN DEVTBL (RS) , #END 50311$ ;1F ALL UNITS HAVE BEEN DROPPED THEN: MOV RTS DEVTBL(RS) ,LSLUN PC ;SET UNIT # IN 'HEADER'' FOR ERROR REPORT JRETURN WITH 1ST DEVICE IN RS. INPUTS: TMfS: REGISTERS: CALLS: oL CMP DEVTBL (RS) , #ANINUSE MOV RTS DEVTBL(RS) ,LSLUN PC BEQ DROPU:: ;D0 CLEAN CODE AND TERMINATE PASS. TRAP CSDCLN SUBROUTINE TO FIND THE NEXT UNIT IN THE TEST CYCLE. NEXTU:: CLRB DROPED REPEAT 503128 : ADD #2.RS ; : : : : 013704 OUTPUTS: REGISTERS: FIRSTU:: CLRB CLR 50307$: CMP BNE ADD 104444 2881 2882 2883 5gg§ 2903 017162 RTS : 2879 2880 2890 017136 SEQ 0099 503068: 2852 017052 %ggz 017052 2864 017060 2865 017064 2866 017066 2867 017074 2868 017076 PAGE 20-53 50312$ :CLR UNIT DROPPED FLAG *REPEAT UNTIL THE NEXT DEVICE IS FOUND. ;UPDATE DEVICE TABLE POINTER. SUNTIL DEVTBL(RS) NE #NINUSE JSET UNIT # IN "HEADER'' FOR ERROR REPORT *RETURN. SUBROUTINE TO DROP A DEVICE FROM THE TEST SEQUENCE. INPUTS: OUTPUTS: REGISTERS: CALLS: MOVMSG., PRXST, LOG INC MOV FTLCNT(RS) MSGPKT+MS.XS3,R4 : INCREMENT THE FATAL ERROR COUNT. -GET UDIAG ERROR CODE FROM XSTATS. GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 2904 017166 2905 017172 2906 017176 2907 017200 2508 017200 2909 0172046 042704 016503 005002 000377 002544 020227 001405 000020 062702 00002 2910 017206 012723 2913 017216 000770 59}3 017212 2914 017220 2915 017220 2916 017226 2917 017232 2918 017236 2919 017242 2920 017244 017244 017246 017250 017252 2921 2922 017254 2923 017256 %35§ 017256 2926 017262 2927 017262 2928 017266 2929 017270 gggg 017274 2932 017300 2933 017300 ~ 7017300 2934 017302 2935 017306 53;9 017310 2938 017314 2939 017314 2940 017322 2941 017326 017326 532% 2964 017330 2945 017336 2946 017340 2947 017344 2948 017346 2949 017350 2950 017352 2951 017354 2952 2953 017360 2954 25-MAY-82 09:51 012775 004737 004737 020427 001005 PAGE 20-54 BIC #377.R4 MOV MSGPKA(RS) ,R3 :ADR OF THIS UNIT'S MSG PACKET. CLR R2 SLETR2 i= #0 ;CLR COUNTER. 503138: ;WHILE R2 NE #MSGCNT DO ;WHILE THERE ARE MORE LOCATJIONS: tMP BEQ 177777 002340 012700 012734 MOV 002514 503148 : 157400 000402 105737 001404 105237 004737 50315$: 017370 50316$: 003465 005522 015544 5031/$: 106424 005765 001402 005365 013737 013700 003326 003534 003534 017366 503208: 026527 001410 105737 001005 000240 000240 000240 105237 ;INIT THE MSG PACKET WITH ALL 1°S B8R 50313$ MOV JSR JSR #GSCPK,3TSDB(RS) PC,WSSR PC .MOVMSG sINITIATE A GET STATUS COMMAND. ‘WAIT A WHILE FOR SSR=1 *MOVE MSG PACKET TO COMMON AREA. 16. RNYH STAERM JREPORT CAPSTAN RUNAWAY WITH TACH CNT. TRAP (CSERDF .WORD 16 -WORD RNYM .WORD STAERM JELSE=IF NOT A RUNNAWAY: ;LET R2 := R2+ #2 ;UPCATE COUNTER. CMP BNE R4 cxs RNY 503515 BR 503168 JSR PC.PRXST ;PRINT EXTENDED STATUS REGISTERS. TSTB BEQ INCB JSR RECLOG 50317$ DROPED PC.LOG :IF THE RECORD HAS BEEN LOGGED THEN: DORPT MOV MOV DODU 104451 #-1,(R3)+ #2.R2 DROPUA: TST BEQ DEC 003326 R2,#MSGCNT 505148 ADD ERRDF 104455 000020 004753 006120 004737 SEQ 0100 PASCNT(RS) 503208 PASCRT (RS) TSNP, DROPN TSNP.RO RO 2IF WE HAVE A CAPSTAN RUNAWAY THEN: JSET UNIT DROPPED FLAG. :LOG DATA BYTES + RD/WR ERRORS. JPRINT PERFORMANCE REPORT TRAP JIF PASCNT(RS) NE #0 THEN ;LET PASCNT(RS) CSDRPT := PASCNT(RS) - #1 ;SAVE # OF UNIT TO BE DROPPED. :RO=LOGICAL DEVICE NUMBER ‘DROP THE UNIT TRAP cCsDODU ;EXEC BGNDU-ENDDU CODE IF IDU = 0 002604 177774 CMP BEQ 1ST8 BNE NOP NOP NOP INCB 002213 003526 503228%: DEVTBL (RS) , #ANINUSE 50321$ IREC 50322% STAFLG ;IF UNIT NOT DROPPED ;IF RECOVERY IS ENABLED THEN: ;SET START FLAG TO ENABLE REWIND, 2955 017360 2956 017360 2957 017364 2958 2959 017366 2960 105237 000207 25-MAY-82 09:51 003522 000000 PAGE 20-55 SEQ 0101 503218$: DRORTN: DROPN: : 2966 2967 017370 017370 017374 017400 017402 017404 2948 017410 017410 017414 017420 017424 017430 017434 017440 017444 017446 017450 2969 017454 2970 2971 005507 000001 062706 000004 013746 013746 013746 013746 013746 012746 012746 010600 002372 002370 002366 002364 002362 006753 000006 062706 000207 000016 104415 104415 ¢RETURN. .WORD 0 # OF PRINTX #GETSTM #GETSTM, - (SP) #1,-(SP) MOV MOV MOV MOV MOV MOV HSGPKT*HS.XSZ =(SP) ABD ; SUBROUTINE TO HALT AFTER EACH COMMAND. : OUTPUTS: SP,RO CSPNTX MSGPKT+MS. XS1,-(SP) MSGPKT+MS XS0, ~(SP) #STAERS ,~(SP) #6,-(SP) SP,RO CSPNTX #16,sP INPUTS: REGISTERS: CALLS: 002206 CKHAE : : égge 105737 003531 TSTB BNE 104450 000001 MOV MOV MOV TRAP #4,SP #STAERS,MSGPKT+MS.XSO,MSGPKT+MS.XS1,MSGPKT+MS. xsz HSGPKT#HS XS3,MSGPKT+MS. XS MOV MSGPKT+MS. XS4, ~(SP) MOV MSGPKT+MS. XS3, =(SP) RTS PC 105737 003420 011136 004306 004307 004310 TO BE DROPPED REGISTERS: CALLS: PRINTX ; 001023 UNIT INPUTS: PRXST:: ; 001430 sSET UNIT DROPPED FLAG. SUBROUTINE TO PRINT EXTENDED STATUS REGISTERS. OUTPUTS: K 6 2977 017456 2978 017462 2979 017464 2980 017470 2981 017472 017472 2982 017474 017474 2983 017476 2984 017502 2985 017506 2986 017512 2987 017516 2988 017522 017522 DROFED PC : ; ; 012746 012746 010600 INC(CB RTS MOV MOVB MOVB MOVB R3. R4 Heféxre HAE NE #0 THEN MISCFG 503248 ;IF HALT FLAG IS SET: :IFB MISCFG EQ #0 THEN MANUAL ;1S MANUAL BNCOMPLETE CKHRTN :BR IF NOT. CMDWRD, R4 JSR PC,GCMDA (RS)+,HALTM (R3)+.HALTM+1 (R3),HALTM+2 GMANIL HALTM,TIME1,1,YES ; INTERVENTION ?kLgUED? A CSMAN] BCC CKHRTN :LET R4 := CMDWRD < COMMAND WORD. sFETCH ADR OF CMD ASCII. sMOVE CMD ASCII sLET HALTM+1 :B= (R3)+ s INTO MESSAGE. sHALT = WAIT FOR AN OEPRATOR INPUT. TRAP CSGMAN 100008 B8R TIMEY .WORD .WORD T$CODE ?ALTH .WORD .WORD > = GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTICN 25-MAY-82 09:51 SEQ 0102 017536 gggg 017536 2991 017536 2992 017540 2332 017540 100008 : 100008 : 000402 105037 503248: 003531 5982 017544 2997 017544 2998 017544 2999 3000 3001 017546 3002 3003 3004 3005 3006 3007 3008 017622 017626 017632 017636 017642 017646 017652 017654 017656 3021 017662 017662 017666 017672 017676 017702 CLR8 MISCFG sLET MISCFG :B= #0 H PC ‘ ¢RETURN ENDMCD <TITLE MISCELLANEOUS SECTIONS .SBTTL REPORT CODING SECTION s+4 : ; 017616 3020 017622 50325$ 503238: CKHRTN: RTS .EVEN 000207 gg}? 017614 BR 50325$: 3009 3012 3013 017546 017546 3014 017546 3015 017552 3016 017556 3017 017556 3018 017564 3019 017566 017566 017572 017576 017602 017606 017612 PAGE 20-56 010537 004737 003452 017060 026527 001562 002606 016546 016546 016546 012746 012746 010600 104416 062706 003376 003326 002604 020410 000004 016546 002626 000012 016546 016546 016546 012746 012746 010600 104416 062706 000014 016546 016546 002666 002676 016546 016546 012746 THE REPORT CODING SECTION CONTAINS THE "PRINTS'' CALLS THAT GENERATE STATISTICAL REPORTS. LSRPT:: 177777 BGNRPT Mov R5 ,R5SAVE s SAVE CURRENT DEVICE POINTER. JSR PC,FIRSTU sFIND THE FIRST UNIT. 50326$: ;WHILE DEVTBL(RS) NE #END DO sWHILE THERE ARE MORE DEVICES: CMP DEVTIBL (RS) ,#END BEQ 50327% . PRINTS #RPT1A,DEVTBL( ,PASCNT (RS) ,RECCNT(RS) RS) MOV MOV MOV ¢ MOV MOV MOV TRAP PRINTS 002636 002646 002656 020465 000005 002706 002716 020536 ADD #RPT18,WRBC+30(RS5) ,WRBC+20(R5) ,WRBC+10(RS) ,WRBC (RS) MOV MOV MOV MOV MOV MOV MOV TRAP PRINTS RECCNT(RS) ,-(SP) PASCNT(RS) ,=(SP) DEVTBL (RS) ,~(SP) #RPT1A,=(SP) #4,-(SP) SP,RO CSPNTS #12,5P WRBC(RS) ,~(SP) WRBC+10(RS) , = (SP) WRBC+20(RS) ,~(SP) WRBC+30(RS5) ,~(SP) #RPT1B,=(SP) #5,-(SP) SP,RO CSPNTS #14,5P #RPT1C,RRBC+30(R5) ,RRBC+20(RS) RRBC010(RS) RRBC(RS) MOV RRBC(RS) ,=(SP) MOV RRBC+10(RS) ,=(SP) MOV RRBC+20(RS) ,~(SP) MoV RRBC+30(RS) ,~(SP) MOV #RPT1C,-(SP) » R GLOBAL AREAS MACRO M1113 GLOBAL SUBROUTINES SECTION 017706 017712 017714 017716 3022 017722 017722 017726 017732 017736 017742 012746 1 010600 104416 062706 0 3024 820016 020046 3025 020052 3026 020056 3027 020060 3028 3029 020064 3030 020064 020064 020070 020074 020100 020104 020110 020114 020116 020120 3031 020124 3032 3033 020130 3034 020132 3035 020132 3036 020136 020136 020140 3037 3038 25-MAY-82 09:51 000005 000014 062706 000014 016546 016546 016546 012746 012746 010600 003026 003006 002766 020713 000004 062706 000012 016546 016546 016546 012746 012746 010600 003036 003016 002776 020764 000004 062706 000012 002210 104416 104416 105737 PAGE 20-57 PRINTS PRINTS TST8 BEQ 50330s: #RPT1G,WRUNR(RS) ,RRUNR(RS) ,RFUNR(RS) BADTSW JSR PC,BTRPT 000612 013705 003452 JSR 50327%: 000167 ;GO PRINT BAD TAPE SPOTS WHEN MOV MoV MOV MOV MOV MOV TRAP ADD MOV MOV MOV MOV MOV MOV TRAP ADD ; PC,NEXTU BR 50326% MoV EXIT R5SAVE RS RPT sFIND THE NEXT UNIT. #RPT1F ,=(SP) #4,-(SP) sP,RO CSPNTS RFUNR(RS) ,~(SP) RRUNR(RS) ,=(SP) WRUNR(RS) ,=(SP) #RPT1G,=(SP) #4,-(SP) SP,RO (SPNTS #12,5P ENABLED ADD CSPNTS #14,SP +RESTORE CURRENT DEVICE POINTER. .WORD -WORD 001130 : RFREC(RS) ,~(SP) RRREC(RS) ,~(SP) WRREC(RS) ,~(SP) #RPT11,S ,HRDCNT (RS) CCNT ,FTLCNT(RS) (RS) ,VFYCNT(RS ) MOV VFYCNT (RS) ,~(SP) MOV FTLCNT(RS) ,~(SP) MOV HRDCNT (RS) ,=(SP) MOV SCCNT(RS) ,~(SP) MOV #RPT1I,-(SP) MOV #5,-(SP) MOV SP,RO 000005 000014 017126 ;1FB BADTSW NE #0 THEN 503308 PRINTS 003346 Mov #5,-(SP) MOV SP,RO TRAP CSPNTS #14,SP ADD #RPT1D ,RFBC+30(R5) ,RFBC+20(RS5) ,RFBC+10(RS) ,RFBC( RS5) MOV RFBC(RS) ,~(SP) MoV RFBC+10(R5) ,~(SP) RFBC+20(R5) ,~(SP) MOV MOV RFBC+30(R5) ,~(SP) MOV #RPT1D,~(SP) MoV #5,-(SP) MOV SP,RO TRAP CEPNTS ADD #14,5P #RPT1F ,WRREC(RS) ,RRREC(RS5) ,RFREC(RS) PRINTS 020142 004737 n SEQ 0103 002726 002736 002746 002756 020607 000005 104416 3023 017762 MACRO M1113 SUBR TO PRINT BAD TAPES SPOTS DURING THE REPORT PRINTS JSJMP L10010-2-~. b Jx4 MISCELLANEOUS S ECY CTIONS REPORT CODING S ECT CTION — 2 3043 020142 020142 020146 020152 020156 020160 020162 3044 020166 3045 020174 3046 020200 020312 3061 020316 3062 020320 3063 020324 3064 020330 3065 020332 020332 020336 3066 020352 3067 020356 PAGE 20-58 N SEQ 0104 BTRPT:: PRINTS 003316 021035 000002 006203 104416 3054 020242 3055 020242 020242 020246 020252 020254 020256 25-MAY-82 09:51 WRITE RETRIES: CUMULATIVE COUNT BAD TAPE SPOTS: COUNT PER TAPE PASS ONLY, NOT CUMULATIVE. COUNT OF RECOVERABLE WRITE ERRORS EXCLUDES BAD TAPZ SPOTS. 010346 012746 012746 010600 3052 020236 MACRO M1113 000006 002616 163312 000024 012703 000024 MOV MOV MOV MOV 003512 005744 000001 062706 013704 062704 005002 000004 003512 000002 001014 012746 012746 010600 104416 062706 162703 162702 #RPT1J,R3 ;PRINT # GF BAD TAPE SPOTS ;IF R3 HI #20. #20..R3 PRIN TS MOV ADD CLR :PRINT RECORD # IF BAD SPC 50332¢ MOV 50333s: sREP 000002 000012 #2,-(SP) SP.RO CSPNTS #6,SP S DETECTED . ;LET R4 := BTPT + #2 MOV MOV MOV TRAP ADD ;FETCH A BAD SPOT ID ;R2 = PRINT COUNT PER LINE: #RPTIK, (R4) *PRINT A BAD SPOT ID MOV MOV MoV MOV TRAP INC ADD BNE 005744 000001 000004 000012 000012 R3,=(SP) R2 #2,Ré R2,#10. 503348 ;LET R2 := R2 + #1 :COUNT PRINTS JLET R4 := R4 + #2 NEXT :1F R2 EO #10. THEN ; PRINTS #CRLFSP ;G0 TO NEXT PRINT LINE PAST ) SuB sus #10..R3 #10. .R2 #RPT1J,=(SP) ; EA?z PR INTS CSPNTS #6,SP ;20 BAD SPOTS IS THE LIMIT #CRLFSP QEPAZR‘ THEN 021152 000002 000006 MOV MOV MOV TRAP ADD R3 50331$ R3,#20. TST BEQ CMP BLOS WRTYCT(RS) ,=(SP) #RPTIE,~(SP) #2,-(SP) SP.RO ;BTPT 1S BOTH THE BAD TAPE SPOT COUNTER SAND THE LOGGING INDEX MOov 000006 012746 012746 010600 011446 012746 012746 010600 104416 062706 TRAP ADD BTADDR(RS) ,BTPT ggrpr,nz MoV MoV ASR PRINTS 50332%: 104416 JPRINT GLOBAL WRITE RETRY COUNT 021065 000002 062706 005703 001457 020327 101402 #RPT1E ,WRTYCT(RS) :LET RS ‘LET R2 := R3 - #10. := R2 - #10. MOV MOV MOV TRAP #CRLFSP,~(SP) #1,-(SP) SP.RO CSPNTS #4,SP 10 MAX (R4) ,~(SP) #RPTIK,~(SP) #2,-(SP) SP.RO CSPNTS #6,SP 10 PRINTS #CRLFSP,~(SP) #,<(SP) SP.RO CSPNTS ADD ¥4 ,SP JADJUST BAD SPOT COUNT *ADJUST PRINT COUNT o= MISCELLANEOUS SECTIONS REPORT CODING SECTION MISCELLANEOUS SECTIONS REPORT CODING SECTION MACRO M1113 25-MAY-82 09:51 gg;; 020364 001343 012746 012746 010600 104416 062706 000207 3077 3078 020410 045 3079 020465 3080 020536 3081 020607 3082 020657 3083 020713 3084 020764 3085 021035 3086 021065 3087 021152 3088 021161 3089 021235 3090 3091 3092 3093 021272 021272 309 021272 045 045 045 045 045 045 045 045 045 045 045 104425 3115 3116 021302 CMP RZ2,R3 PRINTS #CRLF 000004 JUNTIL R2 EQ R3 ;JLIMIT: # OF BAD SPOTS : RTS PC 116 045 RPT1A: 101 101 123 101 101 101 116 104 101 123 102 102 062 122 125 127 045 065 123 063 RPT1C: RPTID: 101 50333s 102 RPT1B: RPT1F: RPT1G: RPT1E: RPT1J: RPTIK: RPT11: L10010: MOV MOV MOV TRAP ADD NLIST .ASCIZ BEX /ININYAUNIT XD1XS3YAPASS:%DSYS3YAREC : IDSIN/ ORD .ASCIZ .ASCII JASCIZ _ASCI2? .ASCIZ .ASCIZ .ASCIZ .ASCIZ L.ASCII LASCIZ JLIST -EVEN /%ABYTES READ REV YD3¥A.XZ3YA.X23%A.¥Z3IN/ /YABYTES READ FWD XD3YA.XZ3XA XZ3YA XZ3IN/ /7%S23YAWRTXS4YARDRYS4 YARDF IN/ /XARECOVERABLE ERRORS XDSXS2XDSXS2XDSIN/ /YAUNRECOVERABLE ERRORS XD5%S2%ID5YS2ID5IN/ /%AWRITE RETRIESYS8IDSIN/ /INYD2XYA BAD SPOTS THIS TAPE PASS PRECEDING RECORD #:/ /%D5%S1/ ‘**XASPEC CONDXS3XAHARDYS3XAFATALYS3IYACOMPAREIN'' /7%S3%D5%S3%D5%S3%D5%S3XDSININ/ BEX #CRLF ,=(SP) #1,=(SP) SP.RO CSPNTS #4,SP .ASCIZ /YABYTES WRITTEN XD3XA.3Z3YA.%Z3YA.%Z3IN/ ENDRPT TRAP CSRPT LOAD DEVICE PROTECTION TABLE s+ sTABLE 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 OEV 3101 3102 021274 3103 021274 %%}2 005741 000001 .SBTTL 3?33 3109 3110 3111 3112 H BNE 50331$: 3095 3096 3097 3098 3104 021274 3105 021276 3106 021300 g;gg 021302 50334$: 020203 3073 020366 3074 020366 020366 020372 020376 020400 020402 gg;g 020406 8 SEQ 0105 3068 3069 020362 3070 020362 PAGE 20-59 L$PROT: : 000000 177777 177777 BGNPROT .WORD 0 .WORD =1 .WORD =1 ENDPROT .SBTTL ;P=-TBL OFFSET OF T1SDB P=-TBL OFFSET OF MASS BUS UNIT #: -1 = NOT A MASS B8US DE sP-TBL OFFSET OF DRIVE #: =1 = NONE, THREE DRIVES PER CONTRO INITIALIZE SECTION P : THE INITIALIZE SECTION CONTAINS THE CODING THAT IS PERFORMED : AT THE BEGINNING OF EACH PASS. BGNINIT — — MISCELLANEOUS SECTIONS INITIALIZE SECTION MACRO M1113 25-MAY-82 09:51 PAGE 20-60 ¢ 021302 SEQ 0106 LSINIT:: 032727 001421 000003 002330 104454 INIT10: BIT #81T0!BIT1,#CMDPKT BEQ 50335$ ERRSF 1,CMDPKM sIF CMD PACKET [S NOT ON MODULO é BOUNDRY: sPRINT ERROR MSG, TRAP CSERSF .WORD WORD CMDPKM 0 MOV . WORD Mov .WORD DEC BNE DEC BNE 5200. L(PC)+ .WORD 000000 021350 021352 012727 000000 013727 000000 005367 001375 005367 001367 000753 002116 177772 177756 021354 021354 021360 021362 021366 021370 021370 021374 021376 021402 BR INIT10 1ST8 CLRFLG CLRB CLR C%RFLG 105737 002204 105037 005002 002204 020227 001405 005062 062702 000550 001413 8EQ 50337s: 000770 50340%: sLET R2 : SINIT CLR FLAG. JWHILE RZ NE 'CNTLEN DO C"P R2 ,MCNTLEN B9 002626 000002 sIF CLR COUNTERS FLAG SET: 50336% 503408 ADD #2,R2 BR 50337¢ TST8 s RRANV e sCLR AlLL STATISTICAL COUNTERS. JLET R? := R2 + #2 021410 021414 021416 105737 001406 012737 002205 153624 003432 MOV #RANBC ,RANB JRESET RANDOM BASE #. 021424 012737 032561 003434 MOV #RANSC ,RANS JRESET RANDOM SAVE LOCATION. READEF #EF .START - b od b d b o 021410 021432 021432 LSOLY, (PC)+ O =6(PC) .=b =22(PC) .=20 50335%: b and 021406 021410 ;GO TO SUPERVISOR, WAIT 2 SECONDS. DELAY 200. 000310 b b SN NWN VNS WN—=O V0 b WA WA N AN AN N N AN AN AN AN NN -—d e W AN el b cnd o d d [ N1, ST,¥],81,N1,NT,N1,§Y [VeYo R NTe YV, ¥ YVIT N W NN NN 2 1 50336$: 503418: 012700 104447 103057 105237 012705 012765 162705 005705 001371 022737 000040 BNCOMPLETE INCB 003526 000006 177774 000002 000001 002604 MOV #6,R5 Sus #2,RS JREAD START COMMAND EVENT FLAG. INIT1S ;LET RS sBRANCH IF NOT STARTING. := #6 s eAT NINUSE.DEVTBL(RS) TST 002012 STAFLG ;IF RESET RANDOM VARIABLE E FLA FLAG IS SET T7T THEN : BNE CMP RS JSET START COMMAND FLAG. NIT1S INI by LYARELGNLT NMBER . NU TABLE N ACH JLET RS := RS - #2 UNTIL RS EQ #0 503428 #1,LSUNIT BCC JONLY ONE UNIT ALLOWED AT CH LOCATION . MISCELLANEOUS SECTIONS INITIALIZE SECTION 3158 021476 3159 021500 021500 021504 021510 021512 021514 3160 021520 021520 021524 021526 021532 021534 021540 021542 021546 3161 021550 021550 3162 021552 3163 021556 3164 021560 3165 021560 3166 021564 3167 021570 3168 021574 %}gg 021576 3171 021600 021600 021604 3172 021606 021606 3173 021610 g};g 021614 3176 021620 021620 021622 3177 021626 3178 021630 3179 021634 3180 021636 021636 021642 3181 021644 3182 021646 3183 021652 3184 021654 021654 021660 3185 021662 %}g? 021664 3188 021666 3189 021670 3190 021670 31 MACRO M1113 25-MAY-82 09:51 001425 012746 012746 010600 104417 062706 005146 000001 012727 000000 013727 000000 000025 005367 001375 005367 001367 104444 000004 ;0K sTELL THE MAN DELAY 25 SWAIT 012700 104447 000034 50348: ;ABORT MOV ASL 503438: REPEAT sus MoV ASR TST BNE LSUNIT,RS RS INIT15: READEF #EF.PWR 003526 003527 INCB INCB INIT16: RFLAGS 003536 CLR TST8 BNE 003527 000035 012700 1046447 103402 005103 000037 #AUDRUN, = (SP) #1,-(SP) SP,RO CSPNTF 06 ,SP MoV .WORD MOV .WORD #25,(PC)+ 0 LSDLY,(PC)+ 0 BCC 1ST8 BNE 003526 503478: JLET RS := LSUNIT SHIFT 1 BNE DEC BNE =6(PC) o=b =22(PC) .=20 TRAP CSOCLN sSTORE ALL UNIT #2 ,R5 ;LET RS := RS - #2 :NUMBERS IN DEVTBL. RS,CEVTBL (RS) JLET DEVTBL(RS) := RS SHIFT =1 DEVTBL (RS) RS sUNTIL RS EQ #0 50343$ BNCOMPLETE INIT16 012700 104447 103014 105737 001010 MoV MoV MOV TRAP ADD DEC DOCLN 000002 002604 002604 005203 50348 #AUDRUN 177756 162705 010565 006265 005705 001370 00401 BEQ PRINTF 177772 002012 104421 010037 005003 105737 001020 SEQ 0107 002116 013705 006305 103004 105237 105237 ) PAGE 20-61 STarLS PWRFLG OPFLAG JREAD AND STORE FLAGS SET BY OPERATOR TRAP CSRFLA MoV RO,OPFLAG sLET R3 := #0 sCLEAR EVENT FLAG ;IF POWER FAIL HAS NOT OCCURRED THEN: R3 PWRFLG 503449 RFADEF #EF .NEW 50345$ STAFLG 50346% READEF #EF .RES 8CS CoM 50347% R3 BR 503508 INC R3 sHAS TR{RE BE A POWER FAILURE? MoV #EF .PWR,RO TRAP CSREFG sBRANCH IF NOT. 8CC INIT16 sIF SO = SET THE STARiV FLAG. sIF SO = SET THE POWER FAIL FLAG. ;UPDATE PASS COUNT WHEN MOV TRAP :SUPERVISOR IS IN NEW PASS sAND DIAG WAS NEITHER STARTED <NOR sIFCOND CC THEN ;LET R3 := COMP R3 Mov TRAP sRESTARTED ;DO IT ;SET _1ST PASS IF NEW PASS AND sRESTARTING NEF NEW, RO CSREFG #EF .RES,RO CSREFG — MISCELLANEOUS SECTIONS INITIALIZE SECTION 3192 021672 3193 3194 021672 3195 021674 3196 021674 3197 3198 021676 3199 3200 021676 3201 3202 021676 3203 021676 3204 021702 3205 021704 3206 021704 3207 021712 3208 021714 3209 021716 3210 021720 3211 021722 021722 3212 021724 3213 021726 3214 021732 3215 021736 3216 021744 3217 021750 3218 021754 3219 021760 021760 021764 021770 021774 022000 022002 3220 3221 022006 3222 022012 3223 022014 3224 022016 3225 022020 3226 022022 3227 3228 022026 3229 022030 3230 022030 323 1 3232 022036 3233 3234 022036 3235 3236 022036 3237 022036 3238 022042 3239 3240 022046 3241 022050 MACRO M1113 25-MAY-82 09:51 E PAGE 20-62 SEQ 0108 503508: 000401 : 503468 005203 BR 503518 INC R3 JSET 1ST PASS IF NEW PASS AND s STARTING 50351s: ;DO NOT UPDATE IT ON CONTINUE 50345$: 004737 005002 017060 026527 001456 005202 010500 006200 002604 503448: 177777 012746 016546 016546 012746 106437 062706 005065 005703 001410 005703 002003 005265 002514 002524 000002 002534 003532 003534 PC.FIRSTU CLR R ASR GPHARD RO RO,RO 8(( 50354% MOV MOV ADD Mov MOV MoV 002524 SETVEC 000340 002554 002534 000003 ;LET R2 := #0 sINIT DEVICE POINTER. sINIT DEVICE COUNTER. sGET HARDWARE P TABLE FROM SUPER. TRAP CSGPHRD s JFCOND CS THEN (R0O),TSDB(RS) (RO) +, TSSR(RS) #2,TSSR(RS) (RO)+,TSVCT(RS) (RO) , TSUNT(RS) (RO) , TSNP s SAVE TSDB ADDRESS. :SAVE TSSR ADDRESS. sSAVE INTERRUPT VECTOR ADDRESS. sSAVE NUMBER OF DRIVE :: SAVE FOR PRINT QUT'S TSVCT(RS),TSSINT(RS) ,#INTPR] MoV MoV MOV MOV TRAP ADD 000010 003472 CLR 003326 BEQ TST BGE INC R3 50356% PASCNT (RS) BR 50357% Mov TST 000403 012765 JSR 50352%: cWHILE DEVTBL(RS) NE #END DO cmp DEVTBL (RS) ,#END 8EQ 50353% INC R sLET R2 := R2 + M MOV R5.RO sLET RO := RS SHIFT =1 104442 103044 011065 012065 062765 012065 011065 011037 sOR ON POWER FAIL 000001 003326 50356$: INTFLG(RS) R 50355% 000716 50354%: 50353s: #10,SP ;IF R3 LT #0 THEN sLET PASCNT(RS) : #1,PASCNT(RS) sLET PASCNT(RS) : CLR JSR RECCNT(RS) PC,NEXTU ;CLEAR RECORD COUNT ;DO IT FOR ALL DEVICES. BR 50352% PASCNT(RS) 50355$: 003376 017126 TSSINT(RS) ,=-(SP) TSVCT(RS) ,~(SP) #3,-(SP) CSSVEC ¢SET UP INTERUPT PROCESSING COND ITIONS. sCLEAR INTERRUPT FLAGS. ¢cACTUAL PASSCOUNT UPDATE PER R3 50357$: 005065 004737 #INTPR] ,=(SP) + m MISCELLANEOUS SECTIONS INITIALIZE SECTION 3242 3243 022050 3244 022052 3245 022054 022070 3246 022074 022074 022100 MACRO M1113 25-MAY-82 09:51 005702 TST 001026 012746 012746 010600 104417 PAGE 20-63 BNE 000004 012727 000000 013727 000310 R2 50360% PRINTF NAUDRPM 005114 000001 062706 F SEQ 0109 sIF THERE ARE NO UNITS: sPRINT ALL UNITS DROPPED, MoV MoV MOV TRAP DELAY 200. 002116 ADD #4,SP Mov LWORD #200.,(PC)+ 0 .WORD DEC BNE DEC 0 =6(PC) .~4 MoV 177756 BREAK 104422 ;GO TO SUPERVISOR, CHECK TTv, DOCLN 104444 SP,RO CSPNTF ;GO TO SUPERVISOR, WAIT 2 SECONDS. 177772 001367 #AUDRPM,=(SP) #1,-(SP) LSDLY, (PC)+ =22(PC) TRAP C$BRK TRAP CSOCLN MoV TRAP #PRI00,RO C$SPRI ;DO CLEAN CODE + ABORT PASS. 503608: 022134 3254 022136 3255 022142 3256 022144 3257 022152 3258 022154 3259 022160 3260 022160 3261 022166 3262 022170 3263 022174 022174 022200 022204 3264 3265 022222 3266 022230 3267 022232 3268 3269 022236 3270 022236 3271 022242 3272 022242 3273 022250 3274 022252 3275 022260 012700 106441 105737 001033 032737 001027 004737 026527 001421 105037 SETPR] #PRI00 000000 002213 000020 TST8 003536 017060 002604 177777 : 503628 003530 012746 012746 012746 012746 104437 062706 000340 023706 000004 000003 012737 000404 000137 000001 005237 003436 023727 003134 012775 003436 000025 002340 002514 BNE BIT BNE JSR CMP BEQ CLRB SETVEC :LOWER CPU PRIORITY TO O IREC 1$ 120R.0PFLAG ;IF ERROR RECOVERY IS ENABLED PC,FIRSTU cAND AUTO-DROP NOT CALLED, THEN SET UP FOR FIRST JWHILE THERE ARE MORE DEVICES: ?EVTBL(RS).#END TRAPD4 #4 ,ATRA ,# INTPR] PL sCLEAR TRAP FLAG cSET VECTOR 4,PRIORTY a6 MOV MOV MOV MV TRAP ADD 000010 003436 023060 1%: 503668%: 50365%: MoV #1,TIME1 JMP 50363$ 50365$ INC TIME1 CMP BGT TIMET,#25 48 MOV DELAY #GSCPK,aTSDB(RS) 25 sSTART 3.5 MINUTE COUNTER cINCR TIME1 FROM #1 TO #25 BY M JAND GET UNITS STATUS JWALT #INTPRI ,=(SP) #TRAPL ,~(SP) #4,-(SP) #3,-(SP) CSSVEC #10,5P | MISCELLANEOUS SECTIONS INITIALIZE SECTION 022260 022264 0 3276 022310 0 3277 02 3278 022 3279 022324 3280 822330 0 3281 022354 3282 022362 3283 022364 3284 022366 022366 3285 3286 022370 022370 3287 3288 022372 3289 022376 022376 022402 022406 022412 022416 022420 3290 022424 3291 022430 022430 022434 022456 3292 022460 022460 022464 3293 022466 3294 022472 3295 022474 3296 022500 022500 022504 012727 000000 013727 000000 005367 001375 005367 001367 012700 104436 105737 001423 005265 016546 012746 012746 010600 104417 062706 016537 010500 006200 MACRO M1113 25-MAY-82 09:51 6 SEQ 0110 000025 mMov . WORD Mov . WORD DEC 002116 177772 BNE DEC BNE 177756 CLRVEC 000004 003530 TSTB BEQ INC 003366 PRINTF 002524 005543 000002 000006 002604 017366 MOV MOV ASP DOLU 104451 6 105037 003530 012746 012746 012746 012746 104437 062706 005775 000340 023706 000004 000003 000010 002524 000025 2$: CLRB SETVEC TST DELAY sCLEAR VECTOR AT 4 TRAPD4 :IFB TRAPD4 NE #0 THEN FTLCNT(RS) SLET FTLCNT(RS) sPRINT ERROR 2% #NODEV, TSSR(RS) DEVTBL (RS) ,DROPN R5,R0 RO RO := FTLCNT(RS) MOV MOV MOV Mov TRAP ADD sSAVE # OF UNIT TO BE DROPPED. sDROP THE UNIT TRAPD4 #4 ,HTRAPL ,#INTPR] dTSSR(RS) 25 cCHECK FOR ADDRESS 003366 016546 012746 002524 005543 TST8 BEQ INC PRINTF #4,R0 CSCVEC + n TSSR(RS) ,-(SP) #NODEV,=(SP) #2,~(SP) SP,RO CSPNTF #6,SP MoV MoV MOV MOV TRAP ADD #INTPRI ,-(SP) #TRAP4 ,~(SP) #4,-(SP) WAIT 177756 003530 =4 «22(PC) C$DODU sCLEAR TRAP FLAG sSET VECTOR 4,PRIORTY @6 177772 000004 -6(PC) TRAP MOV .WORD MoV -WORD CLRVEC bSDLY,(PC)o sRO=LOGICAL DEVICE NUMBER 002116 012700 104436 105737 001424 005265 MOV TRAP 325.(PC)0 ; EXEC_BGNDU-ENDDU CODE IF IDU = 0 ;D0 CLEAN EABORT TRAP CSDCLN DOCLN 106444 012727 000000 013727 000000 005367 001375 005367 001367 PAGE 20-64 (L) sCLEAR VECTOR AT 4 TRAPD4 ;1FB TRAPD4 NE #0 THEN FTLCNT(RS) #NODEV, TSSR(R5) SLET FTLCNT(RS) ;PRINT ERROR 33 #3,-(SP) CSSVEC #10,sP 525.(PC)0 bSDLY.(PC)O DEC BNE DEC -629C) MOV TRAP #4 RO CSCVEC BNE := FTLONT(RS) MOv MOV <22(PC) =20 + 1 TSSR(RS) ,-(SP) #NODEV, - (SP) MISCELLANEOUS SECTIONS INITIALIZE SECTION 022510 022514 022516 022520 3297 022524 3298 022532 3299 022534 3300 022536 022536 3301 3302 022540 022540 3303 3306 022542 3305 3306 022544 3307 022550 3308 022554 022554 022560 022562 022566 022570 022574 022576 022602 3309 022604 3310 022612 022612 022616 022620 022624 022626 022632 022634 022640 3311 022642 3312 022650 3313 022652 3314 022660 3315 022662 3316 3317 022664 3318 022664 022664 022670 022674 022700 022702 022704 3319 3320 022710 3321 3322 022710 3323 022712 3324 022712 022712 012746 010600 104417 062706 016537 010500 006200 MACRO M1113 25-MAY-82 09:51 000006 002604 017366 MOV MOV ASR pODU 012727 000000 013727 000000 005367 001375 005367 001367 032775 001420 032775 001001 000457 4 3s: 007766 002514 503678 JSR PC,SETDEF MOV MoV TRAP ADD JSAVE # OF UNIT TO BE DROPPED. ;DROP THE UNIT gg.arsoa(RS) 177756 MOV DELAY 000025 TRAP c$DoOU TRAP CSDCIN MOV WORD MoV .WORD DEC BNE DEC BNE #cS,(PC)+ O LSOLY,(PC)+ O -6(PC) .~4 =22(PC) .= MOV .WORD #25,(PC)+ 0 sSET UNIT NUMBER 1727772 002514 #GSCPK,aTSDB(RS) 25 JAND GET UNITS STATUS JWAIT 002116 MOV #TS.SSR,ATSSR(RS) #TS.OFL ,@TSSR(RS) JIF #TS.OFL NOTSETIN QTSSR(RS) 177756 002524 000100 002524 BIT 8EQ BIT BNE BR 003534 005456 000002 PRINTF LSDLY, (PC)+ .WORD 0 DEC -6(PC) BNE .~4 DEC =22(PC) BNE .=20 SIF #TS.SSR SETIN @TSSR(RS) THEN 177772 000200 SP,RO CSPNTF #6,SP JRO=LOGICAL DEVICE NUMBER 002116 002340 #2,-(SP) . EXEC BGNDU-ENDDU CODE IF IDU - 0 ;DO CLEAN EABORT BGT DELAY 000025 50371s: 013746 012746 012746 010600 104417 062706 DEVTBL (RS) ,DROPN R5,RO RO RO DOCLN 003127 012727 000000 013727 000000 005367 001375 005367 001367 012775 SEQ 0111 MOV 1046444 010475 H 000002 104451 004737 PAGE 20-65 503708 503718 503648 #OFLINM, TSNP THEN JEXIT COUNTER WHEN UNIT ON LINE JPRINT UNIT OFF 000006 LINE EVERY 10 SEC MOV TSNP ,~(SP) MOV #OFLINM, -(SP) MOV MOV TRAP ADD #2,-(SP) SP_RO COPNTF #6,SP MOV DEVTB (RS) ,~(SP) L 50372s: 000412 016546 50370s: 002604 BR 50373$ PRINTF #NRDYM,DEVTBL(RS) r MISCELLANEOUS SECTIONS INITIALIZE SECTION 022716 022722 022726 022730 022732 3 325 3326 022736 3327 022736 3332 022752 3333 022760 3334 MACRO M1113 012746 012746 010600 023656 000002 062706 000006 012737 000402 000001 005237 003440 023727 003016 003440 012727 000000 013727 000000 005367 001375 005367 001367 000144 104417 25-MAY-82 09:51 003440 50373s$: 50375$: 000013 503748: 023026 3342 023030 3343 023036 3344 023040 3345 023044 3346 3347 023050 3348 3349 023050 3350 3351 023054 3352 3353 023060 3354 023060 3355 023060 3356 023064 3357 023066 023727 003404 004737 004737 MOV #1,TIME2 INC TIME2 CMP 86T TIME2,#13 50376$ BR 503748 DELAY 100. : 503768 022236 50367$: 000004 003436 000025 JALLOW TERMINAL INTERRUPT BR 50375$ JMP 50366$ CLRVEC #4 CMP BLE 012734 013430 004737 017126 000137 022160 104431 002011 012746 sWAIT FOR UNIT TO BE SET ON-LINE 177756 BREAK ;CLEAR VECTOR AT 4 TIME1,#25 50377% JSR PC,MOVMSG JSR PC.TCCI 50363$%: 50361%: 003527 50362$ 1ST8 PWRFLG BNE 504008 023166 003410 003410 004000 M . WORD MOV .WORD 5100..(PC)+ 8$DLV,(PC)+ DEC BNE DEC BNE =-6(PC) TRAP C$BRK MOV TRAP #4 RO sIF OFF LINE FOR 3.5 MINUTES A =22(PC) CSCVEC sGET MESSAGE PACKET sPRINT ERROR AND DROP OfF LINE UNIT ;IFB PWRFLG EQ #0 THEN MoV ADD DATAWT ,DATARD #DATCNT,DATARD BGE 504018 CMP SP,RO CSPNTF #6,SP sSET UP FOR NEXT UNIT. MEMORY DATAWT 003406 003406 004000 160272 #2,=(SP) sREPEAT UNTIL ON LINE OR TIMED OUT. JSR PC_NEXTU JMP #NRDYM,~(SP) JINCR TIME2 FROM #1 TO #13 BY #1 177772 50377%: 105737 001026 SEQ 0112 002116 503648 012700 104436 l Mov MoV MOV TRAP ADD 104422 000754 000137 PAGE 20-66 aDATAWT . #DATCNT PRINTF #MEMOM sREQUEST MEMORY FROM SUPER FOR RD/WR BUFFERS. TRAP CS$Mch MOV RO,.DATAWT sSET RD BFR ADDRESS sWHEN NOT ENOUGH FREE MEMO AVAILABLE ;WARN OPERATOR MOV #MEMOM, - (SP) MISCELLANEOUS SECTIONS INITIALIZE SECTION 023124 023130 023132 023136 3363 023140 023140 3364 3365 023142 3366 %gg; 023142 012746 010600 104417 062706 3369 023142 3370 023146 3371 023152 %g;g 023156 105037 012703 004737 105037 3374 023162 023162 023164 3375 023166 023171 023174 023177 023202 023205 023210 023213 023216 023221 023224 023227 023232 3376 023234 023237 023242 023245 023250 023253 023256 023261 023264 3377 3378 3379 023270 023270 3380 023270 3381 3382 3383 3384 3385 3386 3387 3388 3389 023272 023272 MACRO M1113 25-MAY-82 09:51 J PAGE 20-67 SEQ 0113 000001 090004 DOCLN 104444 504018: MoV MoV TRAP ADD 1 ,=-(SP) SP,RO CSPNTF 8 ,SP ;AND ABORT PASS TRAP CSDCLN :DIAG MUST BE RE-LOADED IN A CPU WITH LARGER MEMO 504008 : 104432 000104 045 122 040 115 124 040 101 040 122 104 122 106 045 045 105 117 040 040 122 122 105 045 104411 002214 003526 012664 003527 101 105 115 117 117 123 114 106 040 055 040 122 116 101 0SS 101 1M1 114 107 040 118 116 106 105 105 040 117 115 114 117 122 127 102 123 MEMOM: 122 114 104 116 101 105 115 117 000 CLRB MOV JSR CLRB CHGFLG #ENDFLG,R3 PC.CLRERR PWRFLG EXIT INIT ;CLR CHANGE CMD SEQ TBL FLAG. :LET R3 := #ENDFLG JCLEAR ALL FLAGS. JCLEAR THE POWER FAIL FLAG. _.ASCI! /XAFREE MEMO TOO SMALL FOR RD-WR BFRSIN/ .ASCIZ /XARE=-LOAD IN LARGER MEMOXIN/ TRAP .WORD CSEXIT L10012~. TRAP CSINIT .EVEN L10012: .SBTTL ENDIN]T AUTO DROP SECTION c4e cSECTION EXECUTED AFTER THE INJT CODE WHEN ‘ADR'' FLAG IS SET BY OPERATOR sSECTION CHEKS FOR A VALID INTERFACE LOCATION. DROPS UNIT IF NO RESPONSE ;JFROM INTERFACE .= LSAUTO BGNAUTO —- MISCELLANEOUS SECTIONS AUTO DROP SECTION 3390 3391 023272 3392 023276 3393 023276 3394 023304 3395 023306 3396 02331% 3399 3400 3401 3402 017060 02¢ 27 001525 105037 002604 012746 012746 012746 012746 000340 023706 000004 000003 0 012700 104436 105737 001423 005265 016546 012746 012746 010600 104417 062706 016537 010500 006200 023422 104451 8 023424 023426 023426 000452 11 023434 12 023440 13 023446 14 023450 15 023456 16 023460 17 023464 023464 023470 023474 023500 3418 023510 3419 3420 023514 34621 3422 023514 3423 023516 3424 023516 3425 023522 012772 004737 032775 001423 u32775 001416 005265 PAGE 20-68 K JSR PC,FIRSTU 177777 7530 : :WHILE DEVTBL(RS) NE #END DO 06028 cMP DEVTBL (RS) , #END BEQ 50403 CLRB TRAPD4 :LET TRAPDSG SETVEC #4,#TRAPS ,#INTPRI MOV aTSDB(RS) ,R2 TST8 BEQ 003366 INC 002514 023562 000002 TRAPD4 FTLCNT(RS) PRINTF #AUTODM,TSDB(RS) MOV MOV #4,-(SP) #3,-(SP) ADD #10,SP MOV TRAP #4,RO CSCVEC 017366 MoV sLET FTLCNT(RS) : 506048 DEVTBL (R5) ,DROPN :gx sg.Ro DODU RO ;PRINT ERROR := FTLCNT(RS) + M Mov MOV MOV MoV BR 50405% [ [+]" #GSCPK ,aTSDB(RS) 002524 000100 002524 BIT BEQ BEQ INC 003366 003366 #2,-(SP) SP,RO 504068 #TS.OFL ,8TSSR(RS) 504078 FTLCNT(RS) PRINTF #OFLINM, TSNP IDU = 0 TRAP BR INC WAIT xr #TS.SSR SETIN QTSSR(RS) THEN sIF #TS.OFL SETIN @TSSR(RS) THEN sLET FTLCNT(RS) := FTLCNT(RS) + #1 MOV MOV MOV MOV TRAP ADD 504108 FTLCNT(RS) PRINTF #NRDYM,DEVT (RS) BL C$DODU seuo GET STATUS COMMAND JSR PC.DROPUA 504168$: czpurr :SAVE # OF UNIT TO BE DROPPED. 50407%: 005265 TSDB(RS) ,~(SP) #AUTODM, - (SP) ;RO=LOGICAL DEVICE NUMBER :DROP THE UNIT: EXEC BGNDU-ENDDU CODE IF JSR PC,WSSR BIT #TS.SSR,ATSSR(RS) 000416 CSSVEC Igsp 002514 000006 017302 #INTPR],=(SP) #TRAPL ,=(SP) sCLEAR VECTOR AT & ;IFB TRAPD4 NE #0 THEN 504048 002340 012700 000200 062706 004737 :8= #0 ;SET VECTOR 4 ;ADDRESS TS05 INTERFACE CLRVEC #4 003530 003534 005456 000002 : TRAP 000004 000006 002604 cFIND FIRST UNIT MoV MoV 000010 002514 013746 012746 012746 010600 104417 25-MAY-82 09:51 SEQ 0114 004737 104437 062706 017502 3397 3398 MACRO M1113 LET FTLCNT(RS) := FTLCNT(RS) + #1 TSNP, =(SP) #OFLINM - (SP) #2,-(SP) SP,RO CSPNTF #6,SP --— MISCELLANEQUS SECTIONS AUTO DROP SECTION 023522 023526 023532 023536 023540 023542 3259 023546 3428 023552 3429 3430 023552 gzg% 023552 3433 023556 gzgg 023560 3436 023560 023560 3437 023560 3438 023562 023565 023570 023573 023576 023601 023604 3439 023605 023610 023613 023616 023621 023624 023627 023632 023635 023640 023643 023646 023651 023654 3440 023656 023661 023664 023667 023672 023675 023700 023703 3441 3442 3443 3444 3445 3446 3447 023706 3448 023712 016546 012746 012746 010600 104417 062706 004737 MACRO M1113 25-MAY-82 09:51 PAGE 20-69 L SEQ 0115 002604 023656 000002 000006 017302 JSR PC,DROPUA Mov Mov Mov Mov TRAP ADD DEVTBL (R5),=(SP) #NRDYM - (SP) #2,-(SP) SP,RO CSPNTF #6,SP TRAP C$AUTO 504108: 004737 504058 : 017126 000647 50403S$: L10013: 104461 045 125 124 120 124 117 116 045 116 122 103 102 040 040 124 105 124 101 126 101 116 045 116 040 061 040 124 104 116 101 123 122 040 040 066 102 040 101 101 045 045 101 124 106 105 101 117 116 040 124 117 102 105 104 000 101 11 045 045 116 m 105 101 040 104 122 117 123 040 040 117 040 045 040 131 000 125 124 104 101 117 AUTODM: NRDYM: 003530 BR 50402% ENDAUTO .ASCII /XABUS TRAP AT X06IN/ .ASCIZ /XAINTERFACE BAD OR NOT SET TO ABOVE ADIN/ _ASCIZ /XAUNIT XD1XA NOT RDYIN/ 122 045 .EVEN H : : 105237 000002 JSR PC,NEXTU DEVICE BUS TRAP HANDLER OUTPUT: TRAPD4 BYTE 1: TRAPED AT 4 0: NO TRAP TRAP4:: IN(B RTI TRAPD4;LET TRAPD4 :B= TRAPDG + #1 r MISCELLANEQUS SECTIONS AUTO DROP SECTION MACRO M1113 25-MAY-82 09:51 PAGE 20-70 M SEQ 0116 3449 3450 3651 .SBTTL CLEANUP CODING SECTION 24 : THE CLEANUP CODING SECTION CONTAINS THE CODING THAT IS PERFORMED ;s 3458 023714 023714 3459 3460 023714 3461 023720 3462 023720 3463 023726 3464 023730 3465 023734 023734 0237490 3466 023742 3467 3468 023746 3469 023750 2470 3471 023750 023750 023752 3472 3473 3474 023754 023754 023754 3475 3476 3477 3478 3479 3480 3484 023756 023756 3485 3486 023756 3487 023760 3488 023762 3489 023770 023770 023774 3490 023776 023776 024002 024006 024012 024014 AT THE END OF EACH PASS. BGNCLN LSCLEAN:: 004737 017060 026527 001410 004737 002604 016500 104436 004737 1772777 504118: 012700 002534 JSR PC,FIRSTU ;WHILE DEVTBL(RS) NE #END DO CMP DEVTBL (RS) ,#END BEQ 504128 JSR PC,WSSR CLRVEC TSVCT(RS) 017126 JSR 000764 504128: 104432 000002 PC.NEXTU B8R 504118 EXIT CLN JFIND FIRST UNIT. SWAIT FOR UNIT READY OR TIMEOUT, SRELEASE INTERRUPT VECTORS FOR ALL DEV. JFIND NEXT UNIT. .EVEN L10014: 104412 .SBTTL ' L10014=- TRAP CSCLEAN ENDCLN DROP UNIT SECTION T s THE DROP-UNIT SECTION CONTAINS THE CODING THAT CAUSES A DEVICE c TO NO LONGER BE TESTED. iMACRO 1S CALLED WHILE LS$DU:: 010005 006305 012765 177774 016500 104436 002534 013746 012746 012746 010600 017366 005065 000002 104417 002604 THAT CODE SHALL BE EXECUTED WHEN DODU IDU FLAG IS NOT SET BY OPERATOR BGNDU :g{ gg.RS :RS = LOGICAL DEVICE NUMBER X 2. MOV #NINUSE ,DEVTBL (RS) sSET NOT #DROPDM,DROPN sPRINT DROP DEVICE MESSAGE MOV MOV CLRVEC TSVCT(RS) PRINTF IN USE FLAG FOR THE DEVICE. JRELEASE THE INTERRUPT VECTOR. MOV MOV TRAP OROPN,-(SP) #DROPCM,~(SP) #2,-(SP) SP.RO CSPNTF f MISCELLANEQUS SECTIONS DROP UNIT SECTION 024016 3491 024022 026022 024024 3492 3493 3494 024026 024026 024026 062706 MACRO M1113 25-MAY-82 09:51 PAGE 20-71 SEQ 0117 000006 EXIT 000167 000000 oU .EVEN L10015: 104453 .SBTTL ADD #6,SP -WORD -WORD JSJMP L10015-2~. TRAP (&DIV] ENDDU ADD UNIT SECTION s+ ¢ : ; 3504 024030 024030 3505 024030 3506 024032 3507 024034 3508 024040 024040 3509 024042 3510 024046 3511 024052 3512 024060 3513 024064 3514 024070 3515 024074 024074 024100 024104 026110 024114 024116 010005 006305 010065 104442 011065 012065 062765 0 0O 0 0 0 016546 012746 104437 062706 024122 005065 024126 024126 0 024130 000167 000000 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. LSAU:: 002604 002514 002524 000002 002534 003532 003534 MOV ASL MOV RO,RS R5 RO,DEVTBL (RS) RO,.RO MoV MOV ADD MOV MOV MOV (R0O), TSDB(RS) (RO)+,TSSR(RS) #2,TSSR(RS) (RO) ,TSVCT(RS) ;RS = LOGICAL DEVICE NUMBER X 2. sSTORE UNIT # IN DEVICE TABLE. :GET HARDWARE P TABLE FROM SUPER. TRAP CSGPHRD sSAVE TSDB ADDRESS. sSAVE TSSR ADDRESS. sSAVE INTERRUPT VECTOR ADDRESS. (RO) , TSUNT(RS) s SAVE NUMBER OF DRIVE (RO), TSNP :SAVE FOR PRINT OUT'S SETVEC TSVCT(RS),TSSINT(RS) ,#INTPR] 000340 002554 002534 000003 000010 003472 CLR INTFLG(RS) EXIT AU MoV MOV MoV MoV TRAP ADD #10,SP -WORD .WORD JSJMP L10016-2-. TRAP CSAU #INTPRI ,=(SP) TSSINT(RS) ,-(SP) TSVCT(RS) ,-(SP) #3,-(SP) CSSVEC sSET UP INTERUPT PROCESSING CONDITIONS. sCLEAR INTERRUPT FLAGS. .EVEN 3522 3523 024132 024132 024132 BGNAU GPHARD 002524 IF 104452 L10016: ENDAU .TITLE HARDWARE TESTS .SBTTL TEST 1: BASIC FUNCTIONS. [ HARDWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTIONS. 25-MAY-82 09:51 PAGE 20-72 8 10 SEQ 0118 353 X %g%% ; 3534 3535 024134 3536 3537 024134 3518 024134 3539 024134 %gz? 024140 3542 024144 024144 BGNMOD T1:: 105037 105037 3543 024144 104402 3544 3545 3546 3547 004737 004737 103404 024146 024152 024156 024160 026160 024162 026164 3548 026166 3549 024170 3550 024174 3551 0264200 3552 0264204 3553 024210 3554 024214 3555 024214 3556 024222 3557 024224 3558 024230 3559 024234 3560 024240 3561 024246 3562 024252 3563 024260 0264260 024266 026270 024274 024300 024302 024304 3564 3565 024310 0264310 0243146 024320 024324 024330 024332 024334 3566 TEST TO EXECUTE ALL TSOS FUNCTIONS. 003515 003514 BGNTST CLRB CLRB T1.1: 017060 007072 BGNSUB JSR JSR BCS ERRDF 104455 000002 004536 RANDOM EXPROT sCLR THE RANDOM OPERATIONS FLAG. sCLR EXPECT BOT FLAG. ;SUBTEST 1 - SET CHAR, DRIVE INIT, GET STATUS. PC,FIRSTU PC,SOFINIT 11$ 2.NSSRM,STAERM 004737 026527 001451 016502 062702 011265 JREPORT TSO0S5 NOT READY 007466 025052 025026 010226 118: 017060 002604 002564 016546 016546 012746 012746 010600 104417 062706 002564 002604 004162 000003 177477 JSR MOV JSR JSR JSR 177777 002544 000012 177700 002574 016546 016546 012746 012746 010600 104417 062706 TRAP .WORD .WORD CSERDF 2 NSSRM .WORD 042765 011265 042765 c$8suB JFIND THE FIRCT UNIT, JINIT DEVICE 006120 004737 012702 004737 004737 TRAP 002564 002574 000010 PC,FIRSTU ;G0 DO SETUP'S ;ADR OF CMD SEAQ. :SET UP CMD SEQ. JEXECUTE CMD SEQ ON ALL DEVICES. JFIND THE FIRST UNIT. 50413%: WHILE DEVTBL(RS) NE #END DO ;WHILE THERE ARE MORE DEVICES: cMP DEVTB (RS) ,#END L BEQ 504148 MOV MSGPKA(RS) ,R2 ;GET MSG PACKET ADR, ADD #12.R2 :LET R2 := R2 + #12 :GET XSTAT2 ADR, MOV (R2) ,TSSCL(RS) ;STORE CODE LEVEL FROM DTR BYTE, 8IC MOV BIC PRINTF 000010 002574 002604 004231 000003 PC,MDSET #BFSEQQ,R2 PC ,BFSEQ PC,EXALL STAERM PRINTF #177700,TSSCL(RS) (RZ).TS§SH(R5) #177477 ,TSSSW(RS) #CODELM,DEVTBL (RS),TSSCL(RS) ;STORE SWITCH SETTINGS MoV TSSCL(RS) ,~(SP) MoV DEVTBL(RS),-(SP) MOV #CODELM,~(SP) MOV #3,-(SP) MOV SP,RO TRAP CSPNTF ADD #10,SP JPRINT THE TSO0S MICROCODE LEVEL. #SWSET,DEVTBL(RS),TSSSW(RS) MOV TSSSW(RS) ,=-(SP) MOV DEVTBL(RS) ,~(SP) MOV #SWSET,~(SP) MOV #3,-(SP) MOV SP.RO TRAP CSPNTF ADD #10,SP sPRINT THE TSOS SWITCH SETTINGS. HARDWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTIONS. 3567 024340 3568 024340 3569 3570 024344 3571 024346 357 2 3573 024346 024346 024346 3574 3575 024350 024350 024350 3576 3577 024352 3578 024356 3579 024362 3580 024366 3581 024372 004737 25-MAY-82 09:51 017126 000723 L10020: T1.2: 104402 012702 004737 004737 105037 025124 025026 010226 003526 3585 024376 3586 024402 3587 024406 3588 024412 024412 3590 024414 024414 024414 3591 3592 024416 3593 024422 3594 024426 3595 024432 024432 024432 3596 3597 024434 026434 024434 3598 3599 024436 3600 024442 3601 024446 3602 024452 024452 3604 024454 024454 7T1.3: 104402 012702 004737 004737 025136 025026 010226 T1.4: sFIND NEXT UNIT. 50413% BGNSUB JSR CLRB ENDSUB TRAP C$ESUB TRAP csssus sSUBTEST 2 - REWIND. #BFSEQ1T ,R2 PC,BFSEQ PC,EXALL STAFLG sADR OF CMD SEQ. sSET UP (MD SEQ. sEXECUTE CMD SEQ ON ALL DEVICES. sCLEAR START FLAG TRAP JSR JSR ENDSUB 025230 025026 010226 #BFSEQ2 ,R2 PC.BFSEQ PC,EXALL BGNSUB JSR JSR L10023: T1.5: 104402 ENDSUB #BF SEQ3 R2 PC,BF SEQ PC,EXALL BGNSUB L10024: T1.6: JSR ENDSUB CSESUB sSUBTEST 5 = SPACE FILES. #BF SEQ4 ,R2 PC,BF SEQ PC,EXALL $8suB :ADR OF CMD SEQ. ¢SET UP CMD SEQ. cEXECUTE CMD SEQ ON ALL DEVICES. TRAP BGNSUB C$RSUB ;ADR OF CMD SEQ. cSET UP CMD SEQ. sEXECUTE CMD SEQ ON ALL DEVICES. TRAP MOV JSR CSESUB sSUBTEST 4 =~ WRITE TAPE MARK, ERASE. TRAP 025302 025026 010226 csBsuB ¢ADR OF CMD SEQ. :SET UP CMD SEQ. +EXECUTE CMD SEQ ON ALL DEVICES. TRAP MoV CSESUB ;SUBTEST 3 ~ WRITE/VERIFY. B8GNSUB TRAP 104403 104403 PC,NEXTU ENDSUB MOV L10022: 104402 012702 004737 004737 BR SEQ 0119 TRAP 104403 012702 004737 004737 JSR MOV JSR L10021: 104403 024374 504158 504148: 104403 10 PAGE 20-73 sSUBTEST 6 - SPACE RECORDS. C$ESUB HARDWARE MACRO M1113 BASIC FUNCTIONS. 164402 012702 004737 004737 TRAP 5344 3613 3614 3615 3616 024476 024502 024506 024512 024512 024514 3620 3621 3622 3623 024516 024522 024526 024532 024532 3625 024534 024534 024534 3626 3627 024536 3628 024542 3629 024546 3630 024552 L10025: T1.7: 104402 L10026: 71.8: 025470 025026 010226 JSR JSR ENDSUB CSESUB sSUBTEST 7 - WRITE RETRY. #BF SEQ6,R2 PC,BFSEQ PC,EXALL BGNSUB MOV L10027: JSR JSR ENDSUB T1.9: #BFSEQ7 ,R2 PC,BFSEQ PC,EXALL BGNSUB L10030: T1.10: 104402 025554 025026 010226 sADR OF JSR JSR ENDSUB CMD SEQ. sSET UP CMD SEQ. sEXECUTE CMD SEQ ON ALL DEVICES. #BF SEQ8 ,R2 PC.BFSEQ PC,EXALL cADR OF 025576 csssus CMD SEQ. TRAP CSESUB TRAP cs8suB sSUBTEST 10~ CLEAN. #BF SEQ9,R2 PC,BFSEQ PC,EXALL BGNSUB MOV C$ESULB sSET UP CMD SEQ. sEXECUTE CMD SEQ ON ALL DEVICES. sADR OF (MD SEQ. :SET UP CMD SEQ. sEXECUTE CMD SEQ ON ALL DEVICES. TRAP T1.11: csssus ;SUBTEST 9 - READ FWD RETRY. BGNSUB MoV L10031: 104403 MOV JSR JSR ENDSUB CSESUB sSUBTEST 8 - READ REV RETRY. TRAP 025522 025026 010226 csBsuB ¢ADR OF CMD SEQ. :SET UP CMD SEQ. ;EXECUTE CMD SEQ ON ALL DEVICES. TRAP 104402 104402 CMD SEQ. :SET UP CMD SEQ. JEXECUTE CMD SEQ ON ALL DEVICES. TRAP 104403 012702 ¢ADR OF TRAP 104402 012702 004737 004737 BGNSUB MOV 104403 012702 004737 004737 #8F SEQS5 ,R2 PC,BFSEQ PC,EXALL TRAP 012702 004737 004737 012702 004737 004737 JSR JSR ENDSUB csasus TRAP 104403 3632 024554 024554 024554 3633 3634 024556 3635 024562 3636 024566 3637 024572 024572 024572 3638 3639 024574 024574 024574 3640 024576 MOV 5026 0226 104403 024474 D 10 PAGE 20-74 — NN 024454 S 3606 024456 3607 024462 3608 024466 3609 024472 25-MAY-82 09:51 SEQ 0120 [e]ele) TEST 1: TESTS CSESUB ;SUBTEST 11 - WTV SWAPPED DATA BYTES. #BFSE10,R2 sADR OF CMD SEQ. TRAP (sssus HARDWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTIONS. 3641 024602 3642 024606 3643 024612 3644 026620 3645 024624 3646 024630 024630 024630 3647 024632 3648 0264636 3649 024642 3650 024642 3651 026646 %gg% 024650 3654 024652 3655 024654 %ggg 026654 3658 024660 024660 024660 3659 024662 3660 024670 3661 024674 3662 024702 3663 024706 3664 0247146 004737 004737 112737 004737 105037 104403 013702 25-MAY-82 09:51 025026 010226 000001 010226 003520 SEQ 0121 003520 L10032: 003406 062702 000012 020237 001402 000342 003406 504168: 000773 105237 104402 012737 004737 012737 004737 112737 012737 50417 : 003523 11.12: 104401 016130 000012 E 10 PAGE 20-75 003420 JSR JSR MOVB JSR CLRB ENDSUB PC,BFSEQ PC,EXALL #1.SWBFLG PC,EXALL SWBFLG ;SET UP CMD SEO. JWRITE/VERIFY RECORDS 1 AND 2. *ENABLE BYTE SWAPPING. JWRITE/VERIFY RECORDS 3 AND 4. *DISABLE BYTE SWAPPING. MOV DATAWT ,R2 TRAP ;INIT WRITE BUFFER POINTER. ADD BR 504168 INCB T1SW8 ;UNTIL 10 BYTES HAVE BEEN SWAPPED. JSWAP DATA BYTES IN WRITE BUFFER. JSET T1 SWAP BYTES FLAG FOR °‘‘CKDATA'’ SUBR BGNSUB MOV JSR 002336 #10. ,R2 ;WHILE R2_NE DATAWT DO CMP R2,DATAWT BEQ 50417 SWAB =(R2) MOV ;SUBTEST 12 = READ SWAPPED DATA BYTES. #RDR, CMDWRD PC_ VFEXC #12.CHDPKT+CP.CNT TRAP ($BSUB :CMD IS READ REV. JVERIFY ODD LENGTH SWAP (RECORD 4). ;CHANGE BYTE COUNT TO 10. 016130 000001 000011 003520 002336 JSR MOVB MOV 000012 002336 MOV #13,CMDPKT+CP. CNT 3668 024740 012737 104001 *CHANGE BYTE COUNT TO 10. 003420 MOV #RDF , CMDWRD SCMD IS READ FWD. 3665 024722 004737 3667 024736 004737 3669 024746 3670 024752 3671 024760 3672 024764 3673 024770 3674 024776 3675 025002 gg;g 025010 004737 012737 004737 105037 012737 004737 012737 004737 3666 024726 012737 3678 025014 025014 3679 025014 104403 %gg? 025016 105037 3682 025022 025022 3683 025024 104432 000574 3684 3685 3686 3687 3688 016130 016130 016130 000011 016130 003520 000012 016130 000011 016130 JSR JSR JSR MOV JSR CLRB MOV JSR MOV JSR 002336 002336 002336 L10033: PC, VFEXC #1.SWBFLG #11,CMDPKT+CP.CNT PC,VFEXC PC,VFEXC PC.VFEXC #17,CMDPKT+CP. CNT PC.VFEXC SWBFLG #12,CMDPKT+CP. CNT PC.VFEXC #17,CMDPKT+CP.CNT PC,VFEXC SVERIFY *ENABLE ;CHANGE SVERIFY EVEN LENGTH SWAP (RECORD 3). BYTE SWAPPING. BYTE COUNT TO 9. ODD LENGTH SWAP (RECORD 2). :VERIFY EVEN LENGTH SWAP (RECORD 1). SVERIFY EVEN LENGTH SWAP (RECORD 1). :CHANGE BYTE COUNT TO 9. SVERIFY ODD LENGTH SWAP (RECORD 2). *DISABLE BYTE SWAPPING. :CHANGE BYTE COUNT TO 10. JVERIFY EVEN LENGTH SWAP (RECORD 3). :CHANGE BYTE COUNT TO 9. SVERIFY ODD LENGTH SWAP (RECORD &). ENDSUB TRAP 003523 CLRB T1SW8 EXIT TST ; . SUBROUTINE TO MOVE A COMMAND SEQUENCE TO THE SEQUENCE TABLE. INPUTS: R2 = FWA OF COMMAND SEQUENCE. OuTPUTS: REGISTERS: CALLS: CSESUB JCLEAR T1 SWAP BYTES FLAG TRAP .WORD ; . . CSESUB CSEXIT L 10017-. HARDWARE TEST 1: TESTS Ma.RO M1113 BASIC FUNCTIONS. 25-MAY-82 09:51 3690 025026 3691 025032 3692 025032 3693 025036 %ggg 025040 012701 003540 021227 001402 012221 177777 3696 025042 000773 3697 025044 3698 025044 3699 025050 3700 3701 012711 000207 %;8% 3704 025052 3705 025054 3706 025056 3707 025060 3708 025062 3709 025064 3710 025066 3711 025070 3712 025072 3713 025074 3714 025076 3715 025100 3716 025102 3717 025104 3718 025106 3719 025110 3720 025112 3721 3722 3723 g;%g 140004 000200 000001 000000 100013 000001 000001 000000 140004 000020 000001 000000 100017 000001 000001 000000 140004 177777 SEQ 0122 BFSEQ:: MOV #CMDSEQ,R1 504208: ;WHILE (R2) NE #END DO CMP (R2) ,MEND BEQ 50421% MOV (R2)+,(R1)+ 50421$: MOV RTS #END, (R1) PC BFSEQD: .WORD 3726 025124 3727 025126 3728 025130 3729 025132 g;gg 025134 102010 000001 000002 000000 177777 BFSEQ1: 3732 025136 3733 025140 3734 025142 3735 025144 3736 025146 3737 025150 3738 025152 3739 025154 BFSEQ2: 3741 025160 3742 025162 3743 025164 104105 004000 000001 000001 104105 004000 000001 000002 104105 004000 000001 000003 3745 025170 3746 025172 004000 000001 104105 504208 BASIC FUNCTION COMMAND SEQUENCE 000040 000001 000000 177777 3744 025166 B8R H 025114 025116 025120 025122 3740 025156 F 10 PAGE 20-76 SCH 200 1 0 DRI 1 1 0 SCH 20 1 0 GES 1 1 0 SCH JINIT SEQ TABLE ADDRESS. ;WHILE THERE ARE MORE COMMANDS: ;MOVE COMMANDS TO SEQ TABLE. ;STORE END OF SEQUENCE CODE. ;RETURN. :SET CHAR. 200. 1) ;DRIVE INIT. 2) ;SET CHAR. 20 3 :GET STATUS. %) ;SET CHAR. 40. (S) .WORD 40 1 0 END ;REWIND TWICE. 6) .WORD RWD 1 2 0 END wrv DATCNT 1 1 wrv DATCNT 1 2 sWRITE/VERIFY PAT 1. (?7) :WTV PAT 2. (8) wTvV :WTV PAT 3. 9 wrv :WTV PAT &. (10) DATCNT 1 3 DATCNT 1 12) sWTV PAT 0. a3 sWRITE TAPE MARK. (14) sWRITE 10 RECORDS. (15) ;ERASE 10 TIMES. (16) sWRITE TAPE MARK. an sWTM RETRY 18) FR sSPACE 2 FILES REV. 19) " " sSPACE 2 FILES FuD. (20) Ay sSPACE 2 FILES REV. (21 sSPACE 2 FILES FuD. (22) sREWIND, % .WORD 3796 025332 3797 025334 3798 025336 3799 025340 ggg? 025342 3802 025344 3803 025346 102010 000001 BFSEQS: .WORD P P MO - -£ O 000001 000001 000000 177777 BFSEQ4: 3794 025326 sWTV PAT 6. WM 1 1 0 WRT DATCNT 10 1 ERS 1 10 0 WM 1 1 000000 101011 105410 000002 000001 000000 105010 000002 000001 000000 105410 000001 000002 000000 105010 000001 000002 000000 177777 3795 025330 (11 P 3784 025302 3785 025304 3786 025306 3787 025310 3788 025312 3789 025314 3790 025316 3791 025320 3792 025322 3793 025324 BFSEQ3: sWTV PAT §, ND = NON = NO=NINO =NV 3777 025266 3778 025270 3779 025272 3780 025274 3781 025276 %;g% 025300 .WORD 4 wTv DATCNT 1 5 wTv DATCNT 1 6 wrv DATCNT 1 0 END - 100011 000001 000001 000000 104005 004000 000010 000001 100411 000001 000010 000000 100011 000001 000001 SEQ@ 0123 - 3762 025230 3763 025232 3764 025234 3765 025236 3766 025240 3767 025242 3768 025244 3769 025246 3770 025250 3771 025252 3772 025254 3773 025256 3774 025260 3775 025262 3776 025264 6 10 20-77 = 000006 1264105 004000 020001 00UO0OS 104105 004000 000001 000006 104105 004000 000001 000000 177777 PAGE o 3747 025174 3748 025176 3749 025200 3750 025202 3751 025204 3752 025206 3753 025210 3754 025212 3755 025214 3756 025216 3757 025220 3758 025222 3759 025224 g;g? 025226 25-MAY-82 09:51 m ON HARDWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTIONS. RWD 1 3 3858 025520 3859 3860 025522 102010 000001 000001 000000 .WORD BF SEQ6: 104005 004000 000001 000001 105005 004000 000001 000001 100011 000001 000001 000000 105410 104401 104001 sSPACE 7 RECORDS REV. (25) sSPACE 7 RECORDS FWD. (26) JSPACE 7 RECORDS REV. 27 SREWIND, (28) JWRITE. (29) WRR DATCNT ;WRITE RETRY. (30) WIM WRITE TAPE MARK. SFR sSPACE 1 FILE REV. DATCNT 000001 000001 000000 177777 004000 000001 000001 105401 004000 000001 000001 125401 004000 000001 000001 1777277 ] 1046010 000001 000007 000000 104410 000001 000007 000000 177277 b 3819 025406 3820 025410 3821 025412 3822 025414 3823 3824 025416 3825 025420 3826 025422 3827 025424 3828 025426 3829 025430 3830 025432 3831 025434 3832 025436 3833 025440 3834 025442 3835 025444 3836 025446 3837 025450 3838 025452 3839 025454 3840 025456 3841 025460 3842 025462 3843 025464 3844 025466 3845 3846 025470 3847 025472 3848 025474 3849 025476 000007 000001 000000 (24) i,] 3818 0254064 OV-‘%O—‘\JU’O—‘\JU’O—' 0 F 3814 025374 3815 025376 3816 025400 3817 025402 104410 sSPACE 7 RECORDS FWD. P -] 3813 025372 104010 ~ 000007 000001 000000 L~ 3807 025356 3808 025360 3809 025362 3810 02£364 3811 025366 3812 025370 SEQ 0124 - 000001 000000 H 10 PAGE 20-78 MO~N—W 0 2 3804 025350 3805 025352 3806 025354 25-MAY-82 09:51 | = O==D p-] € HARDWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTIONS. .WORD BFSEQ7: END RDR DATCNT sREAD REV. (3N RNR sREAD NEXT REV. (32) RNF DATCNT JREAD NEXT FWD. (33) sREAD FWD. (34) DATCNT .WORD BFSEQS8: END RDF — —_— —— HARDWARE TESTS MACRO M1113 TEST 1: BASIC FUNCTIONS. 3861 025524 R 25-MAY-82 09:51 PAGE 20-79 004000 3862 025526 3863 025530 3864 025532 3865 025534 3866 025536 3867 025540 3868 025542 3869 025544 3870 025546 3871 025550 %g;% 025552 000001 000001 105001 004900 000001 000001 125001 004000 000001 000001 177777 3874 025554 3875 025556 3876 025560 3877 025562 3878 025564 3879 025566 3880 025570 3881 025572 %gg% 025574 101012 000001 000001 000000 102010 000001 000001 000000 177777 BFSEQ9: 3884 025576 3885 025600 3886 025602 3887 025604 3888 025606 3889 025610 3890 025612 3891 025614 3892 025616 3893 3894 3895 025620 025620 3896 025620 104105 000012 000001 000000 104105 000011 000001 000000 177777 BFSE10: LWORD .WORD .WORD .EVEN L10017: 104401 3897 3898 3899 .SBTTL XX 3902 025622 3903 025622 T2:: %38? 3904 025622 3905 025630 3906 025634 3907 025640 3908 025644 3909 025650 3910 025652 025652 025654 025656 025660 .WORD 110 DATCNT 1 1 RPF DAT(CNT 1 1 RPR DATCNT 1 1 END CLN 1 1 0 RWD 1 1 0 END Wiy 12 1 0 wTv 1 1 0 END SEQ 0125 JREAD PREVIOUS FWD. (35) JREAD PREV]IOUS REV. (36) JCLEAN, (37) JREWIND (38) ;END OF SEQUENCE. sWRITE/VERIFY EVEN LENGTH. (39) JWRITE/VERIFY ODD LENGTH. (40) ENDTST TRAP CSETST TEST 2: DATA RELIABILITY. ; TEST TO CHECK THE DATA RELIABILITY OF THE T1S0S. 112737 105037 005037 004737 004737 103404 104455 000002 004536 006120 000001 003514 003456 017060 007072 003515 BGNTST MOVB CLRB CLR JSR JSR BCS ERRDF #1,RANDOM EXPBOT WIMFLG PC,FIRSTU PC,SOFINIT 118 2,NSSRM,STAERM SET THE RANDOM OPERATIONS FLAG. sCLEAR EXPECT BOT FLAG. JCLEAR WRITE TAPE MARK FLAG JFIND THE FIRST UNIT. JINIT DEVICE ;REPORT TSOS NOT READY TRAP .WORD .WORD .WORD CSERDF 2 NSSRM STAERM HARDWARE TESTS MACRO M1113 TEST 2: DATA RELIABILITY, 3911 3912 025662 3913 025666 3914 025672 3915 025674 3916 025700 3917 025704 3918 025710 3919 025714 3920 025716 3921 025722 3922 3923 025726 3926 025726 3925 025732 3926 025736 3927 025742 3928 025744 3929 025746 3930 3931 025752 025752 3932 3933 025754 3934 025754 3935 025760 3936 025762 3937 025770 3938 025774 3939 026000 3940 3941 026004 3942 026006 3943 026006 3944 026012 3945 3946 026016 3947 026022 3948 026024 3949 026026 3950 026032 3951 026034 3952 026036 3953 026040 3954 3955 3956 3957 026044 3958 026050 3959 026056 3960 026062 3961 026070 3962 026074 3963 026100 3964 026104 3965 026112 3966 026116 004737 012702 005302 010237 005137 25-MAY-82 09:51 J 10 PAGE 20-80 SEQ 0126 007466 004000 118: 003430 JSR PC,MDSET :2! ;60 DO SETUP'S :gArc~r.az :SET UP THE RECORD LENGTH MASK, MOV R2,LENMSK COM LENMSK JSR PC,SETCH 003526 TSTB BEQ 010206 003526 504228: 104105 004000 177740 STAFLG 504248 :CMD 1 = SET CHARACTERISTIC. :IFB STAFLG NE #0 THEN JSR CLRB PC,SETRW STAFLG MOV MOV MOV ATV, (R1)+ #DATCNT, (R1)+ #RNOPSC .R2 ;LET STAFLG COM R2 MOV #RANP, (R1)+ MOV 000007 ~ ;ALLOW MAXIMUM BUFFER. 504248: 004772 003432 003434 1777461 026136 177777 010226 012701 005702 001752 105237 000240 000240 000240 004737 003540 003524 004737 012737 005137 013737 012711 004737 105037 112737 012701 004737 : 506258 177740 003544 504248 sSET UP A RANDOM CMD + BRF. ;STORE END OF MOV ST #CMDSEQ,R1 R? ;INIT CMD SEQ TBL POINTER, ;REPEAT UNTIL EOT IS REACHED figge ALLEOT :FLAG ALL UNITS @ EOT JSR 003554 := RANS + RANS #END, (R1) NOP NOP 003544 #177741 .R2 BR MOV :LET RANS RANS .R2 PC,3RANCMD (R2) C$BRK sFILL SEQ TBL WITH RANDOM CMDS. 504258 JSR BEQ 003517 010206 RANB, RANS JSR 027612 026176 ADD BIC 000763 012711 004737 R1,#SEQEND MOV ;CLR START FLAG. ; DO A SUPVSR BREAK FIRST. TRAP CMP BGE 003434 ; CMD2=REWIND :B= #0 STARTING THEN: R2, (R1)+ 504238: BREAK 003740 ;IF JSR MOV COM MOV MOV JSR CLRB MOVB MOV PC,EXALL 504238 PC, TSWEOT IN TABLE. ;WRITE ONE RECORD BEYOND EOT ON ALL UNITS ;30 THAT SHORTER READ STOP DISTANCE ;SHALL POSITION HEAD IN CLEAN IRG GAP ;READ REV THAT EXTRA REC TO RE-POSITION THE TAPE PC ,RANRD #RNOPSC ,CMDSEQ+4 CMDSEQ+4 CMDSEQ+4 ,CMDSEQ+14 #END, (R1) PC.EXALL ALLEOT #1,RPTFLG #CMDSEQ,R1 JSR PC,SETRW SEQUENCE CODE ;GO EXECUTE ALL CMDS IN SEQUENCE TABLE. ;SET UP READ REV/FWD CMDS, :# OF RECORDS FOR READ REV. :# OF RECORDS FOR READ FORWARD. ;STORE END OF SEQUENSE CODE IN SEQ TABLE. ;GO EXECUTE READ REV/FWD OF LAST N RECORDS. sCLEAR ALL UNITS @ EOT FLAG ;REQUEST PERFORMANCE REPORT DURING REWIND. SINIT SEQ TBL POINTER, ;STORE REWIND IN SEQ TBL, r HARDWARE TESTS MACRO M1113 TEST 2: DATA RELIABILITY, 3967 026122 3968 026126 3969 3970 026132 026132 026134 012711 004737 25-MAY~82 09:51 K 10 PAGE 20-81 SEQ 0127 177777 MOV #END, (R1) JSR PC,EXALL 010226 EXIT 104432 000320 sSTORE END IN SEQ TBL, sEXECUTE REWIND CMD ON ALL UNITS ST TRAP .WORD CSEXIT L10034-. ADDRESSES OF SUBROUTINES USED TO SET UP RANDOM OPERATIONS IN THE DATA RELIABILITY TEST. 3975 026136 3976 026140 3977 026142 3978 026144 3979 026146 3980 026150 3981 026152 RANCMD: RANWY RANWR RANWR RANWR RANWR RANWR RANWR RANWR RANRD RANRD RANRD 3982 026154 3983 026156 3984 026160 3985 026162 3986 026164 3987 026166 3988 026170 3989 026172 3990 026174 3991 3992 3993 3994 3995 JWRITE/VERIFY. JWRITE. JWRITE. JWRITE. JWRITE, JWRITE, JWRITE. JWRITE. JREAD. JREAD. JREAD. JREAD. JREAD. JREAD. JREAD. JREAD. RANRD RANRD RANRD RANRD RANRD 026176 SUBROUTINE TO SET UP READ COMMANDS IN SEQUENCE TABLE. INPUTS: QUTPUTS: 3996 REGISTERS: CALLS: 2999 026176 4000 026202 4001 026204 4002 026210 4003 026214 4004 026220 4005 026224 4006 026226 4007 026232 4008 026236 4009 026244 4010 026250 4011 026254 4012 026256 4013 026262 4014 026266 4015 026270 4016 026274 4017 026300 4018 026302 4019 026306 4020 4021 005737 001406 004737 004737 005037 020127 002030 012721 012721 063737 013702 042702 010221 003456 RANRD : : TST BEQ JSR JSR CLR cMP BGE 026346 026374 003456 003740 104401 004000 003434 003432 177740 MOV MOV ADD MOV 003432 003740 004000 000007 JWAS LAST CMD A WRITE? :NO,GO AHEAD JYES PUT DOWN TAPE MARK JAND SPACE FILE REV JTHEN CLEAR THE FLAG MOV MOV CMP R2,(R1)+ #RANP, (R1) + R1,#SEQEND ;SET RANDOM # OF OPERATIONS. JRANDOM PATTERN. MOV #DATOINT,(R1) ¢ :?g pC #RANP, (R1) + MOV 2$: 18 PC,RAWTM PC,RASFR WIMFLG R1,#SEQEND 2% JSTORE READ REV CMD. JSET BRF TO MAX FOR READ RANDOM LENGTHS. JLET RANB := RANB + RANS JLET R2 := RANB CLR.BY #RNOPSC BGE MOV 104001 WIMFLG #RDR, (R1)+ #DATCNT,(R1)+ RANS ,RANB RANS ,R2 8IC 000007 R2 #RNOPSC,R2 2% #RDF , (R1)+ sSTORE READ FWD CMD. R2,(R1)+ ;SET RANDOM # OF OPERATIONS. sSET BRF TO MAX TO READ RANDOM LENGTHS. JRANDOM PATTERN. SUBROUTINE TO SET UP A WRITE COMMAND IN THE SEQUENME TABLE, —— HARDWARE TESTS MACRO M1113 TEST 2: DATA RELIABILITY, 25-MAY-82 09:51 SEQ 0128 THEN A WRITE TAPE MARK AND SPACE FILE REVERSE. L * L] -« o~ o n &~ - - 4022 4023 L 10 PAGE 20-82 026310 026314 026320 026324 026326 026332 012721 004737 005737 001002 005237 000207 104005 026422 003456 003456 INPUTS: OUTPUTS: REGISTERS: CALLS: RANWR : : MOV #WRT, (R1)+ JSR PC,RANW TST 1%: WIMFLG BNE INC 1% WTMFLG RTS PC 4042 6043 026334 6044 026340 4045 526344 4L04L6 4047 4048 4049 LEI I A w0 o~ o W I §zgsggr1~5 012721 004737 000207 104105 026422 4050 46051 4052 4053 4054 026346 4055 026352 4056 026354 4057 026360 4058 026364 4059 026370 4060 026372 4061 4062 4063 4064 4065 4066 4067 4268 026374 4069 026400 4070 026402 4071 026406 4072 026412 4073 026416 4074 026420 4075 4076 4077 4078 : H 020127 002007 012721 012721 012721 005721 000207 003740 1$: ?ggfi?ngNE TO SET UP A WRITE sSTORE WRITE/VERIFY CMD. sSTORE BRF, # OF OPERATIONS, PATTERN. TAPE MARK IN THE SEQUENCE TABLE. OUTPUTS: REGISTERS: CALLS: MOV MOV MOV TST RTS PC R1,#SEQEND 18 MITM, (R1) + #,(R1)+ #1,(R1)+ (R1)+ ?ggfi?ngNE TO SET UP A SPACE :STORE WRITE TAPE MARK CMD. ; BRF ‘¥ OF OPERATIONS :SKIP PATTERNS FILE REVERSE IN THE SEQUENCE TABLE. OUTPUTS: REGISTERS: CALLS: 020127 003740 RASFR:: 105410 000001 000001 000207 CMP BGE : : R1,#SEQEND 1$ MOV MOV #SFR, (R1)+ #1,(R1)+ TST RTS PC (R1)+ MOV 18: TABLE. REGISTERS: CALLS: CMP 8GE 100011 000001 000001 JLAST CMD A WRT? JYES.RETURN :NO,SET THE FLAG OUTPUTS: MTV,(R1)+ JSR PC,RANW RTS PC H ;STORE BRF, # OF OPERATIONS, PATTERN. TO SET UP A WRITE/VERIFY COMMAND IN THE SEQUENCE RANWV:: MOV H : :STORE WRITE CMD. #1,(R1)+ sSTORE SPACE FILE REVERSE +BRF :# OF OPERATIONS ¢ SKIP PATTERNS SUBROUTINE TO STORE BRF, # OF OPERATIONS, PATTERN IN COMMAND SEQUENCE TABLE FOR WRITE AND WRITE/VERIFY COMMANDS. HARDWARE TESTS MACRO M1113 TEST 2: DATA RELIABILITY. 25-MAY-82 09:51 PAGE 20-83 SEQ 0129 4079 4080 4081 283% H : : INPUTS: OUTPUTS: REGISTERS: RANW:: MOV #DATCNT, (R1)+ ADD MOV BIC MOV MOV RTS PC RANS ,RANB RANB,R2 #RNOPSC ,R2 R2,(R1)+ #RANP, (R1) + : 64084 026422 4085 6086 026426 4087 026434 4088 026440 4089 026444 4090 026446 4091 026452 4092 4093 4094 4095 026454 026454 4096 026454 012721 004000 063737 013702 062702 010221 012721 000207 003434 003432 177740 Mm10 003432 500007 CALLS: R2 :SET BRF TO MAX FOR PATTERN GENERATION. sRANDOM BRF WILL BE GENERATED FOR EACH RECORD. sLET RANB := RANB + RANS sLET R2 := RANB CLR.BY #RNOPSC ;SET RANDOM # OF OPERATIONS. sRANDOM PATTERN. sRETURN, .EVEN L10034: 104401 ENDTST TRAP 283; .SBTTL 4099 TEST 3: WRITE COMPATABILITY/WRITE UTILITY, st 2}8? ; TEST TO WRITE RECORDS FROM BOT TO EOT. 4102 4103 026456 4104 026456 13:: 4105 026456 2}89 026464 112737 105037 000001 003514 4108 028470 4109 026474 004737 004737 103404 017060 007072 4110 026500 4111 026502 026502 026504 026506 4112 026510 6113 4114 4115 4116 CSETST 026512 026516 026522 026524 4117 026530 4118 026534 4119 026540 6120 026544 4121 026550 003515 104455 000002 004536 BGNTST Movs CLRB #1,RANDOM EXPBOT LET EXPBOT JSR JSR BCS ERRDF PC,FIRSTU PC,SOFINIT 118 2 ,NSSRM,STAERM 006120 004737 012702 005302 010237 005137 004737 004737 105037 4122 026550 104422 4123 026552 4124 026552 4125 026556 4126 026560 4127 026564 020127 002003 004737 000772 :SET THE RANDOM OPERATIONS FLAG. :B= #0 sCLEAR EXPECT BOT FLAG. sFIND THE FIRST UNIT. sINIT DEVICE ;REPORT TSO5 NOT READY TRAP .WORD .WORD .WORD 007466 004000 003430 003430 010162 010206 003526 118: 026310 STAERM JSR MoV DEC MoV PC,MDSET :GO DO SETUP'S #DATCNT ,R2 sSET UP THE RECORD LENGTH MASK. R2 R2,LENMSK sALLOW MAXIMUM BUFFER. COM LENMSK JSR PC,SETCH sCMD 1 = SET CHARACTERISTIC. JSR PC,SETRW : CMD2=REWIND CLRB STAFLG LET STAFLG :B= #0 :CLEAR START FLAG 504268: BREAK : DO A SUPVSR BREAK FIRST. TRAP 003740 CSERDF 2 NSSRM 50427%: cMp BGE JSR BR R1,#SEQEND 504308 PC,RANWR 50627% C$BRK ;WHILE THERE IS MORE ROOM IN SEQ TABLE: ¢STORE A WRITE CMD IN SEQUENCE TABLE. r HARDWARE MACRO M1 113 25-MAY-82 09:51 TEST 3: WRITE COMPATABILITY/WR /WRITE UTILITY. TESTS 6128 026566 4129 026566 46130 026572 6131 026576 6132 026602 46133 026604 6134 026606 4135 026612 6136 026614 6137 026616 4138 026620 4139 4140 4141 6142 026624 4143 026630 6144 026634 2}22 026640 6147 4148 026644 026644 026646 4149 4150 4151 4152 026650 026650 4153 4154 2}22 026650 012711 004737 012701 005702 001761 105237 000240 000240 000240 004737 105037 004737 012711 004737 50430%8: 177777 010226 003540 N 10 PAGE 20-84 003524 027612 003524 010206 177777 SEQ 0130 MOV JSR MOV TST BEQ INCB NOP NOP NOP JSR #END, (R1) PC,EXALL #CMDSEQ, R R2 504268 ALLEOT PC,TSWEOT CLRB ALLEOT JSR PC,SETRW MOV #END, (R1) 010226 JSR PC,EXALL EXIT 104432 000002 JSTORE END OF SEQUENCE CODE IN TABLE. SEXECUTE ALL CMDS IN SEQ TBL ON UNITS. JINIT SEQ TBL POINTER, sREPEAT UNTIL EOT IS REACHED JSET ALL UNITS @ EOT FLAG JWRITE ONE RECORD BEYOND EOT ON ALL UNITS 2SO THAT SHORTER READ STOP DISTANCE sSHALL JREAD REV THAT sCLEAR ;STORE JSTORE POSITION HEAD IN CLEAN IRG GAP EXTRA REC TO RE-POSITION TAPE ALL UNITS @ EOT FLAG REWIND IN SEQ TBL, END IN SEQ TBL, $ SEXECUTE REWIND CMD ON ALL UNITS TST TRAP .WORD ; CSEXIT L10035-. TRAP CSETST .EVEN L10035S: 104401 .SBTTL 4157 2}23 ENDTST TEST 4: READ COMPATABILITY/READ UTILITY. s+ s TEST TO READ ENTIRE TAPE FORWARD AND REVERSE. 4160 4161 026652 162 026652 Té:: 4163 026652 2}2? 026660 112737 112737 000001 000001 4166 026666 4167 026672 4168 026676 4169 026700 026700 004737 004737 103404 017060 007072 4171 4172 4173 4174 4175 004737 004737 026702 026704 4170 026706 026710 026714 026720 026724 026730 003515 003514 104455 000002 004536 006120 004737 105037 012721 007466 010162 010206 003526 104001 11$: BGNTST MOvB MOVB #1 ,RANDOM #1 ,EXPBOT ;SET THE RANDOM OPERATIONS FLAG. JSET EXPECT BOT FLAG. JSR JSR BCS ERRDF PC,FIRSTU PC,SOFINIT 11$ 2,NSSRM,STAERM sFIND THE FIRST UNIT. JINIT DEVICE JSR PC,MDSET JSR PC,SETCH JREPORT TSO5 NOT READY TRAP WORD .WORD .WORC ;G0 DO SETUP'S JCMD 1 = SET CHARACTERISTIC. CSERDF 2 NSSRM STAERM JSR PC,SETRW ;CMD2=REWIND. CLRB STAFLG ;LET STAFLG :B= #0 ;CLEAR START FLAG MOV #RDF, (R1)+ ;CMD3 = READ FORWARD. HARDWARE TESTS MACRO M1113 25-MAY-82 09:51 TEST 4: READ COMPATABILITY/READ UTILITY. 6176 026734 6177 026740 6178 026744 6179 4180 4181 4182 4183 4184 4185 4186 4187 4188 2}83 026750 026754 026760 026764 026770 026774 027000 027004 027010 027014 027020 4191 027024 027024 027026 4192 4193 4194 4195 027030 027030 4196 027030 012721 012721 012721 012711 004737 105237 012701 012721 012721 012721 012721 012711 004737 105037 B 1 PAGE 20-85 004000 MOV 077777 000007 #DATCNT, (R1)+ JSET LENGTH TO MAX FOR UNKNOWN LENGTHS. MOV JSR INCB MOV MOV MOV MOV MOV MOV JSR CLRB lEND.(R1) PC,EXALL ALLEOT #CMDSEQ,R1 #RDR, (R1)+ #DATCNT,(R1)+ #77777.(R1)+ #RANP, (R1)+ #END, (R1) PC,EXALL ALLEOT ;STORE END OF SEQUENCE CODE IN TABLE. JEXECUTE ALL CMDS IN SEQ TBL ON ALL UNITS. JFLAG TO ALLOW ALL UNITS AT EOT TO READ REV JINIT CMD SEQ TBL POINTER. :CMD1 = READ REVERSE. sSET LENGTH TO MAX FOR UNKNOWN LENGTHS. sRECORD COUNT = MAX FOR WHOLE TAPE. :PATTERN = RANDOM., ;sSTORE END OF SEQUENCE CODE IN TABLE. ;G0 EXECUTE READ REV. OF ENTIRE TAPE. JCLEAR ALL UNITS @ EOT FLAG EXIT TST MOV MOV 177777 010226 003524 003540 104401 004000 077777 000007 177777 010226 003524 104432 000002 SEQ 0131 w7777, (R1)+ #RANP, (R1)+ L10036: 104401 .SBTTL 4199 TRAP CSETST TRAP WORD .WORD .WORD CSERDF 2 NSSRM STAERM TEST 5: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. I+t s TEST TO EXECUTE 4202 4203 027032 4204 027032 T5:: 4205 027032 105037 003515 4208 027044 4209 027050 4210 027054 4211 027056 027056 027060 027062 4212 027064 004737 004737 103404 017060 007072 6213 4214 4215 4216 004737 113737 004737 013737 4217 027112 4218 027116 4219 027122 4220 027126 4221 027132 4222 027136 4223 027142 CSEXIT L10036-. ENDTST 2%8? 027066 027072 027100 027104 TRAP .WORD .EVEN 2}35 zsgg 027036 JSET RECORD COUNT TO MAX FOR WHOLE TAPE. :PATTERN = RANDOM. 112737 000001 003514 104455 000002 004536 006120 012702 004737 004737 004737 004737 004737 004737 007466 002216 010162 002220 002222 027570 027570 027570 027570 027570 027570 003521 003542 118: OPERATOR SELECTED COMMAND SEQUENCE. BGNTST CLRB MOovVB RANDOM #1 ,EXPBOT ;CLEAR RAMDOM MODE FLAG. JSR JSR B8CS ERRDF PC,FIRSTU PC,SOFINIT 11$% 2.NSSRM,STAERM JFIND THE FIRST UNIT. JINIT DEVICE JSR PC.MDSET MovB PIRE, IRE JSR PC,SETCH MOV CHAR,CMDSEQ+?2 MOV JSR JSR JSR JSR JSR JSR #CMDD ,R?2 PC,PTCMDS PC,PTCMDS PC,PTCMDS PC,PTCMDS PC,PTCMDS PC,PTCMDS JSET EXPECT BOT FLAG. JREPORT TSOS NOT READY ;60 DO SETUP'S sMOVE INHIBIT RFC ERROR REPORT FLAG. JCMD 1 = SET CHARACTERISTIC. HOVE CHAR CODE FROM P TBL TO SEQ T1BL. sR2 POINTS TO CMD2 HOVE CMD 2 FROM P :HOVE CMD 3 FROM P JMOVE CMD 4 FROM P JMOVE CMD S FROM P :MOVE CMD 6 FROM P JMOVE CMD 7 FROM P IN SOFT P TABLE. TBL TO SEQ TBL. TBL TBL TBL TBL TBL TO TO TO TO TO SEQ SEQ SEQ SEQ SEQ TBL. TBL. TBL. TBL. TBL. r HARDWARE cn MACRO M1113 25-MAY-82 09:51 PAGE 20-86 TEST 5: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. TESTS 6224 027146 004737 005037 105037 012701 4238 027220 4239 027224 4240 027226 4241 4242 027250 4247 027252 021127 001574 022711 001024 062701 012137 022137 001003 062701 000700 005237 012701 005337 001751 062701 000772 022711 001026 062701 011137 012727 000000 013727 000000 005367 001375 005367 001367 005337 001361 062701 000715 004737 4266 027374 4267 027374 4268 027400 4269 027404 4270 027410 4271 027410 4272 027416 027570 JSR CLR 003540 MOV SWHILE CLRB 38: 504318: 177777 CMP CMP BNE ADD 000002 003444 003442 PC,PTCMDS JLOOP STAFLG #(MDSEQ,R1 (R1) NE #END DO 504338 #JMP.C,(RT) 68 #2,R1 MOV (Ri)+,JLOC CMP (R1)+,JLOOP BNE 18 ADD #2,R1 000002 003442 003540 003444 1$: 2s: 000010 BR INC 6$: ADD #10,R1 000004 003440 7%: 000001 CMP BNE sHAS LOOP COUNT BE SATISFIED? sIF NOT, JMP AGAIN. ;IF SO, ADJUST SEQ POUNTER sAND GO TO NEXT COMMAND. sUPDATE THE LOOP COUNT. sINIT CMD SEQ TABLE POINTER. sDECR LOCATION COUNTER. cIF THIS 1S THE RIGHT LOCATION TO JMP TO, GO SET sIF NOT, UPDATE SEQ POINTER TO NEXT CMD. ;DO IT AGAIN. 3 #CMDSEQ,R1 JLOC BEQ :LET R1 s1S THIS A JUMP (MD? ¢BR_IF NOT. := R1 + ¥ :POINT TO BRF. sSAVE BRF (LOCATION). JLOOP MOV DEC BR 000020 sMOVE END CMD FROM P TBL TO SEQ TBL. sCLEAR JMP (MD LOOP COUNT. sCLEAR START FLAG sINIT SEQUENCE TABLE POINTER. sWHILE THERE ARE CMDS LEFT IN SEQUENCE TBLE: (R1) ,#END BEQ 000040 SEQ 0132 3§ 2% #DLY.C,(R1) 48 sDELAY? :BR IF NOT. sR1 = LOCATION OF N COUNT. sSAVE N COUNT. :GO TO SUPER-WAIT 1 MSEC. ADD #4 ,R1 MOV (R1),TIME2 DELAY 1 MOV . WORD 002116 31,(PC)0 bSDLY.(PC)* 177772 ~6(PC) 177756 =22(PC) .4 003440 DEC BNE 000004 ADD 011172 023737 002103 004737 004737 023727 001002 004737 017370 004737 012702 004737 017456 000001 017060 026527 001426 002604 003412 011064 010524 003420 3 H 003414 50433$: BR JSR CMP CMpP BNE 5064358$: MOV 177777 : 504368 #4 R 38 BNE ;LET R1 := R1 PC,SETUP JWHILE NCNT LT NCNTT DO BGE 100017 TIME2 78 CMP BEQ NCNT,NCNT1 50434$ JSR PC,CMDAC JSR PC.EXSUB CMDWRD ,#GES 50435$ JSR PC,PRXST JSR PC,CKHAE #,R2 JSR PC,FIRSTU SWHILE DEVTBL(RS) NE #END DO DEVTBL (RS) , #END 50437% + H sPOINT TO NEXT :GO CHECK NEXT CMD. :GO SETUP THE COMMAND BLOCK. .=20 CMD. sWHILE THERE ARE RECORDS REMAINING: sSTORE CMD ASCII IN ERROR MSG. cISSUE CMD TO ALL,AWAIT INTS,CHECK STATUS. sIF CMD IS GET STATUS THEN: sPRINT EXTENDED STATUS REGISTERS. sCHECK HALT AFTER EACH CMD FLAG. sSET ALL UNITS AT BOT/EOT. sFIND FIRST UNIT, ;WHILE THERE ARE MORE UNITS: — —_ pb N HARDWARE TESTS MACRO M1113 25-MAY-82 09:51 PAGE 20-87 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. 6273 027420 6274 027426 6275 027430 4276 027436 25;5 027440 4279 4280 4281 4282 4283 4284 4285 4286 4287 027442 027442 027444 027444 027452 027454 027462 027464 zggg 027464 4290 027466 429N 4292 027466 032737 000400 003420 8IT #MOD. CO,CMDWRD 032765 001001 000002 003502 BIT BNE #X0.80T ,EOTFLG(RS) 504418 B8R 504428 BIT BEQ BIT 8NE #X0.EOT,EOTFLG(RS) 50443$ #CMD.CO,CMDWRD 504448 CLR R2 001406 CLR 504418: 000411 032765 001404 032737 001001 000001 003502 000001 003420 504438: 000746 020227 001016 013737 005237 105237 023727 001002 004737 504428: 017126 50437$: 000001 003412 003414 003524 003426 003414 000002 000402 105037 003524 005237 003412 013737 000671 4321 027562 4322 027564 4323 4324 027564 027564 4325 027566 000601 4326 4327 JIF NOT AT BOT THEN: :CLEAR EOT/B0T FLAG. JELSE IF CMD IS NOT REVERSE: :1F NOT AT EOT OR NOT A MOTION CMD THEN: SLET R2 := #0 :CLEAR EOT/BOT FLAG. BR 504368 cMP BNE MOV INC INCB R2.41 504458 NCNT NCNT1 NCNT1 ALLEOT CMDLG,#2 504468 JSR PC,TSWEOT cFIND NEXT UN'T ;IF ALL UNIT ARE AT EOT/BOT THEN: ;FORCE TERMINATION OF COMMAND. sFLAG ALL UNITS AT EOT/BOT TO ALLOW VERIFY OF D sWHEN WRITING IS CURRENT COMMAND ;GO WRITE/READ REV ONE RECORD BEYOND EOT 504468 : 4316 027554 4317 027556 4318 027556 2%}3 R2 JSR PC_NEXTU CMP BNE 027612 4%86 027534 2%}2 027546 :I1F CMD IS REVERSE THEN: 504408 504448: 4295 027472 4296 027474 4297 027474 4298 027500 4299 027502 4300 027510 4301 027514 4312 027542 4313 027542 504408: 005002 004737 4308 027534 4309 027536 2;}? 027536 BEQ 005002 2332 027466 4302 027520 4303 027526 2%84 027530 SEQ 0133 004737 003420 016044 50445$: 504478 003424 504348: 50432%: 104432 000140 ; : B8R 504478 CLRB ALLEOT JWHEN NOT ALL @EOT, CLEAR FLAG INC MoV NCNT ;UPDATE RECORD COUNT. B8R 50433 JSR CMDWRD ,PCMDWD PC,VFYDAT B8R 50431% EXIT ST ;SAVE PREVIOUS COMMAND WORD. sIF LAST CMD WAS A WRITE VERIFY, THEN GO JVERIFY THE LAST N RECORDS OF DATA. TRAP .WORD SUBROUTINE TO MOVE A COMMAND FROM THE SOFTWARE P TABLE T0 THE COMMAND SEQUENCE TABLE. CSEXIT L10037-. [ EN 2 4333 027570 4334 027572 4335 027574 4336 027576 4337 027602 4338 027604 4339 027606 4340 027610 4361 4362 4343 4344 4345 4346 4347 4348 027612 4349 027614 4350 027616 4351 027622 4352 4353 027626 4354 027632 4355 027640 4356 027646 4357 027654 4358 027662 4359 027670 4360 027676 4361 027704 4362 027710 4363 027714 4364 027720 4365 027722 4366 027724 4367 4368 4369 4370 027726 027726 027726 ®e ®e %e W, HARDWARE TESTS MACRO M1113 25-MAY-82 09:51 PAGE 20-88 TEST S: EXECUTE OPERATOR SELECTED COMMAND SEQUENCE. 012203 005303 006303 016321 012221 012221 012221 000207 INPUTS: R2 = POINTER TO SOFT ''P'* TABLE OUTPUTS: REGISTERS: CALLS: PTCMDS : :MOV DEC ASL MOV MOV MOV MOV RTS PC 003752 SEQ 0134 R3. (R2)+,R3 R3 R3 CMDTBL (R3), (R1)+ (R2)+,(R1)+ (R2)+,(R1)+ (R2)+,(R1)+ §ggfi?grx~s TO WRITE ;R3 = COMMAND TABLE INDEX. sMOVE COMMAND WORD. sMOVE # OF BYTES. cMOVE # OF OPERATIONS. ¢MOVE PATTERN CODE. THEN READ REVERSE ONE RECORD BEYOND EOT OUTPUTS: REGISTERS: CALLS: 000240 000240 004737 004737 012700 013737 012737 012737 013737 042737 013737 013737 004737 004737 004737 005300 001343 000207 104401 CMDAC,EXSUB, CKHAE TSWEOQT:: NOP NOP 010524 017456 000002 003420 104401 000004 003420 004000 002330 003410 011064 01052¢ 017456 JSR PC,EXSUB JSR PC,CKHAE 003424 003420 003426 002330 1$: MOV MOV Mov MOV MOV 8IC #2,R0 CMDWRD ,PCMDWD #RDR, CMDWRD #6,CMDLG CMDWRD , CMDPKT #BRF .C,CMDPKT ;WRITE ONE RECORD BEYOND EOT :SO THAT READ SHORTER STOP DISTANCE sSHALL POSITION HEAD IN CLEAN IRG GAP sSET UP COUNTER FOR EOT ;LET PCMDWD := CMDWRD ;REPOSITION TAPE #RDR ;BEFORE EXTRA RECORD sLET CMDWRD : :BY READING REVERSE sLET CMDPKT := CMDWRD CLR.BY #BRF.C CMDPKT, CMDSAV ;LET CMDSAV := CMDPKT ;THAT RECORD TO ALLOW DATARD,CMDPKT+CP,ADL sNEXT COMMAND IN iHE JSR PC,CMDAC sTABLE TO BE EXECUTED JSR PC,EXSUB JSR PC, CKHAE 002332 JFOUND EOT YET? JNO,KEEP GOiING JYES ,RETURN L10037: ENDTST TRAP 437% 027730 ENDMOD .TITLE PARAMETER CODING 7 4373 027730 .SBTTL HARDWARE PARAMETER CODING SECTION BGNMOD s te ; THE HARDWARE PARAMETER CODING SECTION CONTAINS MACROS ; THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES. THE CSETST — PARAMETER CODING MACRO M1113 HARDWARE PARAMETER CODING SECTION 25-MAY-82 09:51 4383 4391 027732 027732 027734 027736 027740 6392 027742 027742 027744 027746 027750 027752 4393 027754 0277546 02775% 027760 027762 027764 4394 027766 4395 027766 4396 4397 027770 4398 030005 4399 030014 4400 460 4402 4403 030036 F 1N SEQ 0135 : MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE (384 (385 (386 (387 4388 4389 027730 027730 4390 027732 PAGE 20-89 s INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE s MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS ; WITH THE OPERATOR. o= BGNHRD 000042 000031 027770 160010 177564 001032 030005 000777 000060 000776 002022 030014 000001 000000 000001 GPRMA TS5ADR,0,0,160010,177564, YES GPRMD TS5V(T,2,0,777,60,776,YES GPRMD TSSUNT,4,0,1,0,1,NO EXIT HRD 024004 124 126 123 .WORD L10040-LSHARD/?2 LSHARD: : 123 105 105 104 103 114 TSSADR: TSSVCT: TSSUNT: .NLIST .ASCIZ ,ASCIZ _ASCIZ LIST .EVEN T$CODE TSSADR TSLOLIM TSHILIM .WORD .WORD .WORD .WORD LWORD T$CODE TSSV(CT 777 TSLOLIM TSHILIM .WORD .WORD .WORD .WORD .WORD TSCODE TSSUNT 1 TSLOLIM TSHILIM .WORD T$CODE BEX /TSDB ADDRESS/ /VECTOR/ /SELECT DRIVE 0-1/ BEX ENDHRD .EVEN 4404 030036 L10040: 2282 .SBTTL 4407 4408 4409 4410 4N 4412 4413 4414 4415 4416 030036 Ihe ¢ THE SOFTWARE PARAMETER CODING SECTION CONTAINS MACROS ; THAT ARE USED BY THE SUPERVISOR TO BUILD P-TABLES THE s MACROS ARE NOT EXECUTED AS MACHINE INSTRUCTIONS BUT ARE s INTERPRETED BY THE SUPERVISOR AS DATA STRUCTURES. THE s MACROS ALLOW THE SUPERVISOR TO ESTABLISH COMMUNICATIONS ; WITH THE OPERATOR. pli 030036 030040 4417 030040 030040 .WORD .WORD .WORD .WORD 000302 000130 SOFTWARE PARAMETER CODING SECTION BGNSFT LSSOFT:: .WORD L10041-L$SOFT/?2 GPRML CLRM,0,1,YES .WORD TSCODE — —_— PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 030042 030044 4418 030046 030046 030050 030052 4419 030054 030054 030056 030060 4420 030062 030062 030064 030066 4421 030070 030070 030072 030074 4422 030076 030076 4423 030100 030100 030102 030104 4424 030106 030106 030110 030112 4425 030114 030114 030116 030120 4426 030122 030122 030126 030126 4427 030130 030130 4428 030132 030132 030134 030136 030140 030142 4429 030144 030144 030146 030150 030152 030154 4430 030156 030156 030160 030162 030164 030166 4431 030170 030644 000001 000130 030663 000400 001130 030766 000400 001130 030712 000001 003130 031042 000400 004024 002130 030736 000001 003130 031017 000001 005130 031107 000001 004130 031063 000001 127044 006032 031140 000377 000000 000777 007052 031165 000037 000001 000033 010052 031173 177777 000001 004000 25-MAY=-82 09:51 PAGE 20-90 61N GPRML RRVM,0,400,YES GPRML RCVERM,2,400,YES GPRML HAEM,2,1,YES GPRML IRECM,6,400,YES XFERT NEXTSP GPRML BADTM,4,1,YES NEXTSP: GPRML DINTM,6,1,YES GPRML IREM,12.1,YES GPRML CHGM,10,1,YES XFERF ENDSP1 GPRMD (HARM,14,0,377,0,777.,YES GPRMD (MD2M,16,D,37,1,33,YES GPRMD GPRMD BP(CRM,20,D,-1,1,DATCNT,YES NUMBM,?22,D,-1,1,77777,YES SEQ 0136 LWORD .WORD CLRM 1 .WORD .WORD .WORD TSCODE RRVM 400 .WORD .WORD .WORD TS$CODE RCVERM 400 .WORD .WORD WORD TS$CODE HAEM .WORD .WORD .WORD TSCODE IRECM 400 .WORD TSCODE .WORD .WORD WORD TSCODE BADTM 1 .WORD .WORD LWORD TSCODE DINTM 1 .WORD .WORD .WORD T$CODE [REM 1 .WORD .WORD LWORD TSCODE CHGM 1 .WORD TSCODE .WORD .WORD .WORD .WORD LWORD TSCODE CHARM 377 TSLOLIM TSHILIM .WORD .WORD .WORD .WORD .WORD TSCODE (CMD2M 37 TSLOLIM TSHILIM .WORD TSCODE BPCRM -1 TSLOLIM TSHILIM .WORD MWORD LWORD .WORD PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 030170 030172 0301724 030176 030200 4632 030202 030202 030204 030206 030210 030212 012052 031225 000017 000000 000010 030216 030220 030222 030224 013052 031334 000037 000001 000033 030226 030230 030232 030234 030236 014052 031173 177777 000001 004000 4433 030214 030214 4634 030226 4435 030240 030240 030242 030244 030246 030250 4436 030252 030252 030254 030256 030260 030262 4437 030264 030264 030266 030270 030272 030274 4438 030276 030276 030300 030302 030304 030306 4439 030310 030310 030312 030314 030316 011052 031205 177777 000001 077777 015052 031205 177777 000001 077777 016052 031225 000017 000000 000010 017052 031342 000037 000001 000033 020052 031173 177777 000001 004000 030320 021052 031205 177777 000001 077777 030322 030324 030326 022052 031225 000017 4440 030322 25-MAY-82 09:51 PAGE 20-91 H GPRMD PATTM,24,0,17,0,10,YES GPRMD (MD3M,26,0,37,1,33,YES GPRMD GPRMD GPRMD GPRMD GPRMD GPRMD GPRMD BP(RM,30,D,~1,1,DATCNT,YES NUMBM,32,D,~1,1,77777,YES PATTM,34,D0,17,0,10,YES (MD4M,36,0,37,1,33,YES BP(RM,40,D,-1,1,DATCNT,YES NUMBM,42,D,~1,1,77777,YES PATTM,44,0,17,0,10,YES SEQ 0137 .WORD .WORD WORD WORD .WORD TSCODE NUMBM -1 TSLOLIM TSHILIM .WORD .WORD .WORD WORD .WORD TSCODE PATTM 17 TSLOLIM TSHILIM .WORD .WORD .WORD .WORD .WORD T$CODE CMD3M 37 TSLOLIM TSHILIM .WORD .WORD WORD WORD WORD T$CODE BPCRM -1 TSLOLIM TSHILIM .WORD .WORD WORD .WORD WORD TSCODE NUMBM -1 TSLOLIM TSHILIM .WORD .WORD .WORD .WORD .WORD TSCODE PATTM 17 TSLOLIM TSHILIM .WORD -WORD .WORD WORD .WORD TSCODE CMD4M 37 TSLGLIM TSHILIM .WORD .WORD WORD .WORD WORD TSCODE BP(CRM -1 TSLOLIM TSHILIM .WORD -WORD WORD .WORD .WORD TSCODE NUMBM TSLOLIM TSHILIM .WORD .WORD .WORD TSCODE PATTM 17 — —_— PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 030330 030332 4441 030334 030334 030336 030340 030342 030344 4442 030346 060000 000010 023052 031350 000037 000001 000033 030346 030350 030352 030354 030356 4643 030360 030360 030362 030364 030366 030370 025052 031205 177777 000001 077777 030372 030374 030376 030400 030402 026052 031225 000017 000000 000010 4444 030372 4445 030404 030404 4446 030406 030406 4447 030410 024052 031173 177777 000001 004000 002004 076004 030410 030412 030414 030416 030420 027052 031356 000037 000001 000033 030422 030424 030426 030430 030432 4449 030434 030434 030052 031173 177777 000001 004000 4448 030422 030436 030440 030442 030444 4450 030446 030446 030450 030452 030454 030456 4451 030460 030460 030462 031052 031205 177777 000001 077777 032052 031225 006017 000000 000010 033052 031364 25-MAY-82 09:51 PAGE 20-92 IN SEQ 0138 GPRMD (CMD5M,46,D,37,i,33,YES GPRMD BP(CRM,50,0,-1,1,DATCNT,YES GPRMD GPRMD NUMBM,52,0,~1,1,77777,YES PATTM,54,0,17,0,10,YES XFER ENDSP2 ENDSP1: XFER ENDSP3 ENDSP2: GPRMD CMD6M,56,D,37,1,33,VES GPRMD GPRMD GPRMD GPRMD BPCRM,60,D,-1,1,DATCNT,YES NUMBM,62,0,-1,1,77777,YES PATTM,64,0,17,0,10,YES CMD7M,66,D0,37,1,33,YES .WORD .WORD TSLOLIM TSHILIM .WORD .WORD .WORD .WORD WORD TSCODE CMD5M 37 TSLOLIM TSHILIM .WORD .WORD .WORD WORD .WORD TSCODE BPCRM -1 TSLOLIM TSHILIM .WORD .WORD .WORD WORD .WORD TSCODE NUMBM =1 TSLOLIM TSHILIM .WORD .WORD WORD .WORD WORD TSCODE PATTM 17 TSLOLIM TSHILIM .WORD TSCODE .WORD T$CODE .WORD .WORD .WORD .WORD WORD TSCODE CMD6M 37 TSLOLIM TSHILIM .WORD .WORD WORD .WORD .WORD TSCODE BPCRM -1 TSLOLIM TSHILIM .WORD -WORD WORD .WORD WORD TSCODE NUMBM -1 TSLOLIM TSHILIM .WORD .WORD WORD WORD WORD TSCOOE PATTM 17 TSLOLIM TSHILIM .WORD .WORD TSCODE CMD7M — PARZMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 030464 030496 030470 4652 030472 030472 030474 030476 030500 030502 4453 030504 000037 000001 000033 034052 031173 177777 000001 004000 030504 030506 030510 030512 030514 035052 031205 030516 036052 031225 000017 000000 000010 4454 030516 0 4455 030530 4456 030542 177777 000001 077777 037052 031372 000037 000001 000033 040052 031173 25-MAY-82 09:51 GPRMD GPRMD GPRMD GPRMD GPRMD PAGE 20-93 J 1 BPCRM,70,D,-1,1,DATCNT,YES NUMBM,72,D,-1,1,77777,YES PATTM,74,0,17,0,10,YES CMD8M,76,0,37,1,33,YES BPCRM,100,D,~1,1,DATCNT, YES 0 4457 030554 0 4458 030566 4459 030600 0 4460 830602 0 4461 830610 4462 830612 030616 041052 031205 177777 000001 077777 042052 031225 000017 000000 000010 022004 043130 031235 000001 016024 046130 031325 000001 .WORD .WORD .WORD 37 .WORD .WORD .WORD -WORD .WORD T$CODE 87CRH .WORD .WORD .WORD .WURD .WORD T$CODE N?HBH .WORD .WORD .WORD .WORD -WORD .WORD -WORD .WORD .WORD .WORD .WORD -WORD .WORD 177277 000001 004000 SEQ 0139 GPRMD GPRMD XFER ENDSP3: GPRML NUMBM,102,D,~1,1,77777,YES PATTM,104,D0,17,0,10,YES ENDSP TSMD,106,1,YES XFERT ENDSP GPRML FAST,114,1,YES .WORD .WORD .WORD -WORD .WORD .WORD .WORD TSLOLIM TSHILIM TSLOLIM TSHILIM TSLOLIM TSHILIM T$CODE PATTM 17 TSLOLIM TSHILIM T$CODE CMDEM 37 TSLOLIM TSHILIM T$CODE B?CRH TSLOLIM TSHILIM T$CODE N?HBH TSLOL IM TSHILIM T$CODE -WORD .WORD PATTM -WORD .WORD TSLOLIM TSHILIM -WORD T$CODE -WORD -WORD .WORD TSMD .WORD T$CODE .WORD .WORD .WORD FAST 17 T$CODE 1 T$CODE 1 - PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 4463 030620 030620 4464 030622 045130 031305 000001 030630 4466 030632 030632 030634 030636 006024 4467 030640 030640 4468 030642 030642 4469 030644 4470 030644 1 044130 031266 000001 002004 001004 114 105 105 123 4477 030736 4478 030766 102 120 101 122 k8 103 11 103 103 102 043 120 104 122 127 061 103 103 103 4507 ENDSP4 GPRML WIBF,112,1,YES XFERT ENDSP GPRML RDBF,110,1,YES ENDSPS: XFER ENDSP ENDSP4: XFER ENDSP L10041: 103 122 4479 031017 XFERT .WORD T$CODE .WORD .WORD JWORD T$CODE WTBF 1 .WORD T$CODE .WORD .WORD WORD T$CODE RDBF 1 .WORD T$CODE .WORD T$CODE ENDSFT 4472 4473 4474 030644 4475 030663 4480 031042 4481 031063 4482 031107 4483 031140 4484 031165 4485 031173 4486 031205 4487 031225 4488 031235 4489 031266 4490 031305 4491 031325 4492 4493 4494 4495 4496 031334 4497 031342 4498 031350 4499 031356 4500 031364 4501 031372 4502 4503 4504 K 1 ENDSP: 030644 4476 030712 PAGE 20-94 SEQ 0140 011024 030622 030626 030626 4465 030630 25-MAY-82 09:51 110 104 103 103 103 .EVEN .EVEN CLRM: RRVM: .NLIST .ASCIZ .ASCIZ BEX /CLEAR COUNTERS/ /RESET RANDOM VARIABLES/ 106 111 BADTM: RCVERM: .ASCIZ .ASCIZ /BAD TAPE SPOT DETECTION/ /PRINT RECOVERABLE ERRORS/ 116 110 116 110 115 122 040 101 105 105 122 060 110 101 110 101 106 106 117 124 106 101 111 060 IRECM: CHGM: IREM: CHARM: CMD2M: BPCRM: NUMBM: PATTM: TSMD: RDBF: WIBF: FAST: .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .ASCIZ .LIST -EVEN /INHIBIT RECOVERY/ /CHANGE CMD SEQUENCE/ /INHIBIT RFC ERROR REPORT/ /CHARACTERISTICS CODE/ ‘'CMp/2" /BRF COUNT/ /# OF OPERATIONS/ /PAITERN/ /DEFAULT SWITCH SETTINGS?/ /READ BUFFERING/ /WRITE BUFFERING/ /100IPS/ BEX 115 115 115 104 104 104 (MD3M: CMD4M: CMDSM: .NLIST .ASCIZ .ASCIZ .ASCIZ BEX ''CMp/3"’ ‘'CMD/4&'’ ''CMD/S'’ ''CMD/6'* ''CMp/7"’ ‘'CMD/8'’ BEX 101 111 115 115 115 114 HAEM: 123 DINTM: 104 104 104 CMDGM: CMD7M: CMD8M: .ASCIZ /HALT AFTER EACH CMD/ .ASCIZ /DISABLE INTERRUPTS/ .ASCIZ .ASCIZ .ASCIZ -LIST .EVEN :l"!.'.t...........t'."'.t.l.l.t..'..tt.t....t.."tt'.'ltl't".t't'tt' PARAMETER CODING MACRO M1113 SOF TWARE PARAMETER CODING SECTION 032000 032002 032004 4521 032004 PAGE 20-95 LN SEQ 0141 A e o v Ge ®e Ve 4508 4509 6510 6511 4512 4513 6514 031400 6515 6517 4519 4520 032000 25-MAY-82 09:51 LT PATCH AREA AND AN ADJUSTMENT TO ACCOUNT FOR THE 'LASTAD BIT7'* HACK DESCRIBED IN ‘''SUPPRG.MEM'' (FOR REV (). PAT(H:: 032000 .BLKW 64, .=, 137741 LASTAD 000000 000000 LSLAST:: .SBTTL .EVEN -WORD .WORD 0 0 .WORD WORD O L10044~./2-1 ENDMOD HARD CODED P-TBL 2 :DIAG IS PRE-PARAMETERIZED PER TBL 4529 032004 4530 032004 032004 032006 000000 000003 4531 032010 172522 4532 032012 4533 032014 L10042: 000224 (00000 000001 172522 224 0 L10044: 4535 032016 4537 BGNSETUP 1 BGNPTAB .END ENDPTAB ENDSETUP PARAMETER CODING SYMBOL TABLE ACK.C = 100000 G ADR = 000020 G ALLEOT ASSEMB= ATTNM AUDRPM AUDRUN AUTODM BADTM BADTSW BENBSW BFSEQ BFSEQD BFSEQ1 003524 6 000010 004603 G 005114 6 005146 6 023562 030736 002210 G 002324 G 025026 G 025052 025124 025136 025230 025302 025344 025416 025470 025522 025554 025576 003460 016030 000001 G 000001 G 000002 G BFSEQZ BFSEQ3 BFSEQ4 BFSEQS BFSEQ6 BFSEQ7 BFSEQ8 BFSEQ9 BFSE10 BGNFLG= BINC BITO = BIT00 = BITO1 = BIT02 = 000004 G B8IT03 = 000010 G BIT04 = 000020 G BIT0S = 000040 G BIT06 = 000100 G BIT07 = 000200 G BITO8 = 000400 6 BITO9 = 001000 6 BIT1 = 000002 G BIT10 = 002000 G BIT11 = 004000 G BIT12 = 010000 6 BIT13 = 020000 G BIT14 = 040000 G BIT15 = 100000 G BIT2 = 000004 G BIT3 = 000010 G BIT4 = 000020 6 BITS = 000040 6 BIT6 = 000100 G BIT7 = 000200 G BIT8 = 000400 6 BIT9 = 001000 6 BOE = 000400 G BORERS 015274 6 BPCRM 031173 BRCPK 002344 6 BRFCNT 003416 G BRF.C = 004000 G MACRO M1113 25-MAY-82 09:51 PAGE 20-96 M SEQ 0142 BTADDR BTMSG1 BIMSGZ BTMSG3 BTPY BTRPT BT0 BT1 812 BT3 CHAR CHARM CHGFLG CHGM 002616 6 015070 015155 015225 003512 6 020142 G 003046 G 003120 6 003172 003244 002220 031140 002214 031063 G G G 6 CHKERR 013166 G CH.EAI= 000040 6 CH.ERI= 000020 6 CH.ESS= 000200 G CKDATA 016444 G CKDCNT 0170564 CKDFF 017056 CKHAE 017456 G CKHRTN 017544 CLN. =101012 G CLRERR 012664 6 CLRFLG 002204 6 CLRM 030644 CMDAC 011064 G CMDASC 004040 G CMDD 002222 6 CMDLG 003426 6 CMDPKM 004346 G CMDPKT 002330 G CMDSAV 003422 G CMDSEQ 003540 G CMDSE2 003550 6 CMDTBL 003752 G CMDWRD 003420 G CMD.CO= 000001 G CMD.C1= 000002 G CMD.C2= 000004 G CMD.C3= 000010 G CMD.C4= 000020 6 CMD2M 031165 CMD3M 031334 CMD4M (031342 CMD5M (31350 CMDEM 031356 CMD7M 031364 CMDBM 031372 CNTBGN= 002626 CNTEND= 003376 CNTLEN= 000550 G CODELM 004162 6 CP.ADH= 000004 G CP.ADL= 000002 G CP.CMD= 000000 G CP.CNT= 000006 G CRLF 005741 G CRLFSP Crcc CvC.C = C$AU_ = 005744 6 003450 6 040000 G 000052 C$AUTO= 000061 C$BRK = 000022 C$8SEG= 000004 ($8SuUB= 000002 CSCEFG= 000045 CSCLCK= 000062 CSCLEA= 000012 C$CLOS= 000035 CS$CLP1= 000006 C$CVEC= 000036 CSDCLN= 000044 C$DODU= 000051 CSDRPT= 000024 C$DU = 000053 CSEDIT= 000003 CSERDF= 000055 CSERHR= 000056 C$ERRO= 000060 CSERSF= 000054 C$ERSO= 000057 CSESCA= 000010 CSESEG= 000005 C$ESUB= 000003 CSETST= 000001 CSEXIT= 000032 C$GETB= 000026 CSGETW= 000027 CSGMAN= 000043 C$GPHR= 000042 C$GPLO= 000030 C$GPRI= 000040 C$INIT= 000011 CSINLP= 000020 CSMANI= 000050 CSMEM = 000031 C$SMSG = 000023 CSOPEN= 000034 C$PNTB= 000014 CSPNTF= 000017 CSPNTS= 000016 CSPNTX= 000015 C$Q10 = 000377 C$RDBU= 000007 CSREFG= 000047 CSRESE= 000033 CSREVI= 000003 CSRFLA= 000021 CSRPT = 000025 C$SEFG= 000046 C$SPRI= 000041 C$SVEC= 000037 C$TPRI= 000013 DATARD 003410 6 EXPBOT EXSUB DFPTBL 002174 6 DFTSCH= 000040 G FATSM FIRSTU DATAWT DATCNT= DATERM DEVIBL 003406 004000 005752 002604 6 6 6 6 DIA = 100006 G DIABLK= 003406 6 DIACNT= 000020 6 DIAGMC= 000000 DINT 002212 6 DINTM 031017 DLY = 000020 6 DLY.C = 000020 G DRI = 100013 G DROPDM 005065 6 DROPED 003522 6 DROPN 017366 DROPU 017156 6 DROPUA 017302 DRORTN 017360 DTAERM 005752 6 DTAERZ2 005226 6 DTAER3 005275 G DTAER4 005337 6 DTAERS 005360 6 EF.CON= 000036 6 EF .HSS= 000040 G EF .NEW= 000035 G EF .PWR= 000034 G EF .RBO= 000020 G EF.RES= 000037 6 EF .RWB= 000030 G EF.STA= 000040 G EINC 016036 END = 177777 G ENDERF= 003472 ENDFLG= 003526 ENDSP 030644 ENDSP1 030406 ENDSP2 030410 ENDSP3 030602 ENDSP4 ENDSPS EOTFLG ERCVER ERLOG ERRREC ERS = ERSFLG EVL = EXALL EXARTN EXCRTN EXCUTE 030642 030640 003502 6 002207 G 003466 6 003471 6 100411 G 003525 6 000004 G 010226 6 010522 012362 012054 G EXTFEA ESEND = ESLOAD= FAST 003514 6 010524 G 002322 G 002100 0GJ035 031325 004642 G 017060 6 FMT.CO= 000040 FMT.C1= 000100 FTLCNT 003366 FUNRM 004622 F$SAU_ = 000015 F$AUTO= 000020 F$BGN = 000040 FSCLEA= 000007 FSOU = 000016 FSEND = 000041 FSHARD= 000004 FSHW = 000013 FSINIT= 000006 F$JMP = 000050 FSMOD = 000000 FSMSG = 000011 F$PROT= 000021 FSPWR = 000017 FSRPT = 000012 FSSEG = 000003 6 G G G F$SOFT= 000005 F$SRV = 000010 F$SUB = 000002 FSSW = 000014 FSTESi= 000001 GCMDA 011136 GENPAT 011556 GES = 100017 GETSTM 005507 GIT 012050 GOWAIT 012364 GSCPK 002340 GSCNTO= 000200 GSDELM= 000372 GSDISP= 000003 GSEXCP= 000400 GSHILI= 000002 GSLOLI= 000001 GSNO = 000000 GSOFFS= 000400 GSOFSI= 000376 GSPRMA= 000001 GSPRMD= 000002 GSPRML= 000000 GSRADA= 000140 GSRADB= 000000 GSRADD= 000040 GSRADL= 000120 GSRADO= 000020 6 G G 6 G G RAWTM RCVERM AOOOOOAOONAAOOAOONOOOOS OOOOO RDBF RDBUF RDF RDR RECCNT RECLOG RECRED RECTAP RECUD RERM RETRY( REWRT RFBC RFCERM RFREC RFUNR RLEXM RNF RNOPSC RNR RNYM RPF RPR RPTCNT RPTFLG RPT1A RPT18 RPTIC RPT1D RPT1E RPTIF RPT1G RPT1] RPT1J RPT1K O OOOOOG RSSAVE SCCNT SCERM SCH = SCHBK SCHCNT= SEQEND SETCH SETDEF oO0coOo RRANV RRBC RRECL RRREC RRUNR RRVM RTLE RTLRIN RWCPK RWD = RWERR 140004 002474 000012 003740 010162 007766 QA o O O AOOOOOOOOOOS A AYaTaaYalaTa 1212121211) Hauunuwwonnn o N P — 0 OO0 OO AT b e b 005543 004670 023656 [AIalnlalalalalala BN WWWWRNONINININD NININ) =D b d d md b W)= O NN WN =2 O NON W (NN [=l=lele] ig; (=i=d=3=l=l=]l=lelololelala j=leleolelelelelele QOOOO0OO0OOO e e b o b b b b b wmd D b cd wmd e b 004536 031205 005422 005456 000001 003536 020000 000000 000001 000001 = 000001 = 000001 = 000000 b b SEQ 0143 b YAl A aY ATAol a2 12 Y Ltlratetatatatatatatelat el el Al el O alnl At al 007070 010040 010046 010054 010062 021272 N 11 023270 023560 023754 024026 024132 QOO LENMSK 003430 LOE = 040000 015544 LOG LOT = 000010 LSACP 092110 LSAPT 002036 LSAU 024030 LSAUT 002070 LSAUTO 023272 002106 023714 PAGE 20-97 [l alalalalalalalalaTa T IBE = 010000 IDU = 000040 IER = 020000 IE.C_ = 000200 INIT10 021302 INIT15 021600 INIT16 021620 INTFLG 003472 INTPRI= 000340 INVRT 007724 IRE 053521 IREC 002213 IRECM 031042 IREM 031107 ISR = 000100 IXE = 004000 ISAU_ = 000041 I$SAUTO= 000041 ISCLN = 000041 I$DU = 000041 I$HRD = 000041 ISINIT= 000041 I$MOD = 000041 I$MSG = 000041 I$SPROT= 000040 I$PTAB= 000041 I$PWR = 000041 ISRPT = 000041 I$SEG = 000041 I$SETU= 000041 I$SFT = 000041 I$SRV = 000041 I1$sUB = 000041 I$TST = 000041 JLOC 003444 JLOOP 003442 JMP = 000040 JMP.C = 000040 JSJMP = 000167 a0 e 002206 030712 004306 000000 100000 003356 002320 LSCCP LSCLEA L$CO LSDEPO LSDESC LSDESP LSDEVP LSDISP LSDLY LSDTP LSDTYP LSOV LSDOUT 25-MAY-82 09:51 OO HAE HAEM HALTM HELP = HOE = HROCNT HSSW OO GSXFER= 000004 GSYES = 000010 o SYMBOL TABLE MACRO M1113 12191212 12 12 1212 121212131212 12 12 12 12 1) PARAMETER CODING PARAMETER CODING MACRO M1113 SETRW SETUP SFF_ = SFPTBL SFR = SOFINI SRF = SRR = STAERM STAER1 STAERZ 105010 002204 105410 007072 104010 104410 006120 006436 006616 TRAP4 TSAM TSBA = TSC.FC= TSC.TC= TSDB TSMD TSNP TSSR TSSREG TSUNT STAERG STAERS STAER6 STAER? STAFLG SvCGBL= SVCINS= svCsus= SVCTAG= SVCTST= SWBFLG SwB.C = SWSET SSLSYM= TCCRA TCCO TCC1 1CC2 TCC3 TCC4 1CCS 006733 006753 006562 006530 003526 G 000000 000001 000000 000000 000000 003520 6 010000 G 004231 G 010000 013372 013412 6 013430 6 013446 6 013556 6 013574 G 014210 6 TCC7 TC2RTN TIME1 TIME2 TOERM TOOMM TRAPD4 014450 013554 003436 003440 004453 004727 003530 SYMBOL TABLE STAER3 TCC6é 010206 G 011172 6 G G G G G G G 006675 TSVCT 023706 G 004705 G 002514 177717 177761 002514 031235 003534 002524 003454 G G G G G G G 003532 G 002534 G TS.A16= 000400 G 7S.A17= 001000 G TS.NBA= 002000 G TS.NXM= 004000 6 TS.0FL= 000100 G TS.RMR= 010000 G 1S.SC = 100000 G TS.SPE= 020000 6 1S.SSR= 000200 6 TS.UPE= 040000 G TSIMD 002312 6 TS3ADR 027770 TS5CL 002564 6 TSSINT 002554 6 TSSINO 010034 G TSSIN1 010042 G TSS5IN2 010050 G TSS5IN3 010056 G TS5SW 002574 6 TSSUNT 030014 TSS5vVCT 030005 074306 G TSARGC= 000003 6 T$CODE= TSERRN= TSEXCP= TSFLAG= TSFREE= TSGMAN= T$SHILI= G G 6 6 G 032016 000000 ERRORS DETECTED: 25-MAY-82 09:51 . ABS. O 001004 000002 000000 000041 032016 000000 000010 PAGE 20-98 TSLAST= 000001 T$LOLI= 000000 TSLSYM= TSLTINO= TSNEST= T$NSO = TSNS1 = TSNS2 = T$SPCNT= TSPTAB= T$PTHV= 010000 000005 177777 000000 000005 000002 000000 010043 000001 T$PTNU= 000001 T$SAVL= 177777 T$SEGL= 177777 SEQ 0144 T1 TiswB 1.1 T1.10 T1.11 T1.12 71.2 71.3 T1.4 T1.5 T1.6 024134 6 003523 6 024144 024554 024574 024660 024350 024374 024414 024434 024454 11.7 024474 WRBC 002626 G WRTY WRTYCT WRTYER WRTYFG WRUNR WSM = WSMBK WSSR WIBF WIBUF WIM = WIMFLG 014614 003316 003464 003463 002776 140006 002506 012700 031305 002316 100011 G 6 G 6 G G G 6 G 6 003456 G T$SI1ZE= 000005 T$SUBN= 000000 T$TAGL= 177777 TSTAGN= 010045 TSTEMP= 000000 TSTEST= 000005 T1$TSTM= 177777 T$TSTS= 000001 T$SAU = 010016 T$$AUT= 010013 TSSCLE= 010014 T$SDAT= 010044 T8$DU = 010015 T$SHAR= 010040 T$SHW = 010000 T$SINI= 010012 TSSMSG= 010003 T$$PC = 000001 T$$PRO= 010011 71.8 024514 11.9 024534 T2 025622 G T3 026456 6 T4 026652 G T5 027032 6 TSWEOT 027612 G UAM = 000200 6 UNIWLK 005653 UNL = 100412 G UNREC 003470 6 URERM 005041 G VFEXC 016130 ¢ VFISU 016356 6 VFYCNT 003346 6 VFYDAT 01604- 6 VFYFLG 003516 6 VFY.C = 000100 6 WAITF 007204 G WLKCHK 007356 6 WLKZRO 011734 WIR = 101011 G WiV = 104105 G WIVERM 004430 G WTYBRF 015066 WIYCMD 015062 WTYWRD 015064 X$ALWA= 000000 X$FALS= 000040 X$OFFS= 000400 X$TRUE= 000020 X0.80T= 000002 6 X0.E0T= 000001 G X0.LET= 020000 G X0.0ONL= 000100 6 X0.RLL= 010000 G X0.RLS= 040000 6 X0.TMK= 100000 G X0.WLK= 000004 G X2.BFE= 000100 G X2.EFE= 000200 G X2.0PM= 100000 G T$SRP1= T$$SOF= T$$SRV= T$$SUB= T$$SW = T$SSTES= WRECL = WRR = WRREC WRT = WRTCHK WRTCHR X3.RNY= X4.HSS= X4.RCE= ZROPAT $SLSTIN= $LSTTA= TSSPTA= 010043 010010 0100641 010007 010033 010001 010037 000 001 VIRTUAL MEMORY USED: 26197 WORDS ( 103 PAGES) DYNAMIC MEMORY: 20346 WORDS ( 78 PAGES) 8 ELAPSED TIME: 00:17:56 CVTSEAQ,CVTSEAO/~SP=SY(34R/ML,TSVIE,CVTSEA.SRC/EN:AMA:ABS/DS : GBL 000020 105005 002766 104005 007270 007436 6 G G G 6 6 X3.0Ck= 000010 G 157400 G 100000 G 040000 G 011704 000001 000001
Home
Privacy and Data
Site structure and layout ©2025 Majenko Technologies