; Run the 7905 disc diagnostic (D419A). ; ; Test with one 7905, automatic tests, section 1 only, pause on error. ; Realistic timing, without the patch for MTBA loop workaround. ; Set up the log(s). set -n console log=zds.log set -n console debug=debug.log ; Set up the diagnostic override table. ; ; Step Cyl Head Sect Opcode SPD Status ; ==== === ==== ==== ====================== === ======================== ; 24 398 1 47 Write Full Sector Normal Completion SET DS DIAG=398;1;47;011;;000 ; ; 24 398 1 47 Read Correctable Data Error SET DS DIAG=398;1;47;005;;017 ; ; 24 398 1 47 Request Syndrome Correctable Data Error ; 0 000000 000000 000000 SET DS DIAG=398;1;47;015;;017;0;0;0;0 ; ; 27 398 1 30 Write Full Sector Normal Completion SET DS DIAG=398;1;30;011;;000 ; ; 27 398 1 30 Read Correctable Data Error SET DS DIAG=398;1;30;005;;017 ; ; 27 398 1 30 Request Syndrome Correctable Data Error ; 0 000000 000000 000000 SET DS DIAG=398;1;30;015;;017;0;0;0;0 ; ; 31 398 1 25 Write Full Sector Normal Completion SET DS DIAG=398;1;25;011;;000 ; ; 31 398 1 25 Read Correctable Data Error SET DS DIAG=398;1;25;005;;017 ; ; 31 398 1 25 Request Syndrome Uncorrectable Data Error SET DS DIAG=398;1;25;015;;010 ; ; 48 4 1 32 Read Correctable Data Error SET DS DIAG=4;1;32;005;;017 ; ; 50 4 1 32 Read Correctable Data Error SET DS DIAG=4;1;32;005;;017 ; ; 52 4 1 32 Read Correctable Data Error SET DS DIAG=4;1;32;005;;017 ; ; 62 1 1 0 Initialize S Normal Completion SET DS DIAG=1;1;0;013;S;000 ; ; 62 1 1 42 Read S Normal Completion SET DS DIAG=1;1;42;005;S;000 ; ; 62 1 1 43 Read P Normal Completion SET DS DIAG=1;1;43;005;P;000 ; ; 62 1 1 44 Read D Defective Track SET DS DIAG=1;1;44;005;D;021 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error SET DS DIAG=1;1;42;005;;017 ; ; 77 4 0 37 Read Correctable Data Error SET DS DIAG=4;0;37;005;;017 ; Configuration locations: ; ; Location Default Value Contents ; ------------- ------------- --------------------------------------------------- ; DB+0 041300 100000 Switch Register setting ; DB+1 041301 177000 Section Select Register setting ; DB+2 041302 000014 Version and update level ; DB+3 041303 000000 Disc controller DRT number ; DB+4 041304 000143 99 Maximum error print count ; DB+5 041305 000000 Section number ; DB+6 041306 000000 Step number ; DB+7 041307 000000 Device status ; Boot the I/O diagnostics tape. attach -r ms0 30000-11017_Rev-2640_IO.tape boot ms0 ; Load the tape file containing the diagnostic. ; ; The I/O tape contains these files: ; ; DIAGNOSTIC FILE REV %FILE ; ------------------- ------ ----- ---- ; SLEUTH PD411A 01.05 (01) ; CART DISC-7905A PD419A 01.04 (02) ; MEMORY PATTERN PD421A 01.00 (03) ; MULTIPLEXOR CHAN PD422A 01.02 (04) ; DISC FILE-2888A PD423A 01.00 (05) ; CART DISC-7900A PD424A 01.00 (06) ; SYSTEM CLOCK II/III PD425A 01.00 (07) ; SYS CLK/FLI III-LC PD426A 00.00 (10) ; TERMINAL DATA PD427A 01.01 (11) ; FIXED HEAD DISC PD428A 01.00 (12) ; SELECTOR CHAN PD429A 01.01 (13) ; FLT.CORR.MEM SER-II PD430A 01.01 (14) ; FLT.CORR.MEM SER-III PD430B 00.00 (15) ; EXTEND INSTRUC SET PD431A 01.00 (16) ; HSI DIAG. PD432A 01.00 (17) ; MAGNETIC TAPE PD433A 01.04 (20) ; SSLC INTERFACE PD434A 01.03 (21) ; ASLC INTERFACE PD434B 01.04 (22) ; UI DIAG PD435A 01.01 (23) ; TERMINAL CONTROL PD438A 01.00 (24) ; CALCOMP PLOTTER PD439A 01.01 (25) ; COBOLII A F/W DIAG PD441A 00.00 (26) ; COBOLII B F/W DIAG PD442A 00.00 (27) ; STAND ALONE DISC SADUTIL 01.00 (30) deposit SWCH 2 ; Set the CLK into diagnostic mode. set clk realtime ; Configure the disc drive. set ds realtime set ds0 7905,format attach -n ds0 scratch.0.disc ; Run the diagnostic. set console delay=10000 set -a console halt=Q99 02 echo echo Press to start the diagnostic. go ; Respond to "Q99 02 DECIMAL DEVICE NUMBER?" set console response=4~m set -a console halt=Q99 03 go ; Respond to "Q99 03 MAXIMUM ERROR PRINT COUNT?" set console response=999~m set -a console halt=P99 55 go ; Respond to "P99 55 UPDATE SWITCH REGISTER" ; ; Set the Switch Register options: ; ; + bit 0 = select the external switch register ; + bit 1 = modify the Section Select Register ; bit 2 = skip CLEAR in ENDSTEP when disc drive error (STATUS2) appears ; bit 3 = not used ; bit 4 = not used ; bit 5 = not used ; bit 6 = not used ; bit 7 = output D,E-class messages to the line printer (if configured) ; bit 8 = not used ; bit 9 = suppress E-class messages ; bit 10 = suppress D-class messages ; bit 11 = loop on the current step ; bit 12 = pause on error ; bit 13 = pause at the end of each step ; bit 14 = pause at the end of each section ; bit 15 = pause at the end of each diagnostic pass deposit SWCH 140000 set console response=~m set -a console halt=Q99 61 go ; Respond to "Q99 61 RESTART?(YES/NO)" set console response=NO~m set -a console halt=Q99 06 go ; Respond to "Q99 06 PRESENT SECTION REGISTER: %177000 DO YOU WISH TO CHANGE?(YES/NO)" set console response=YES~m go ; Respond to "Q99 06 UPDATE SECTION REGISTER: %" ; ; Section Select options: ; ; + bit 0 = execute section 0 (verifying of basic functions) ; + bit 1 = execute section 1 (verifying all functions) ; bit 2 = execute section 2 (write/read to all or limited addresses) ; bit 3 = execute section 3 (random write/read with random block size) ; bit 4 = execute section 4 (random one block read unique data) ; bit 5 = execute section 5 (multi-unit tets same as section 4) ; bit 6 = execute section 6 (interface test in test mode) ; bit 7 = change unit table ; bit 8 = change cylinder table ; bit 9 = change head table ; bit 10 = change pattern data table ; bit 11 = loop on current section ; bit 12 = not used ; bit 13 = shorten test somewhat ; bit 14 = shorten test severely ; bit 15 = restrict cylinders are not used ; ; The default section select setting is 177000. set console response=140000~m go ; Respond to "Q99 06 PRESENT SECTION REGISTER: %140000 DO YOU WISH TO CHANGE?(YES/NO)" set console response=NO~m set -a console halt=P99 51 go ; Respond to "P99 51 RESET SWITCH 1 (CHANGE)" ; ; Set the Switch Register options: ; ; + bit 0 = select the external switch register ; bit 1 = modify the Section Select Register ; bit 2 = skip CLEAR in ENDSTEP when disc drive error (STATUS2) appears ; bit 3 = not used ; bit 4 = not used ; bit 5 = not used ; bit 6 = not used ; bit 7 = output D,E-class messages to the line printer (if configured) ; bit 8 = not used ; bit 9 = suppress E-class messages ; bit 10 = suppress D-class messages ; bit 11 = loop on the current step ; + bit 12 = pause on error ; bit 13 = pause at the end of each step ; bit 14 = pause at the end of each section ; + bit 15 = pause at the end of each diagnostic pass deposit SWCH 100011 set console response=~m set -a console halt=P99 05 go ; Respond to "P99 05 RESET BOTH PROT.DATA SWITCHES,SET SWITCH FORMAT AND SET UNIT TO 0" set console response=~m set -a console halt=Q99 42 go ; Respond to "Q99 42 WISH TO EXECUTE INTERACTIVE PORTION IN SECTION 1 (YES/NO)" set console response=NO~m set console halt=PAUSE ; PATCH: this works around the problem that realistic timing is based on ; an average instruction time of 2.5 usec, but step 66 uses MTBA ; instructions, which take longer, in a timing loop. The workaround ; changes the outer loop repeat count from 300 to 400 inner loop ; iterations. ; deposit 020124 000620 ; Set the debugging options. ; set cpu debug ; set clk debug=serv set iop debug=irq;dio,filter=3;7 set sel debug set ds debug go ; End the of diagnostic.