FTN4,L C C C THIS THE OFF-LINE DIAGNOSTIC FOR THE HP-IB DISCS.(7906/20/25) C DATE 8/28/79. C 11/27/79 CHANGED PART NUMBER FROM 91711-16200 C TO 91711-16205 C C PROGRAM DIAG(3),91711-16205 REV.2001 791127 C DIMENSION IW37(17),IW38(15),IW45(19),IW44(14),IW39(19),IW91(22) DIMENSION IW92(20),IW46(15),IW65(14),IW66(14),IW93(17),IW94(19) DIMENSION IW95(19),IW47(16),IW48(24),IW59(24),IW1(17) C INTEGER STEP DIMENSION INAM(3) DIMENSION IW2(24),IW3(22),IW4(24) DIMENSION IW7(25),IW11(23),IW12(14) DIMENSION IW13(28),IW14(27),IW15(17),IW16(31),IW70(28) DIMENSION IW71(30),IW72(27),IW73(31),IW18(24),IW19(23),IW20(26) DIMENSION IW21(12),IW22(26),IW24(25),IW25(28),IW26(26) DIMENSION IW27(27),IW28(26),IW29(30),IW30(32),IW31(29) DIMENSION IW34(16),IW35(16),IW36(14) DIMENSION IW40(28),IW41(11),IW42(21),IW43(23) DIMENSION IW49(17),IW50(17),IW81(18),IW82(27) DIMENSION IW51(19),IW52(29),IW54(20),IW55(31),IW56(30) DIMENSION IW57(27),IW58(30),IW60(26),IW61(20),IW62(21),IW80(21) DIMENSION IW63(21),IW64(18),IW96(30),IW97(32),IW98(35),IW99(16) DIMENSION ISTAT(2),ID(5),IBF1(160),IBF2(150) DIMENSION IP(5),ICY(4),IHD(4),ISC(4),IBF(35) C C C C C C DATA IW1/2HDI,2HAG,2H ,2H -,2H :,2H H,2HP-,2HIB,2H D,2HIS,2HC , +2HDI,2HAG,2HNO,2HST,2HIC,2H. / C DATA IW2/2HDI,2HAG,2H ,2H- ,2H: ,2HDO,2H Y,2HOU,2H W,2HAN, +2HT ,2HTH,2HE ,2HPR,2HOG,2HRA,2HM ,2HTO,2H S,2HTO,2HP ,2HAF, +2HTE,2HR / C DATA IW3/2H ,2H ,2H ,2H ,2H ,2HTH,2HE ,2HFI,2HRS,2HT ,2H F, +2HAI,2HLU,2HRE,2H ?,2H (,2HYE,2HS ,2HOR,2H N,2HO),2H / C DATA IW4/2HDI,2HAG,2H ,2H- ,2H: ,2HIN,2HPU,2HT ,2HDR,2HIV, +2HE ,2HTY,2HPE,2H. ,2H(7,2H90,2H6,,2H79,2H20,2H O,2HR ,2H79, +2H25,2H) / C C DATA IW7/2HDI,2HAG,2H ,2H- ,2H: ,2HYO,2HU ,2HDI,2HD ,2HNO, +2HT ,2HIN,2HPU,2HT ,2HA ,2HVA,2HLI,2HD ,2HDR,2HIV,2HE ,2H T,2HYP, +2HE.,2H / C C C DATA IW11/2HDI,2HAG,2H ,2H- ,2H: ,2HWA,2HIT,2HIN,2HG ,2HFO, +2HR ,2HTH,2HE ,2H D,2HRI,2HVE,2H T,2HO ,2HBE,2H R,2HEA, +2HDY,2H. / C DATA IW12/2HDI,2HAG,2H ,2H- ,2H: ,2HDI,2HAG,2H ,2HIS,2H R, +2HUN,2HNI,2HNG,2H. / C DATA IW13/2HDI,2HAG,2H ,2H- ,2H: ,2HPU,2HT ,2HBA,2HCK,2H T, +2HES,2HT ,2HNU,2HMB,2HER,2H S,2HWI,2HTC,2HHE,2HS ,2HAN,2HD , +2HMO,2HDE,2H S,2HWI,2HTC,2HH / C DATA IW14/2H ,2H ,2H ,2H ,2H ,2HTO,2H O,2HP , +2HMO,2HDE,2H. ,2HMA,2HKE,2H S,2HUR,2HE ,2HAL,2HL ,2HTH, +2HE ,2HSW,2HIT,2HCH,2HES,2H S,2HET,2H / C DATA IW15/2H ,2H ,2H ,2H ,2H ,2HPR,2HOP,2HER,2HLY,2H. , +2HEN,2HTE,2HR ,2H" ,2H" ,2H,C,2HR / C DATA IW16/2HDI,2HAG,2H ,2H- ,2H: ,2HPU,2HT ,2HRU,2HN/,2HST, +2HOP,2H S,2HWI,2HTC,2HH ,2HIN,2H S,2HTO,2HP ,2HPO,2HSI,2HTI, +2HON,2H. ,2HEN,2HTE,2HR ,2H" ,2H" ,2H,C,2HR / C C C DATA IW70/2HDI,2HAG,2H ,2H- ,2H: ,2HTH,2HIS,2H P,2HAR,2HT , +2HOF,2H T,2HHE,2H D,2HIA,2HGN,2HOS,2HTI,2HC ,2HRE,2HQU,2HIR, +2HES,2H O,2HPE,2HRA,2HTO,2HR / C DATA IW71/2H ,2H ,2H ,2H ,2H ,2HIN,2HTE,2HRA,2HCT,2HIO, +2HN.,2H Y,2HOU,2H C,2HAN,2H S,2HKI,2HP ,2HTH,2HIS,2H P,2HAR, +2HT ,2HOF,2H T,2HHE,2H T,2HES,2HT.,2H / C DATA IW72/2H ,2H ,2H ,2H ,2H ,2HDO,2H ,2HYO,2HU ,2HWA, +2HNT,2H T,2HO ,2HRU,2HN ,2HTH,2HIS,2H P,2HAR,2HT?,2H (,2HYE, +2HS ,2HOR,2H N,2HO),2H / C DATA IW73/2HDI,2HAG,2H ,2H- ,2H: ,2HPU,2HT ,2HRU,2HN/,2HST, +2HOP,2H S,2HWI,2HTC,2HH ,2HIN,2H R,2HUN,2H P,2HOS,2HIT,2HIO, +2HN.,2H E,2HNT,2HER,2H ",2H ",2H ,,2HCR,2H / C DATA IW18/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O,2HFF,2H F, +2HOR,2HMA,2HT ,2HSW,2HIT,2HCH,2H. ,2HEN,2HTE,2HR ,2H" ,2H" , +2H,C,2HR / C DATA IW19/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O,2HN ,2HFO, +2HRM,2HAT,2H S,2HWI,2HTC,2HH.,2HEN,2HTE,2HR ,2H" ,2H" ,2H,C,2HR / C DATA IW20/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O,2HN ,2HPR, +2HOT,2HEC,2HT ,2HSW,2HIT,2HCH,2H O,2HN ,2HUP,2HPE,2HR ,2HPL, +2HAT,2HTE,2HR.,2H / C DATA IW21/2H ,2H ,2H ,2H ,2H ,2HEN,2HTE,2HR ,2H" ,2H" , +2H,C,2HR / C DATA IW22/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O ,2HN ,2HPR, +2HOT,2HEC,2HT ,2HSW,2HIT,2HCH,2H O,2HN ,2HLO,2HWE,2HR ,2HPL, +2HAT,2HTE,2HR.,2H / C C DATA IW24/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O,2HN ,2HRE, +2HAD,2H O,2HNL,2HY ,2HSW,2HIT,2HCH,2H. ,2HEN,2HTE,2HR ,2H" ,2H" , +2H,C,2HR / C DATA IW25/2HDI,2HAG,2H ,2H- ,2H: ,2HTH,2HE ,2HFO,2HLL,2HOW, +2HIN,2HG ,2HTE,2HST,2H M,2HIG,2HHT,2H B,2HE ,2HDE,2HST,2HRU, +2HCT,2HIV,2HE ,2H!!,2H!!,2H! / C C DATA IW26/2H ,2H ,2H ,2H ,2H ,2HIT,2H W,2HIL,2HL ,2HCH,2HEC, +2HK ,2HTH,2HE ,2HSE,2HCO,2HND,2H P,2HRO,2HTE,2HCT,2H S,2HWI,2HTC, +2HH.,2H / C DATA IW27/2H ,2H ,2H ,2H ,2H ,2HDO,2H Y,2HOU,2H W,2HAN, +2HT ,2HTO,2H R,2HUN,2H T,2HHI,2HS ,2HPA,2HRT,2H ?,2H (,2HYE, +2HS ,2HOR,2H N,2HO),2H / C DATA IW28/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O,2HFF,2H P, +2HRO,2HTE,2HCT,2H S,2HWI,2HTC,2HH ,2HON,2H L,2HOW,2HER,2H P, +2HLA,2HTT,2HER,2H / C DATA IW29/2HAN,2HD ,2HTU,2HRN,2H O,2HN ,2HPR,2HOT,2HEC,2HT , +2HSW,2HIT,2HCH,2H O,2HN ,2HUP,2HPE,2HR ,2HPL,2HAT,2HTE,2HR., +2H H,2HEN,2HTE,2HR ,2H" ,2H" ,2H,C,2HR / C DATA IW30/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O,2HFF,2H P, +2HRO,2HTE,2HCT,2H S,2HWI,2HTC,2HH ,2HON,2H U,2HPP,2HER,2H P, +2HLA,2HTT,2HER,2H A,2HND,2H T,2HUR,2HN ,2HON,2H / C DATA IW31/2H ,2H ,2H ,2H ,2H ,2HPR,2HOT,2HEC,2HT ,2HSW, +2HIT,2HCH,2H O,2HN ,2H L,2HOW,2HER,2H P,2HLA,2HTT,2HER,2H. , +2HEN,2HTE,2HR ,2H" ,2H" ,2H,C,2HR / C C C DATA IW34/2HDI,2HAG,2H ,2H- ,2H: ,2HTE,2HST,2H S,2HTE,2HP , +2H ,2H F,2HAI,2HLE,2HD.,2H / C DATA IW35/2H ,2H ,2H ,2H ,2H ,2HCH,2HEC,2HK ,2HTH,2HE , +2HFO,2HLL,2HOW,2HIN,2HG:,2H / C DATA IW36/2HDI,2HAG,2H ,2H- ,2H: ,2HIS,2H S,2HTI,2HLL,2H R, +2HUN,2HNI,2HNG,2H. / C DATA IW37/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HPR, +2HOC,2HES,2HSO,2HR ,2HBO,2HAR,2HD.,2H / C DATA IW38/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HSE, +2HRV,2HO ,2HBO,2HAR,2HD.,2H / C DATA IW39/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HTR,2HAC, +2HK ,2HFO,2HLL,2HOW,2HER,2H B,2HOA,2HRD,2H. / C DATA IW40/2HDI,2HAG,2H ,2H- ,2H: ,2HSE,2HEK,2H T,2HIM,2HE , +2HTO,2HO ,2HFA,2HST,2H A,2HS ,2HSE,2HT ,2HON,2H T,2HHE,2H S, +2HER,2HVO,2H B,2HOA,2HRD,2H. / C DATA IW41/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HCO,2HIL,2H. / C DATA IW42/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HCA,2HRR, +2HIA,2HGE,2H (,2HLI,2HNE,2HAR,2H M,2HOT,2HOR,2H).,2H / C DATA IW43/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HSE, +2HRV,2HO ,2HCO,2HDE,2H O,2HN ,2HSE,2HRV,2HO ,2HSU,2HRF, +2HAC,2HE.,2H / C DATA IW44/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HDA,2HTA, +2H B,2HOA,2HRD,2H. / C DATA IW45/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HDR,2HIV, +2HE ,2HCO,2HNT,2HRO,2HL ,2HBO,2HAR,2HD.,2H / C DATA IW46/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HPR,2HEA, +2HMP,2H B,2HOA,2HRD,2H. / C DATA IW47/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HFO,2HRM, +2HAT,2H S,2HWI,2HTC,2HH.,2H / C DATA IW48/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HRE,2HAD, +2H O,2HNL,2HY ,2HOR,2H P,2HRO,2HTE,2HCT,2H ,2HSW,2HIT,2HCH, +2HES,2H. / C DATA IW49/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HRU,2HN/, +2HST,2HOP,2H S,2HWI,2HTC,2HH.,2H / C DATA IW50/2HDI,2HAG,2H ,2H- ,2H: ,2HLO,2HOP,2H B,2HAC,2HK ,2HTE, +2HST,2H F,2HAI,2HLE,2HD.,2H / C DATA IW51/2HCH,2HEC,2HK ,2HI/,2HO ,2HCA,2HRD,2H, ,2HHP,2H-I, +2HB ,2HCA,2HBL,2HES,2H A,2HND,2H I,2HDC,2H. / C DATA IW52/2HDI,2HAG,2H ,2H- ,2H: ,2HSE,2HLF,2H T,2HES,2HT , +2HFA,2HIL,2HED,2H O,2HN ,2HTE,2HST,2H ,2H ,2H ,2HSU,2HB-, +2HSE,2HLF,2H T,2HES,2HT ,2H ,2H. / C C DATA IW54/2HDI,2HAG,2H ,2H- ,2H: ,2HSE,2HLF,2H T,2HES, +2HT ,2HFA,2HIL,2HED,2H O,2HN ,2HTE,2HST,2H ,2H ,2H. / C DATA IW55/2H ,2H ,2H ,2H ,2H ,2HRU,2HN ,2HTH,2HE ,2HSU,2HB-, +2HSE,2HLF,2H T,2HES,2HT ,2H(S,2HET,2H T,2HHE,2H T,2HES,2HT , +2HNU,2HMB,2HER,2H S,2HWI,2HTC,2HHE,2HS / C DATA IW56/2H ,2H ,2H ,2H ,2H ,2HTO,2H T,2HHE,2H F,2HAI,2HLE, +2HD ,2HTE,2HST,2H N,2HO.,2H A,2HND,2H M,2HOD,2HE ,2HSW,2HIT, +2HCH,2H T,2HO ,2HSE,2HRV,2HIC,2HE / C DATA IW57/2H ,2H ,2H ,2H ,2H ,2HMO,2HDE,2H).,2HEN,2HTE, +2HR ,2HTH,2HE ,2HSU,2HB-,2HTE,2HST,2H F,2HAI,2HLE,2HD ,2H(I, +2HN ,2HOC,2HTA,2HL),2H / C DATA IW58/2HDI,2HAG,2H ,2H- ,2H: ,2HDI,2HAG,2HNO,2HST,2HIC, +2HS ,2HTE,2HRM,2HIN,2HAT,2HED,2H. ,2H ,2H T,2HES,2HT ,2HFA, +2HIL,2HUR,2HES,2H D,2HET,2HEC,2HTE,2HD / C DATA IW59/2HDI,2HAG,2H ,2H- ,2H: ,2HDR,2HIV,2HE ,2HFA,2HUL,2HT , +2H(S,2HEE,2H O,2HPE,2HRA,2HTO,2HR',2HS ,2HMA,2HNU,2HAL,2HS),2H / C DATA IW60/2HDI,2HAG,2H ,2H- ,2H: ,2HDE,2HFE,2HCT,2HIV,2HE , +2HSE,2HRV,2HO ,2HHE,2HAD,2H O,2HR ,2H I,2HND,2HEX,2H T,2HRA, +2HND,2HUC,2HER,2H. / C DATA IW61/2HDI,2HAG,2H ,2H- ,2H: ,2HDR,2HIV,2HE ,2HSW,2HIT, +2HCH,2HES,2H O,2HR ,2H D,2HET,2HEC,2HTO,2HRS,2H. / C DATA IW62/2HDI,2HAG,2H ,2H- ,2H: ,2HTR,2HAC,2HK ,2H0 ,2HIN, +2HIT,2HIA,2HLI,2HZE,2H I,2HNC,2HOR,2HRE,2HCT,2HLY,2H. / C DATA IW63/2HDI,2HAG,2H ,2H- ,2H: ,2HTR,2HAC,2HK ,2H0 ,2HIN, +2HIT,2HIA,2HLI,2HZE,2H D,2HEF,2HFE,2HCT,2HIV,2HE.,2H / C DATA IW64/2HDI,2HAG,2H ,2H- ,2H: ,2HTR,2HAC,2HK ,2H0 ,2HIN, +2HIT,2HIA,2HLI,2HZE,2H S,2HPA,2HRE,2H. / C DATA IW65/2HDI,2HAG,2H ,2H- ,2H: ,2HDE,2HFF,2HEC,2HTI,2HVE, +2H H,2HEA,2HD.,2H / C DATA IW66/2HDI,2HAG,2H ,2H- ,2H: ,2HDE,2HFF,2HEC,2HTI, +2HVE,2H M,2HED,2HIA,2H. / C C DATA IW80/2HDI,2HAG,2H ,2H- ,2H: ,2HTO,2H R,2HUN,2H I,2HT , +2HAG,2HAI,2HN,,2HEN,2HTE,2HR:,2H R,2HU,,2HDI,2HAG,2H / C DATA IW81/2HDI,2HAG,2H ,2H- ,2H: ,2HRE,2HAD,2HY ,2HDR,2HIV, +2HE.,2HEN,2HTE,2HR ,2H" ,2H" ,2H,C,2HR / C DATA IW82/2HDI,2HAG,2H ,2H- ,2H: ,2HIS,2H I,2HT ,2HTH,2HE , +2HCO,2HRR,2HEC,2HT ,2HDR,2HIV,2HE ,2HTY,2HPE,2H ?,2H (,2HYE, +2HS ,2HOR,2H N,2HO),2H / C C C DATA IW90/2H / DATA IW91/2HDI,2HAG,2H ,2H- ,2H: ,2HCH,2HEC,2HK ,2HCA,2HBL, +2HES,2H O,2HR ,2HSE,2HLF,2H T,2HES,2HT ,2HPA,2HNE,2HL.,2H / C DATA IW92/2HDI,2HAG,2H ,2H- ,2H: ,2HTR,2HAC,2HK ,2HIN,2HIT, +2HIA,2HLI,2HZE,2H I,2HNC,2HOR,2HRE,2HCT,2HLY,2H. / C DATA IW93/2HDI,2HAG,2H ,2H- ,2H: ,2HTR,2HAC,2HK ,2HIN,2HIT, +2HIA,2HLI,2HZE,2H S,2HPA,2HRE,2H. / C DATA IW94/2HDI,2HAG,2H ,2H- ,2H: ,2HTR,2HAC,2HK ,2HIN,2HIT, +2HIA,2HLI,2HZE,2H D,2HEF,2HEC,2HTI,2HVE,2H. / C DATA IW95/2HDI,2HAG,2H ,2H- ,2H: ,2HTR,2HAC,2HK ,2HIN,2HIT, +2HIA,2HLI,2HZE,2H P,2HRO,2HTE,2HCT,2HED,2H. / C C DATA IW96/2HDI,2HAG,2H ,2H- ,2H: ,2HTU,2HRN,2H O,2HFF, +2H P,2HRO,2HTE,2HCT,2H/R,2HEA,2HD ,2HON,2HLY,2H S,2HWI, +2HTC,2HH.,2H E,2HNT,2HER,2H ",2H ",2H ,,2HCR,2H / C C DATA IW97/2HDI,2HAG,2H ,2H- ,2H: ,2HTH,2HE ,2HDI,2HAG,2HNO, +2HST,2HIC,2H I,2HS ,2HUS,2HIN,2HG ,2HDE,2HST,2HRU,2HCT,2HIV,2HE , +2HTE,2HST,2HS.,2H C,2HHA,2HNG,2HE ,2HTH,2HE / C DATA IW98/2H ,2H ,2H ,2H ,2H ,2HRE,2HMO,2HVA,2HBL,2HE ,2HPL, +2HAT,2HTE,2HR ,2HON,2H T,2HHE,2H 7,2H90,2H6 ,2HOR,2H T,2HHE,2H C, +2HAR,2HTR,2HID,2HGE,2H F,2HOR,2H 7,2H92,2H0/,2H25,2H. / C C DATA IW99/2HDI,2HAG,2H ,2H- ,2H: ,2H E,2HNT,2HER,2H D,2HIS, +2HC ,2HAD,2HDR,2HES,2HS.,2H / C C C C C C C C C C C C LOAD IFL1 WITH DATA SO IFL1#IFL2 C C IFL1=2HYE IFL2=7 C C C LOAD THE FAULTS COUNTER TO 0. C IKL=0 C C SET IUN=0 IUN=0 C C C CALL EXEC(2,201B,IW1,17) CALL EXEC(2,201B,IW90,1) C C C C C PRINT MESSAGE TO REPLACE THE CARTRIDGE BEFORE STARTING THE TEST. C C CALL EXEC(2,201B,IW97,32) CALL EXEC(2,201B,IW98,35) CALL EXEC(2,201B,IW21,12) CALL EXEC(2,201B,IW90,1) C C C CALL EXEC(1,401B,IHP,1) C C C C LU ASSIGNMENT FOR THIS OFF LINE PROGRAM. C C C C ILST=1 NO LINE PRINTER. ALL MESSAGES WILL BE PRINTED ON C THE CONSOL. C C 603 ILST=1 C C THE DISC LU IS 4. C ILU=4 C C INPUT DISC ADDRESS. FIRST PRINT MESSAGE. C CALL EXEC(2,201B,IW99,16) CALL EXEC(2,201B,IW90,1) C C C INPUT THE ADDRESS. C C CALL INBA(IADR) C C IDVID=IADR C C C C ASK OPERATOR IF THE PROGRAM SHOULD STOP AFTER THE FIRST FAILURE. C C 5555 CALL EXEC(2,201B,IW2,24) CALL EXEC(2,201B,IW3,22) C C INPUT ANSWER CALL EXEC(1,401B,IFL2,1) C C INO=2HNO IYS=2HYE IF(IFL2.EQ.INO)GO TO 6666 IF(IFL2.EQ.IYS)GO TO 6666 GO TO 5555 C C C INPUT DRIVE TYPE. C 6666 CALL EXEC(2,201B,IW4,24) C C INPUT ANSWER. C CALL INDC(ITYP,ISTAT) C C C 880 IF(ITYP.EQ.7906)GO TO 102 IF(ITYP.EQ.7920)GO TO 104 IF(ITYP.EQ.7925)GO TO 105 C C C C C IF IS NOT VALID DRIVE TYPE, PRINT MESSAGE AND INPUT AGAIN. C C C 990 CALL EXEC(2,201B,IW7,25) C C GO TO 6666 C C 102 NCYL=411 NHED=4 NSCT=48 IT=0 GO TO 99 104 NCYL=823 NHED=5 NSCT=48 IT=1 GO TO 99 105 NCYL=823 NHED=9 NSCT=64 IT=3 C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C C FIND OUT IF THE RUN/STOP SWITCH IS IN RUN POSITION , IF THE C FORMAT SWITCH IS ON AND IF THE PROTECT READ ONLY SWITCH IS OFF. C C 99 CONTINUE C C C READ DRIVE STATUS. C 98 IDVID=IADR CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) C C CHECK FOR TIME OUT C IF(IER.NE.4)GO TO 9863 CALL EXEC(2,201B,IW81,18) CALL EXEC(1,401B,IHP,1) C C C CHECK IF ITYP IS THE RIGHT DRIVE TYPE. C 9863 IF(ID(4).EQ.IT)GO TO 9632 CALL EXEC(2,201B,IW82,27) CALL EXEC(1,401B,IHP,1) IYE=2HYE IF(IHP.NE.IYE)GO TO 6666 C C 9632 ISW=IAND(ID(5),2) IFT=IAND(ID(5),32) IPR=IAND(ID(5),64) IF(ISW.NE.0)GO TO 736 IF(IPR.NE.0)GO TO 797 IF(IFT.NE.0)GO TO 737 C C THE FORMAT SWITCH IS OFF. PRINT MESSAGE. C C CALL EXEC(2,201B,IW19,23) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,IHP,1) C GO TO 98 C C RUN/STOP SWITCH IS OFF. PRINT MESSAGE. C 736 CALL EXEC(2,201B,IW73,31) CALL EXEC(2,201B,IW90,1) C C CALL EXEC(1,401B,IHP,1) C C C PARRALLEL POLL. WAIT FOR THE DRIVE TO LOADR UP. C C C PRINT MESSAGE ON CONSOL C C CALL EXEC(2,201B,IW11,23) CALL EXEC(2,201B,IW90,1) C C C 979 CALL EXEC(1,ILU+2200B,ISW,1,6,0) ITEP=7-IADR ITP=2**ITEP ITT=IAND(ITP,ISW) IF(ITT.EQ.0)GO TO 979 GO TO 98 C C C PROTECT/READ ONLY SWITCH IS ON. PRINT MESSAGE. C C 797 CALL EXEC(2,201B,IW96,30) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,IHP,1) C GO TO 98 C C C C C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C 737 CALL EXEC(2,201B,IW12,14) CALL EXEC(2,201B,IW90,1) C C C C C CALCULATE THE CYLINDERS,ICY(1),ICY(2),IHD(1),IHD(2), THAT THE C DIAGNOSTICS WILL USE IN THE DESTACTIVE TESTS. C ICY(1)=3 IHD(1)=0 ISC(1)=0 C ICY(2)=3 IHD(2)=1 ISC(2)=0 C C C C C C STEP=0 C C C CONVERT STEP INTO ASCII AND STORE IT IN IW34(11). IT WILL C DO THAT AT THE BEGINING OF EACH TEST. C C C IW34(11)=KCVT(STEP) C C C C C C LOOP BACK TEST C CALL LOPBK(ILU,IPAS,IADR,IBF) IF(IPAS.EQ.0)GO TO 1 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW50,17) CALL EXEC(2,200B+ILST,IW51,19) CALL EXEC(2,200B+ILST,IW90,1) C C C IF THE TEST FAILED, INCREASE COUNTER FAULTS BY ONE AND CHECK IF THE C TESTS SHOULD CONTINUE OR STOP. THIS PROCEDURE WILL BE REPEATED C AFTER EACH TEST ALL OVER THE PROGRAM. C C IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 1 STEP=1 C IW34(11)=KCVT(STEP) C C C INITIATES SELFTEST AND CHECK THE RESULT. C CALL DID01(ILU,IADR,IPAS,IBF) IF(IPAS.EQ.0)GO TO 2 C C C CALL CNUMO(IPAS,INAM) IW54(19)=INAM(3) C C 3456 CALL EXEC(2,201B,IW54,20) CALL EXEC(2,201B,IW55,31) CALL EXEC(2,201B,IW56,30) CALL EXEC(2,201B,IW57,27) C C C C C C C READ THE SUB-SELF TEST RESULT IN. C C CALL INBA(ISS) C C IF THE INPUT IS 0 GO AND ASK IT AGAIN. C C C IF(ISS.EQ.0)GO TO 3456 C C C C SEND MESSAGE TO RETURN SWITCHES ON DRIVE SELF TEST PANNEL TO C OP MODE. C C IW52(19)=IW54(19) C CALL CNUMO(ISS,INAM) IW52(28)=INAM(3) C C CALL EXEC(2,201B,IW13,28) CALL EXEC(2,201B,IW14,27) CALL EXEC(2,201B,IW15,17) C C C C CALL EXEC(1,401B,IGF,1) C C C IF(IPAS.EQ.14B)GO TO 523 IF(IPAS.EQ.13B)GO TO 523 IF(IPAS.EQ.12B)GO TO 523 IF(IPAS.EQ.11B)GO TO 523 IF(IPAS.EQ.10B)GO TO 527 IF(IPAS.EQ.7)GO TO 528 IF(IPAS.EQ.6)GO TO 529 IF(IPAS.EQ.5)GO TO 530 IF(IPAS.EQ.4)GO TO 531 IF(IPAS.EQ.3)GO TO 532 IF(IPAS.EQ.1)GO TO 533 C C C 523 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C 527 IF(ISS.EQ.17B)GO TO 720 IF(ISS.EQ.16B)GO TO 721 IF(ISS.EQ.13B)GO TO 722 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C IF IT SUB-TEST 17 C 720 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW59,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C IF IT SUB TEST 16 C 721 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C IF IT SUB-TEST 13 C 722 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C TEST NO. 7 C 528 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW90,1) IF(ISS.EQ.17B)GO TO 725 IF(ISS.EQ.16B)GO TO 726 C C FOR SUB-TESTS 15-2 C CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW60,26) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 17 C 725 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB TEST 16 C 726 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C TEST 6 C 529 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) IF(ISS.EQ.17B)GO TO 730 IF(ISS.EQ.16B)GO TO 731 IF(ISS.EQ.4)GO TO 732 IF(ISS.EQ.3)GO TO 733 IF(ISS.EQ.2)GO TO 734 C C IF IT SUB-TEST 1 C 738 CALL EXEC(2,200B+ILST,IW59,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C 730 CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 16 C 731 CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C SUB-TEST 4 C 732 CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 3 C 733 CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW61,20) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB TEST 2 C 734 CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C TEST 5 C 530 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) IF(ISS.EQ.17B)GO TO 740 IF(ISS.EQ.16B)GO TO 741 IF(ISS.EQ.15B)GO TO 742 IF(ISS.EQ.4)GO TO 732 IF(ISS.EQ.3)GO TO 733 IF(ISS.EQ.2)GO TO 734 GO TO 738 C C SUB-TEST 17 C 740 CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 16 C 741 CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 15 C 742 CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C TEST 4 C 531 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) IF(ISS.EQ.17B)GO TO 745 IF(ISS.EQ.16B)GO TO 745 IF(ISS.EQ.4)GO TO 732 IF(ISS.EQ.3)GO TO 733 IF(ISS.EQ.2)GO TO 734 GO TO 738 C C SUB TEST 16-17 C 745 CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C TEST 3 C 532 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) IF(ISS.EQ.17B)GO TO 750 IF(ISS.EQ.16B)GO TO 751 IF(ISS.EQ.15B)GO TO 752 IF(ISS.EQ.14B)GO TO 753 IF(ISS.EQ.13B)GO TO 754 C C SUB-TEST 12-1 C CALL EXEC(2,200B+ILST,IW66,14) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW65,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C SUB-TEST 17 C 750 CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 16 C 751 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW62,21) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C CSUB-TEST 15 C 752 CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW63,21) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 14 C 753 CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW64,18) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 13 C 754 CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW65,14) CALL EXEC(2,200B+ILST,IW66,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C TEST 1 C 533 CALL EXEC(2,200B+ILST,IW52,29) CALL EXEC(2,200B+ILST,IW35,16) IF(ISS.EQ.17B)GO TO 760 IF(ISS.EQ.16B)GO TO 761 IF(ISS.EQ.4)GO TO 732 IF(ISS.EQ.3)GO TO 733 IF(ISS.EQ.2)GO TO 734 GO TO 738 C C SUB-TEST 17 C 760 CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C SUB-TEST 16 C 761 CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) GO TO 777 C C C C C C 777 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 2 STEP=2 C IW34(11)=KCVT(STEP) C C C GETS DSJ VALUE. DSJ SHOULD EQUAL 2 INDICATING A POWER ON CONDITION. C THIS CONDITION CAUSED BY A SELFTEST COMMAND. C CALL XDSJ(ILU,IDVID,IDSJ,IER) IF(IDSJ.EQ.2)GO TO 3 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) C CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 3 STEP=3 C IW34(11)=KCVT(STEP) C C C REQUEST STATUS AND CHECK FOR NORMAL COMPLETE STATUS. C CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) IF(ID(2).EQ.0)GO TO 4 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1000 C C CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) 1000 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 4 STEP=4 C IW34(11)=KCVT(STEP) C C C PERFORM A SEEK AND CHECK FOR DRIVE ATTENTION STATUS. C CALL XSEEK(ILU,IDVID,ICY(1),IHD(1),ISC(1),ISTAT) CALL DECST(ISTAT,ID) IF(ID(2).EQ.37B)GO TO 5 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1010 C CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1010 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 5 STEP=5 C IW34(11)=KCVT(STEP) C C C REQUEST DISC ADDRESS AND CHECK FOR PROPER CYLINDER,HEAD AND SECTOR C VALUES. C CALL DID05(ILU,IDVID,IPAS,ICY(1),IHD(1),ISC(1),ISTAT) IF(IPAS.EQ.0)GO TO 6 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.1)GO TO 1020 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1030 C 1020 CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1030 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 6 STEP=6 C IW34(11)=KCVT(STEP) C C C ISSUE A RECALIBRATE COMMAND AND CHECK FOR DRIVE ATTENTION STATUS. C CALL XRCAL(ILU,IDVID,IER) CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) IF(ID(2).EQ.37B)GO TO 7 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1040 C CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW40,28) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW41,11) CALL EXEC(2,200B+ILST,IW42,21) CALL EXEC(2,200B+ILST,IW43,23) CALL EXEC(2,200B+ILST,IW90,1) 1040 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 7 STEP=7 C IW34(11)=KCVT(STEP) C C C ISSUE A REQUEST SECTOR COMMAND AFTER A SEEK COMMAND. CHECK DSJ C FOR DSJ=0 INDICATING NO ERROR. C CALL DID07(ILU,IDVID,IPAS,IADR,ICY(2),IHD(2),ISC(2),ISTAT) IF(IPAS.EQ.0)GO TO 8 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1050 C CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 1050 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 8 STEP=8 C IW34(11)=KCVT(STEP) C C C ISSUE A CLEAR COMMAND,WAIT UNTILL PPOLL INDICATING COMPLETION C OF COMMAND AND CHECK FOR DSJ=2. C CALL DID08(ILU,IADR,IPAS,IUN,IBF) IF(IPAS.EQ.0)GO TO 9 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C C C C CALL STATUS TO CLAEN DSJ C C 9 CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) C C STEP=9 C IW34(11)=KCVT(STEP) C C C DO A SEEK AND CHECK FOR ERROR.DO READ FULL SECTOR AND CHECK FOR ERROR C INDUCING AN ERROR INTO THE BUFFER AS PREPARATION FOR TEST 10. C CALL DID09(ILU,IDVID,IPAS,IBF1,ICY(1),IHD(1),ISC(1),ISTAT) IF(IPAS.EQ.0)GO TO 10 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1060 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1070 C 1060 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1070 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 10 STEP=10 C IW34(11)=KCVT(STEP) C C C WRITE THE SECTOR THAT WAS READ IN STEP 9 (WITH THE INDUCED ERROR) C TO THE SAME LOCATION FROM WHICH IT WAS READ USING THE WRITE C FULL SECTOR COMMAND. C CALL DID10(ILU,IDVID,IPAS,IBF1,ICY(1),IHD(1),ISC(1),ISTAT) IF(IPAS.EQ.0)GO TO 11 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1080 C CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1080 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 11 STEP=11 C C IW34(11)=KCVT(STEP) C C SEEK TO THE SECTOR WRITTEN IN STEP 10. ISSUE THE VERIFY C SECTOR COMMAND FOR ONE SECTOR.CHECK FOR DATA ERROR STATUS. C CALL DID11(ILU,IDVID,IPAS,ICY(1),IHD(1),ISC(1),ISTAT) IF(IPAS.EQ.0)GO TO 12 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1090 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1100 C 1090 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1100 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 12 STEP=12 C IW34(11)=KCVT(STEP) C C C SEEK TO THE SECTOR WAS WRITTEN INSTEP 10. ISSUE READ COMMAND C TO READ THAT SECTOR. CHECK FOR DATA ERROR STATUS AND CHCEK C THE DATA READ AGAINST THE WRITTEN DATA. C C C READ WITHOUT OFFSET C IPAS=2 CALL DID12(ILU,IDVID,IPAS,ICY(1),IHD(1),ISC(1),IBF1,IBF2,ISTAT) IF(IPAS.EQ.0)GO TO 13 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.1)GO TO 1110 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1120 C 1110 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1120 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 13 STEP=13 C IW34(11)=KCVT(STEP) C C C REPEAT STEP 12 FOR THE READ WITH OFFSET COMMAND. C C C READ WITH OFFSET C IPAS=3 CALL DID12(ILU,IDVID,IPAS,ICY(1),IHD(1),ISC(1),IBF1,IBF2,ISTAT) IF(IPAS.EQ.0)GO TO 14 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.1)GO TO 1130 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1140 C 1130 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 1140 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 14 STEP=14 C IW34(11)=KCVT(STEP) C C C REPEAT STEP 12 FOR READ WITHOUT VERIFY COMMAND. C C IPAS=4 CALL DID12(ILU,IDVID,IPAS,ICY(1),IHD(1),ISC(1),IBF1,IBF2,ISTAT) IF(IPAS.EQ.0)GO TO 15 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.1)GO TO 1150 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1160 C 1150 CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1160 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 15 STEP=15 C IW34(11)=KCVT(STEP) C C C RESTOR THE ALTERED SECTOR TO ITS ORIGINAL STATE BY WRITING C THE ORIGINAL CONTENTS BACK INTO THE SECTOR USING THE WRITE C FULL SECTOR COMMAND. C C C CORRECT THE DATA INDUCED INTO IBF1. C IBF1(40)=IBF1(40)-5 C C CALL DID10(ILU,IDVID,IPAS,IBF1,ICY(1),IHD(1),ISC(1),ISTAT) IF(IPAS.EQ.0) GO TO 16 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1170 C CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1170 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 16 STEP=16 C IW34(11)=KCVT(STEP) C C C SET THE FM TO SURFACE MODE. NO AUTO SEEKS, AND SEE IF END-OF CYLINDER C IS DETECTED. C C C LEN=140 IMSK=0 IC=ICY(1) IH=IHD(1) IS=NSCT-1 CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(IPAS.NE.0)GO TO 161 IF(ID(2).EQ.14B)GO TO 17 161 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 1190 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1180 C 1190 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 1180 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 17 STEP=17 C IW34(11)=KCVT(STEP) C C C PUT FM INTO CYL MODE NO AUTO SEEKS , AND SEE IF IT BEHAVES PROPERLY. C C CALL EXEC(2,201B,IW36,14) CALL EXEC(2,201B,IW90,1) IMSK=2 LEN=128 CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(IPAS.NE.0)GO TO 171 IF(IER.EQ.0)GO TO 18 171 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 1210 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1200 C 1210 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1200 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 18 STEP=18 C IW34(11)=KCVT(STEP) C C C NOW READ TWO SECTORS AND CHECK FOR EOC. C C C IH=NHED-1 LEN=140 CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(IPAS.NE.0)GO TO 181 IF(ID(2).EQ.14B)GO TO 19 181 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 1220 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1230 C 1220 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 1230 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 19 STEP=19 C IW34(11)=KCVT(STEP) C C C SET FM TO CYL MODE AUTO INCREMENTAL SEEK AND SEE IF THE SEEK WORKS. C C C IMSK=3 LEN=140 IC=ICY(2) CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(IPAS.NE.0)GO TO 191 IF(ID(2).NE.0)GO TO 191 CALL XLGAD(ILU,IDVID,IC5,IH5,IS5,IER) IF(IER.NE.0)GO TO 191 IF(IC5.EQ.(IC+1))GO TO 20 191 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 1240 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1250 C 1240 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 1250 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 20 STEP=20 C IW34(11)=KCVT(STEP) C C C NOW CHECK FOR CYL MODE AUTO DECREMENTAL SEEK. C C C IMSK=11B IH=0 IC=10 LEN=140 CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(IPAS.NE.0)GO TO 201 IF(IER.NE.0)GO TO 201 CALL XLGAD(ILU,IDVID,IC5,IH5,IS5,IER) IF(IER.NE.0)GO TO 201 IF(IC5.EQ.(IC-1))GO TO 21 201 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 1260 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1270 C 1260 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 1270 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C C 21 STEP=21 C C IW34(11)=KCVT(STEP) C C C INITIALIZE ICY(1) DEFECTIVE WITH ICY(2) AS A SPARE. ALSO MAKE SURE THE C TRACK WAS PROPERLY INITIALIZE. C C C IC1=ICY(1) IH1=IHD(1) IS1=ISC(1) IC2=ICY(2) IH2=IHD(2) IS2=ISC(2) ISPD=1 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.EQ.0)GO TO 22 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1280 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1290 C 1280 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1290 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 22 STEP=22 C IW34(11)=KCVT(STEP) C C C INITIALIZE ICY(2) SPARE FOR ICY(1). C C C 222 IC1=ICY(2) IH1=IHD(2) IS1=ISC(2) IC2=ICY(1) IH2=IHD(1) IS2=ISC(1) ISPD=4 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) C C IF(STEP.EQ.30)GO TO 301 C C IF(IPAS.EQ.0)GO TO 29 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1300 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1310 C 1300 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1310 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 29 STEP=23 C IW34(11)=KCVT(STEP) C C C CHECK FOR DEFECTIVE STATUS WITHOUT PROTECTED BIT SET. C C C IPAS=2 IC1=ICY(1) IH1=IHD(1) IS1=ISC(1) CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.NE.0)GO TO 291 IF(ID(2).EQ.21B)GO TO 26 291 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.NE.1)GO TO 1320 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1330 C 1320 CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 1330 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 26 STEP=24 C IW34(11)=KCVT(STEP) C C C CHECK FOR ILLEGAL ACCESS TO SPARE TRACK WITHOUT PROTECT BIT SET. C C CALL EXEC(2,201B,IW36,14) CALL EXEC(2,201B,IW90,1) IPAS=2 IC1=ICY(2) IH1=IHD(2) IS1=ISC(2) CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.NE.0)GO TO 261 IF(ID(2).EQ.20B)GO TO 23 261 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.NE.1)GO TO 1340 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1350 C 1340 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1350 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 23 STEP=25 C IW34(11)=KCVT(STEP) C C C INITIALIZE ICY(2) AS PROTECTED. C C C IC1=ICY(2) IH1=IHD(2) IS1=ISC(2) IC2=ICY(2) IH2=IHD(2) IS2=ISC(2) ISPD=2 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.EQ.0)GO TO 24 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1360 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1370 C 1360 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1370 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 24 STEP=26 C IW34(11)=KCVT(STEP) C C C INITIALIZE ICY(2) AS SPARE-PROTECTED WITH ADDRESS=ICY(1) C C C IC1=ICY(2) IH1=IHD(2) IS1=ISC(2) IC2=ICY(1) IH2=IHD(1) IS2=ISC(1) ISPD=6 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.EQ.0)GO TO 25 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1380 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1390 C 1380 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1390 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 25 STEP=27 C IW34(11)=KCVT(STEP) C C C CHECK ON STATUS FOR ILLEGAL ACCESS TO SPARE TRACK. C C C IC1=ICY(2) IH1=IHD(2) IS1=ISC(2) IPAS=2 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.NE.0)GO TO 251 IF(ID(2).EQ.20B)GO TO 27 251 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.NE.1)GO TO 1400 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1410 C 1400 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1410 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 27 STEP=28 C IW34(11)=KCVT(STEP) C C C INITIALIZE ICY(2) AS PROTECTED-DEFECTIVE. C C CALL EXEC(2,201B,IW36,14) CALL EXEC(2,201B,IW90,1) IC1=ICY(2) IH1=IHD(2) IS1=ISC(2) IC2=ICY(2) IH2=IHD(2) IS2=ISC(2) ISPD=3 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.EQ.0)GO TO 28 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1420 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1430 C 1420 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1430 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 28 STEP=29 C IW34(11)=KCVT(STEP) C C C CHECK FOR DEFECTIVE TRACK STATUS WITH PROTECT BIT SET. C C C IF(ID(2).EQ.21B)GO TO 30 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 30 STEP=30 C IW34(11)=KCVT(STEP) C C C SET FM TO CYL MODE AUTO SEEK TO SPARE TRACK AND CHECK THAT AUTO C SEEK WORK. C C C GO TO 222 301 IF(IPAS.NE.0)GO TO 302 IMSK=6 LEN=128 IC1=ICY(1) IH1=IHD(1) IS1=ISC(1) CALL FLMSK(ILU,IDVID,IPAS,IC1,IH1,IS1,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(IPAS.NE.0)GO TO 302 IF(IER.NE.0)GO TO 302 IF(IBF1(50).EQ.4)GO TO 31 302 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 1440 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1450 C 1440 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW90,1) 1450 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 31 STEP=31 C IW34(11)=KCVT(STEP) C C SET FM TO CYL MODE NO AUTO SEEKS. THEN REINITIALIZE ICY(1) C SET THE SPD BITS TO 0. C C C IMSK=2 IPAS=2 CALL FLMSK(ILU,IDVID,IPAS,IC1,IH1,IS1,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(IPAS.NE.0)GO TO 311 C C IKJ=1 C C IC1=ICY(1) IH1=IHD(1) IS1=ISC(1) IC2=ICY(1) IH2=IHD(1) IS2=ISC(1) ISPD=0 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.EQ.0)GO TO 32 311 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IKJ.NE.1)GO TO 1460 IF(IPAS.EQ.2)GO TO 1480 1460 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1470 C 1480 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 1470 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 32 STEP=32 C IW34(11)=KCVT(STEP) C C REINITIALIZE ICY(2) C C CALL EXEC(2,201B,IW36,14) CALL EXEC(2,201B,IW90,1) ISPD=0 IC1=ICY(2) IH1=IHD(2) IS1=ISC(2) IC2=ICY(2) IH2=IHD(2) IS2=ISC(2) CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID,IBF1, CNSCT,ISTAT) IF(IPAS.EQ.0)GO TO 35 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 1490 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 1500 C 1490 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 1500 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C C 35 STEP=35 C IW34(11)=KCVT(STEP) C C C C SET FM TO CYLINDER MODE NO AUTO SEEKS.WRITE A SECTOR OF INCREMENTAL C DATA C C C IC=ICY(1) IH=IHD(1) IS=0 CALL DID35(ILU,IDVID,IPAS,IC,IH,IS,ISTAT,IBF2) IF(IPAS.EQ.0)GO TO 36 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2000 C CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 2000 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 36 STEP=36 C IW34(11)=KCVT(STEP) C C C C SEEK TO THE LOCATION WRITTEN IN STEP 35.READ A SECTOR AND CHECK C FOR THE PROPER DATA. C C CALL DID36(ILU,IDVID,IPAS,IC,IH,IS,ISTAT,IBF2) IF(IPAS.EQ.0)GO TO 40 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 2010 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2020 C 2010 CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) 2020 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 40 STEP=40 C IW34(11)=KCVT(STEP) C C THIS TEST COMBINE TEST 40 AND 41 OF THE ORIGINAL DIAGNOSTICS C C C SEEK TO THE CHOSEN CYL,HEAD=0,SECTOR=0.CHECK FOR ERROR AFTER C EACH SEEK. AFTER THE SEEK ISSUE A REQUEST DISC ADDRESS COMMAND, C CHECK TO SEE THAT THE PROPER CYL VALUE IS RETURNED. C C STEP 40 IS REPEATED FOR INCREASING POWER OF 2 CYLINDERS (I.E C SEEK TO CYL 0,1,2,4,8, ETC.) UNTILL THE POWER OF 2 IS GREATER C THAN THE MAXIMUM CYL. C C C CALL DID40(ILU,IDVID,IPAS,NCYL,ISTAT) IF(IPAS.EQ.0)GO TO 45 IF(IPAS.EQ.1)GO TO 402 GO TO 403 C 402 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2030 C 403 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 2030 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 45 STEP=45 C IW34(11)=KCVT(STEP) C C C SEEK TO ICY(1),IHD(1),AND SECTOR 0. VERIFY INCREASING POWER C OF 2 SECTORS UNTILL ALL SECTORS HAVE BEEN VERIFIED.THIS C STEP SKIPPED IF IT IS A DEFECTIVE TRACK. C C CALL DID45(ILU,IDVID,IPAS,ICY(1),IHD(1),ISC(1),NSCT,ISTAT,IBF2) IF(IPAS.EQ.0)GO TO 50 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2040 C CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 2040 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 50 STEP=50 C IW34(11)=KCVT(STEP) C C C C SEND AN ILLEGALL OPCODE AND CHECK FOR ILLEGAL OPCODE C STATUS C C CALL DID50(ILU,IDVID,IPAS,IADR,IBF) IF(IPAS.EQ.0)GO TO 52 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 52 STEP=52 C IW34(11)=KCVT(STEP) C C C C READ FULL SECTOR AT IC1,IH1,IS1=0.WRITE FULL SECTOR C AT IC2,IH1,IS1=0.SEEK TO SAME LOCATION BUT SECTOR 1 C AND READ A SECTOR. CHCEK FOR CYLINDER MISCOMPARE C STATUS.CORRECT BEFORE PROCEEDING. C C IPAS=7B IC1=ICY(2)+2 IH1=IHD(2) IS1=0 IC2=ICY(2) CALL FMSCP(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH1,IS1,NSCT,ISTAT, +IBF1) IF(IPAS.EQ.0)GO TO 53 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 2050 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2060 C 2050 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 2060 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 53 STEP=53 C IW34(11)=KCVT(STEP) C C C C READ FULL SECTOR ,CHANGE ONE WORD AND WRITE THE ALTERED DATA C BACK INTO THE SAME LOCATION.READ FROM THE ALTERED SECTOR C AND CHCEK FOR DATA ERROR.WRITE INTO THE ALTERED SECTOR C TO CLEAR THE ERROR. C C IPAS=10B IC2=ICY(2) IH1=IHD(2) IS1=0 CALL FMSCP(ILU,IDVID,IPAS,IC2,IH1,IS1,IC2,IH1,IS1,NSCT,ISTAT, +IBF1) IF(IPAS.EQ.0)GO TO 54 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 2070 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2080 C 2070 CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW90,1) 2080 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 54 STEP=54 C C IW34(11)=KCVT(STEP) C CALL EXEC(2,201B,IW36,14) CALL EXEC(2,201B,IW90,1) C C C REPEAT STEP 52 FOR AN ALTERED HEAD AND CHECK FOR HEAD/SECTOR C MISCOMPARE STATUS. C C IPAS=11B IC2=ICY(2) IH2=IHD(2) IS2=0 IH1=1 IF(IH1.EQ.IH2)IH1=0 CALL FMSCP(ILU,IDVID,IPAS,IC2,IH1,IS2,IC2,IH2,IS2,NSCT,ISTAT, +IBF1) IF(IPAS.EQ.0)GO TO 55 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 2090 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2100 C 2090 CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 2100 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 55 STEP=55 C IW34(11)=KCVT(STEP) C C C C REPEAT STEP 54 FOR AN ALTERED SECTOR. C C IPAS=11B IC1=ICY(2) IH1=IHD(2) IS1=2 IS2=15 CALL FMSCP(ILU,IDVID,IPAS,IC1,IH1,IS1,IC1,IH1,IS2,NSCT,ISTAT, +IBF1) IF(IPAS.EQ.0)GO TO 56 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 2110 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2120 C 2110 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW90,1) 2120 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 56 STEP=56 C IW34(11)=KCVT(STEP) C C C C SEND A LISTEN COMMAND WITH AN ILLEGAL SECONDARY. CHECK FOR C I/O PROGRAM ERROR STATUS. C C CALL DID56(ILU,IDVID,IPAS,IADR,IBF) IF(IPAS.EQ.0)GO TO 57 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 57 STEP=57 C IW34(11)=KCVT(STEP) C C C C SEND A GET COMMAND WITH AN ILLEGAL SECONDARY. CHECK FOR I/O C PROGRAM ERROR STATUS. C C CALL DID57(ILU,IDVID,IPAS,IADR,IBF) IF(IPAS.EQ.0)GO TO 58 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 58 STEP=58 C IW34(11)=KCVT(STEP) C C C C SET FM TO CYL MODE NO AUTO SEEKS.SEEK TO ICY(2),MAXIMUM C HEAD AND SECTOR. ISSUE A READ FULL SECTOR COMMAND TO C READ TWO SECTOTS. CHECK FOR END OF CYLINDER STATUS. C C IPAS=4 IMSK=2 IC=ICY(2) IH=NHED-1 IS=NSCT-1 LEN=140 CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(ID(2).EQ.14B)GO TO 59 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2130 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2140 C 2130 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 2140 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 59 STEP=59 C IW34(11)=KCVT(STEP) C C C C SET FM TO CYLINDER MODE AUTO INCREMENTAL SEEK, AND NO AUTO C SEEK TO SPARE TRACK.SEEK TO MAXIMUM CYLINDER ,HEAD AND C SECTOR. READ FULL SECTOR FOR TWO SECTORS AND CHECK FOR C EOC STATUS. C C IPAS=4 LEN=140 IC=NCYL-1 IH=NHED-1 IS=NSCT-1 IMSK=2 CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(ID(2).EQ.14B)GO TO 60 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2150 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2160 C 2150 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 2160 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 60 STEP=60 C IW34(11)=KCVT(STEP) C C C C SET FM TO TO CYLINDER MODE, AUTO DECREMENTAL SEEK,AND NO C AUTO SEEK TO SPARE TRACK.SEEK TO CYLINDER 0,MAXIMUM HEAD C AND SECTOR. READ FULL SECTOR FOR TWO SECTORS AND CHECK FOR EOC C STATUS. C C IMSK=11B IC=0 IPAS=4 IH=NHED-1 IS=NSCT-1 LEN=140 CALL FLMSK(ILU,IDVID,IPAS,IC,IH,IS,IBF1,ID,IMSK,LEN,IER,IADR +,ISTAT) IF(ID(2).EQ.14B)GO TO 72 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2170 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2180 C 2170 CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) 2180 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 72 STEP=72 C IW34(11)=KCVT(STEP) C C C SEEK TO ICY(2),MAXIMUM HEAD+1 AND SECTOR 0. CHECK FOR SEEK C CHECK BIT(BIT 3) SET IN STATUS WORD 2. C C IC=ICY(2) IH=NHED IS=0 CALL SKER(ILU,IDVID,IPAS,IC,IH,IS) IF(IPAS.EQ.0)GO TO 73 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 73 STEP=73 C IW34(11)=KCVT(STEP) C C C C REPEAT STEP 72 FOR ADDRESS MAXIMUM CYLINDER+1,HEAD=1,AND SECTOR 0. C C IC=NCYL IH=1 IS=0 CALL SKER(ILU,IDVID,IPAS,IC,IH,IS) IF(IPAS.EQ.0)GO TO 74 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 74 STEP=74 C IW34(11)=KCVT(STEP) C C C C REPEAT STEP 72 FOR ADDRESS ICY(1),HEAD=1,AND MAXIMUM SECTOR+2 C C IC=ICY(1) IH=1 IS=NSCT+1 CALL SKER(ILU,IDVID,IPAS,IC,IH,IS) IF(IPAS.EQ.0)GO TO 79 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 79 CALL EXEC(2,201B,IW70,28) CALL EXEC(2,201B,IW71,30) CALL EXEC(2,201B,IW72,27) C CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,IRN,1) C IA=2HYE INO=2HNO IF(IRN.EQ.INO)GO TO 998 IF(IRN.EQ.IA)GO TO 80 GO TO 79 C C 80 STEP=80 C IW34(11)=KCVT(STEP) C C C PUT RUN STOP SWITCH IN STOP POSITION AND CHECK STATUS BITS. C C CALL EXEC(2,201B,IW16,31) C CALL EXEC(2,201B,IW90,1) CALL EXEC(1,401B,IPA,1) C C CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) IF(ID(2).NE.37B)GO TO 8803 ITP=IAND(ID(5),3) IF(ITP.NE.3)GO TO 8803 IF(ID(3).EQ.1)GO TO 81 8803 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW49,17) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 81 STEP=81 C IW34(11)=KCVT(STEP) C C C PUT RUN/STOP SWITCH IN RUN POSITION. CHECK FOR NORMAL STATUS AND C FIRST STATUS BIT. C CALL EXEC(2,201B,IW73,31) C CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,IHP,1) C C PARRALLEL POLL. WAIT FOR THE DRIVE TO LOAD UP. C C C PRINT MESSAGE ON THE CONSOL. C C C C CALL EXEC(2,201B,IW11,23) C CALL EXEC(2,201B,IW90,1) C C C C 735 CALL EXEC(1,ILU+2200B,IPP,1,6,0) ITEP=7-IADR ITP=2**ITEP ITT=IAND(ITP,IPP) IF(ITT.EQ.0)GO TO 735 C C CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) IF(ID(2).NE.0)GO TO 812 ITP=IAND(ID(5),8) IF(ITP.NE.0)GO TO 82 812 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 82 STEP=82 C IW34(11)=KCVT(STEP) C C C INITIALIZE ICY(2) PROTECTED TO CHECK ON FORMAT SWITCH C ISPD=2 IC1=ICY(2) IH1=IHD(2) IS1=0 IC2=ICY(2) IH2=IHD(2) IS2=0 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID, +IBF1,NSCT,ISTAT) IF(IPAS.EQ.0)GO TO 83 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 2190 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2200 C 2190 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 2200 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 83 STEP=83 C IW34(11)=KCVT(STEP) C C C TURN OF FORMAT SWITCH AND CHECK STATUS BIT. C CALL EXEC(2,201B,IW18,24) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) CALL DECST(ISTAT,ID) ITP=IAND(ID(5),32) IF(ITP.EQ.0)GO TO 84 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 84 STEP=84 C IW34(11)=KCVT(STEP) C C C CHECK FOR ATTEMPT TO WRITE ON PROTECTED TRACK STATUS. C CALL XSEEK(ILU,IDVID,ICY(2),IHD(2),0,ISTAT(1),ISTAT(2),IER) IF(IER.EQ.0)GO TO 2210 C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 842 GO TO 2220 C 2210 CALL XDWRT(ILU,IDVID,IBF2,128,ISTAT(1),ISTAT(2),IER) CALL DECST(ISTAT,ID) IF(ID(2).EQ.26B)GO TO 85 842 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW90,1) 2220 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 85 STEP=85 C IW34(11)=KCVT(STEP) C C C CHECK FOR STATUS-2 ERROR ON WRITE FULL SECTOR C CALL XSEEK(ILU,IDVID,ICY(2),IHD(2),0,ISTAT(1),ISTAT(2),IER) IF(IER.EQ.0)GO TO 2230 C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 851 GO TO 2240 C 2230 CALL XWRFS(ILU,IDVID,IBF1,138,ISTAT(1),ISTAT(2),IER) CALL DECST(ISTAT,ID) IF(ID(2).EQ.23B)GO TO 86 851 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 2240 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 86 STEP=86 C IW34(11)=KCVT(STEP) C C C CHECK FOR STATUS-2 ERROR ON INITIALIZE COMMAND. C CALL XSEEK(ILU,IDVID,ICY(2),IHD(2),0,ISTAT(1),ISTAT(2),IER) IF(IER.EQ.0)GO TO 2250 C C CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 861 GO TO 2260 C C 2250 CALL XINIT(ILU,IDVID,IBF1,128,0,ISTAT(1),ISTAT(2),IER) CALL DECST(ISTAT,ID) IF(ID(2).EQ.23B)GO TO 87 861 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 2260 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 87 STEP=87 C IW34(11)=KCVT(STEP) C C C TURN ON FORMAT SWITCH AND CHECK STATUS BIT. C CALL EXEC(2,201B,IW19,23) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C CALL DSTAT(ILU,IDVID,ISTAT,ID,IER) ITP=IAND(ID(5),32) IF(ITP.NE.0)GO TO 88 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW90,1) IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 88 STEP=88 C IW34(11)=KCVT(STEP) C C C REINITIALIZE ICY(2) TO SPD=0 C ISPD=0 IC1=ICY(2) IH1=IHD(2) IS1=0 IC2=ICY(2) IH2=IHD(2) IS2=0 CALL INIT(ILU,IDVID,IPAS,IC1,IH1,IS1,IC2,IH2,IS2,ISPD,ID +,IBF1,NSCT,ISTAT) IF(IPAS.EQ.0)GO TO 89 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.2)GO TO 2270 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2280 C 2270 CALL EXEC(2,200B+ILST,IW47,16) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 2280 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C TESTS 89 TO 92 ARE TESTING THE READ ONLY SWITCH. IF IT 7905 OR C 7906 IT WILL MAKE THE TEST ONLY TO THE PLATTER THAT THE ASSIGN LU C USED.IN TEST 93,94 AND 95 IT WILL REPEAT THIS TESTS TO THE OTHER C PLATTER. C C C 89 STEP=89 C IW34(11)=KCVT(STEP) C C C TURN ON READ ONLY SWITCH. DO A SEEK AND CHECK THAT READ ONLY C BIT (BIT 7) IN STATUS WORD 2 IS SET. C C C CHECK IF IS 7905/06 DISC. C IF(NCYL.NE.411)GO TO 891 C C CHECK TO FIND OUT WHICH PLATTER THE ASSIGN LU IS ON. C IF(IHD(1).GT.1)GO TO 892 C C C C IF IS THE UPPER PLATTER ASIGN ITP1=1 C ITP1=1 C CALL EXEC(2,201B,IW20,26) CALL EXEC(2,201B,IW21,12) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C GO TO 895 C C C IF IT IS LOWER PLATTER ASSIGN ITP1=2 C 892 ITP1=2 C CALL EXEC(2,201B,IW22,26) CALL EXEC(2,201B,IW21,12) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C GO TO 895 C C C IF IT IS 7920/25 ASSIGN ITP1=3 C 891 ITP1=3 C CALL EXEC(2,201B,IW24,25) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C C C 895 IC=ICY(1) IH=IHD(1) IS=0 IPAS=0 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) ITEMP=IAND(ID(5),64) IF(IPAS.NE.0)GO TO 899 IF(ITEMP.NE.0)GO TO 90 899 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2290 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2300 C 2290 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW90,1) 2300 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 90 STEP=90 C IW34(11)=KCVT(STEP) C C C C DO SEEK AND ISSUE WRITE COMMAND AND CHECK FOR STATUS WORD-2 C ERROR STATUS. C C IC=ICY(1) IH=IHD(1) IS=0 IPAS=2 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.NE.0)GO TO 901 IF(ID(2).EQ.23B)GO TO 91 901 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2310 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2320 C 2310 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW90,1) 2320 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 91 STEP=91 C IW34(11)=KCVT(STEP) C C C C REPEAT STEP=90 FOR THE WRITE FULL SECTOR. C C IPAS=3 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.EQ.1)GO TO 911 IF(ID(2).EQ.23B)GO TO 92 911 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2330 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2340 C 2330 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW90,1) 2340 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 92 STEP=92 C IW34(11)=KCVT(STEP) C C C C REPEAT STEP 90 FOR THE INTIALIZE COMMAND. C C IPAS=4 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.NE.0)GO TO 921 IF(ID(2).EQ.23B)GO TO 93 921 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2350 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2360 C 2350 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW90,1) 2360 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C IF IT 7920/25 DRIVE GO TO 97 C 93 IF(ITP1.EQ.3)GO TO 97 C C C STEP=93 C IW34(11)=KCVT(STEP) C C C C REPEAT STEP 89 FOR THE OTHER PLATER C C 9378 CALL EXEC(2,201B,IW25,28) CALL EXEC(2,201B,IW26,26) CALL EXEC(2,201B,IW90,1) CALL EXEC(2,201B,IW27,27) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,INR,1) C C IF(INR.EQ.INO)GO TO 97 IF(INR.EQ.IA)GO TO 7897 GO TO 9378 C C 7897 IF(ITP1.EQ.1)GO TO 933 C CALL EXEC(2,201B,IW28,26) CALL EXEC(2,201B,IW29,30) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C IC=3 IH=0 IS=0 GO TO 935 C C 933 CALL EXEC(2,201B,IW30,32) CALL EXEC(2,201B,IW31,29) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C IC=3 IH=2 IS=0 C C 935 IPAS=0 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.NE.0)GO TO 937 ITEMP=IAND(ID(5),64) IF(ITEMP.NE.0)GO TO 94 937 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2370 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2380 C 2370 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW90,1) 2380 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 94 STEP=94 C C C IW34(11)=KCVT(STEP) C C C C REPEAT STEP 90 FOR THE OTHER PLATTER C C IPAS=2 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.NE.0)GO TO 941 IF(ID(2).EQ.23B)GO TO 95 941 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2390 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2400 C 2390 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW90,1) 2400 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C 95 STEP=95 C IW34(11)=KCVT(STEP) C C C C REPEAT STEP 91 FOR THE OTHER PLATTER C C IPAS=3 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.NE.0)GO TO 951 IF(ID(2).EQ.23B)GO TO 97 951 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2410 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2420 C 2410 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW90,1) 2420 IKL=IKL+1 IF(IFL1.EQ.IFL2)GO TO 998 C C C C STEP 92 WILL NOT BE REPEATED FOR THE OTHER PLATTER. C C C C 97 STEP=97 C IW34(11)=KCVT(STEP) C C C C TURN OFF READ ONLY OR PLATTER PROTECT SWITCHES. CHECK TO SEE C THAT READ ONLY BIT (BIT 7) IN STATUS WORD-2 IS CLEARED. C C C C CALL EXEC(2,201B,IW96,30) CALL EXEC(2,201B,IW90,1) C CALL EXEC(1,401B,ITP,1) C C C IPAS=0 IC=20 IH=0 IS=0 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.NE.0)GO TO 972 ITEMP=IAND(ID(5),64) IF(ITEMP.NE.0)GO TO 972 C IC=20 IH=2 IS=0 IPAS=0 CALL RESTH(ILU,IDVID,IPAS,IC,IH,IS,ID,ISTAT,IBF1) IF(IPAS.NE.0)GO TO 972 ITEMP=IAND(ID(5),64) IF(ITEMP.EQ.0)GO TO 998 972 CALL EXEC(2,200B+ILST,IW34,16) CALL EXEC(2,200B+ILST,IW35,16) C IF(IPAS.EQ.0)GO TO 2430 CALL MEST(ID,ILST,IPS1,ISTAT,IW37,IW38,IW45,IW44,IW39,IW91,IW92 +,IW46,IW65,IW66,IW93,IW94,IW95,IW47,IW48,IW59) IF(IPS1.EQ.1)GO TO 2440 C 2430 CALL EXEC(2,200B+ILST,IW48,24) CALL EXEC(2,200B+ILST,IW37,17) CALL EXEC(2,200B+ILST,IW39,19) CALL EXEC(2,200B+ILST,IW46,15) CALL EXEC(2,200B+ILST,IW38,15) CALL EXEC(2,200B+ILST,IW44,14) CALL EXEC(2,200B+ILST,IW45,19) CALL EXEC(2,200B+ILST,IW90,1) 2440 IKL=IKL+1 C C C C DIAGNOSTIC TERMINATED, PRINT MESSAGE. C C 998 IW58(18)=KCVT(IKL) CALL EXEC(2,201B,IW58,30) C C C CALL EXEC(2,201B,IW90,1) CALL EXEC(2,201B,IW90,1) C C CALL EXEC(2,201B,IW80,21) C C C C C END END$