; 7905 Cartridge Disc diagnostic (D419A), user interaction. ; Parameter 1 = path to diagnostic tape. ; ; Test with one 7905, interactive and automatic tests, all sections, short pass. ; ; 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 echo echo echo ----------------------------------------- echo D419A - Cartridge Disc (user interaction) echo ----------------------------------------- echo echo Loading the stand-alone loader. ; Cold load the I/O diagnostics tape. attach -r MS0 %130000-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 DS0 7905,FORMAT attach -n DS0 scratch.0.disc ; Set up the diagnostic override table. ; ; Step Cyl Head Sect Opcode SPD Status ; ==== === ==== ==== ====================== === ======================== ; 07 1 0 0 Write D Defective Track set DS DIAGNOSTIC=1;0;0;010;D;021 ; ; 08 1 0 0 Read D Defective Track set DS DIAGNOSTIC=1;0;0;005;D;021 ; ; 11 1 0 0 Write S Normal Completion set DS DIAGNOSTIC=1;0;0;010;S;000 ; ; 12 1 0 0 Read S Normal Completion set DS DIAGNOSTIC=1;0;0;005;S;000 ; ; 15 1 0 0 Write P Normal Completion set DS DIAGNOSTIC=1;0;0;010;P;000 ; ; 16 1 0 0 Read P Normal Completion set DS DIAGNOSTIC=1;0;0;005;P;000 ; ; 24 398 1 47 Write Full Sector Normal Completion set DS DIAGNOSTIC=398;1;47;011;;000 ; ; 24 398 1 47 Read Correctable Data Error set DS DIAGNOSTIC=398;1;47;005;;017 ; ; 24 398 1 47 Request Syndrome Correctable Data Error ; 0 000000 000000 000000 set DS DIAGNOSTIC=398;1;47;015;;017;0;0;0;0 ; ; 27 398 1 30 Write Full Sector Normal Completion set DS DIAGNOSTIC=398;1;30;011;;000 ; ; 27 398 1 30 Read Correctable Data Error set DS DIAGNOSTIC=398;1;30;005;;017 ; ; 27 398 1 30 Request Syndrome Correctable Data Error ; 0 000000 000000 000000 set DS DIAGNOSTIC=398;1;30;015;;017;0;0;0;0 ; ; 31 398 1 25 Write Full Sector Normal Completion set DS DIAGNOSTIC=398;1;25;011;;000 ; ; 31 398 1 25 Read Correctable Data Error set DS DIAGNOSTIC=398;1;25;005;;017 ; ; 31 398 1 25 Request Syndrome Uncorrectable Data Error set DS DIAGNOSTIC=398;1;25;015;;010 ; ; 48 4 1 32 Read Correctable Data Error set DS DIAGNOSTIC=4;1;32;005;;017 ; ; 50 4 1 32 Read Correctable Data Error set DS DIAGNOSTIC=4;1;32;005;;017 ; ; 52 4 1 32 Read Correctable Data Error set DS DIAGNOSTIC=4;1;32;005;;017 ; ; 62 1 1 0 Initialize S Normal Completion set DS DIAGNOSTIC=1;1;0;013;S;000 ; ; 62 1 1 42 Read S Normal Completion set DS DIAGNOSTIC=1;1;42;005;S;000 ; ; 62 1 1 43 Read P Normal Completion set DS DIAGNOSTIC=1;1;43;005;P;000 ; ; 62 1 1 44 Read D Defective Track set DS DIAGNOSTIC=1;1;44;005;D;021 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 66 1 1 42 Read Correctable Data Error set DS DIAGNOSTIC=1;1;42;005;;017 ; ; 77 4 0 37 Read Correctable Data Error set DS DIAGNOSTIC=4;0;37;005;;017 ; Load and start the diagnostic. ; ; The diagnostic loads from tape and then waits for a . echo echo Loading and executing the diagnostic. reply "\r" delay 2 seconds ; Respond to "Q99 02 DECIMAL DEVICE NUMBER?" go until "?\r\n" ; reply "4\r" ; Respond to "Q99 03 MAXIMUM ERROR PRINT COUNT?" go until "?\r\n" ; reply "999\r" ; Respond to "P99 55 UPDATE SWITCH REGISTER" go until "REGISTER\r\n" ; 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 echo echo sim> deposit SWCH 140000 echo sim> go deposit SWCH 140000 reply "\r" ; Respond to "Q99 61 RESTART?(YES/NO)" go until "NO)\r\n" ; reply "NO\r" ; Respond to "Q99 06 PRESENT SECTION REGISTER: %177000 DO YOU WISH TO CHANGE?(YES/NO)" go until "NO)\r\n" ; reply "YES\r" ; 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. go until "%%\r\n" ; reply "177002\r" ; Respond to "Q99 06 PRESENT SECTION REGISTER: %177002 DO YOU WISH TO CHANGE?(YES/NO)" go until "NO)\r\n" ; reply "NO\r" ; Respond to "P99 51 RESET SWITCH 1 (CHANGE)" go until "(CHANGE)\r\n" ; 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 echo echo sim> deposit SWCH 100001 echo sim> go deposit SWCH 100001 reply "\r" ; Respond to "P99 05 RESET BOTH PROT.DATA SWITCHES,SET SWITCH FORMAT AND SET UNIT TO 0" go until "TO 0\r\n" ; reply "\r" ; Respond to "Q99 42 WISH TO EXECUTE INTERACTIVE PORTION IN SECTION 1 (YES/NO)" go until "NO)\r\n" ; reply "YES\r" ; Respond to "Q18 68 DO YOU WISH FORMAT DISC? (YES/NO)"; go until "NO)\r\n" ; reply "NO\r" ; Respond to "P19 19 SET UPPER DATA PROTECT SWITCH" go until "SWITCH\r\n" echo echo sim> set DS0 PROTECT=UPPER echo sim> go set DS0 PROTECT=UPPER reply "\r" ; Respond to "P19 27 RESET SWITCH FORMAT" go until "FORMAT\r\n" echo echo sim> set DS0 NOFORMAT echo sim> go set DS0 NOFORMAT reply "\r" ; Respond to "P19 19 RESET UPPER DATA PROTECT SWITCH" go until "SWITCH\r\n" echo echo sim> set DS0 UNPROTECT=UPPER echo sim> go set DS0 UNPROTECT=UPPER reply "\r" ; Respond to "P19 20 SET LOWER DATA PROTECT SWITCH" go until "SWITCH\r\n" echo echo sim> set DS0 PROTECT=LOWER echo sim> go set DS0 PROTECT=LOWER reply "\r" ; Respond to "P19 26 SET SWITCH FORMAT" go until "FORMAT\r\n" echo echo sim> set DS0 FORMAT echo sim> go set DS0 FORMAT reply "\r" ; Respond to "P19 19 SET UPPER DATA PROTECT SWITCH" go until "SWITCH\r\n" echo echo sim> set DS0 PROTECT=UPPER echo sim> go set DS0 PROTECT=UPPER reply "\r" ; Respond to "P19 27 RESET SWITCH FORMAT" go until "FORMAT\r\n" echo echo sim> set DS0 NOFORMAT echo sim> go set DS0 NOFORMAT reply "\r" ; Respond to "P19 05 RESET BOTH PROT.DATA SWITCHES,SET SWITCH FORMAT" go until "FORMAT\r\n" echo echo sim> set DS0 UNPROTECT echo sim> set DS0 FORMAT echo sim> go set DS0 UNPROTECT set DS0 FORMAT reply "\r" ; Respond to "P20 58 RESET RUN SWITCH AT UNIT 0" ; ; The diagnostic succeeds here only if the interrupt from the head unload ; is serviced and then the disc controller is allowed to time out. The ; status from the controller should be Drive Attention after a head unload, ; but the diagnostic expects Normal Completion, as the status is cleared ; whenever the controller returns to the idle poll loop. go until "UNIT 0\r\n" echo echo sim> set DS0 UNLOAD echo sim> go set DS0 UNLOAD reply "\r" delay 4 seconds ; Respond to "P20 58 SET RUN SWITCH AND WAIT UNTIL READY" ; ; The diagnostic succeeds here only if the interrupt from the head load ; is serviced and then the disc controller is allowed to time out. The ; status from the controller should be Drive Attention after a head load, ; but the diagnostic expects Normal Completion, as the status is cleared ; whenever the controller returns to the idle poll loop. go until "READY\r\n" echo echo sim> set DS0 LOAD echo sim> go set DS0 LOAD reply "\r" delay 2 seconds ; End the of diagnostic. go until "PASS 000001\r\n" ; Restore the hardware configuration. detach DS0 delete scratch.0.disc set CLK CALTIME