image of READY prompt

Wang2200.org

Listing of file='2280ALGN' on disk='vmedia/multidisk_diagnostic.wvd.zip'

# Sector 171, program filename = '2280ALGN'
0010 REM % PHOENIX ALIGNMENT PROGRAM  (M. LEBLANC) (03/17/80) %
   : REM % UPDATE
   : REM -P Hossfeld - 03/01/84 - REV. 8434
   : REM Improved displays
   : REM % UPDATE
   : REM  - P. Hossfeld - 10/03/84 - REV. 84A4
   : REM Added drive select option
0020 DIM G$16,B$,Z$(64)4,A$3,A1$2,A2$3,C$1
   : SELECT P
   : A$="D10"
0030 DEFFN '16
   : PRINT HEX(030E);AT(0,27);"PHOENIX HEAD ALIGNMENT";HEX(0F);AT(1,26);BOX(0,
     23);
0040 PRINT "This program provides the capability to perform a head alignment o
     n a Phoenix   Drive without the use of a field test unit.  The following
     items are required:"
0050 PRINT AT(5,0)
0060 PRINT TAB(18);"Head-Alignment Extender Board     (726-9678)"
0070 PRINT TAB(18);"Head Alignment Board              (726-5895)"
0080 PRINT TAB(18);"Head Alignment Tool               (726-9699)"
0090 PRINT TAB(18);"Head Alignment Cable #1           (726-9680)"
0100 PRINT TAB(18);"Head Alignment Cable #2           (726-9681)"
0110 PRINT TAB(18);"Torque Wrench                     (726-9661)"
0120 PRINT TAB(18);"Special Tip (CMD)                 (726-9696)"
0130 PRINT TAB(18);"CE Cartridge                      (726-9683)"
0140 PRINT TAB(18);"Digital Volt Meter"
0150 PRINT TAB(18);"Oscilloscope"
0160 PRINT TAB(25);" Reference the Phoenix Field Level Maintenance (03-0080) d
     uring this alignment"
0170 PRINT "NOTES 1. R5 Proms or above must be installed in the Phoenix contro
     ller to use            this program"
   : PRINT TAB(06);"2. At any time, SF'16 will restart the program and SF'31 w
     ill exit"
0180 PRINT AT(22,0);HEX(0E);
   : LINPUT "Press 'RETURN' to continue",? C$
0190 PRINT HEX(03060F)
0200 PRINT TAB(18);"Check the following before starting alignment:"
0210 PRINT
   : PRINT "       Install Hd Alignment Extender PCB, Hd Alignment PCB and Cab
     les #1 AND #2"
0220 PRINT TAB(20);"S1 on Servo Fine PCB in 'S' position"
0230 PRINT TAB(20);"S1 on Hd Alignment Extender in 'FXD' position"
0240 PRINT TAB(20);"S1 on Hd Alignment PCB in 'N' position"
0250 PRINT TAB(20);"S2 on Hd Alignment PCB in 'R/W' position"
0260 PRINT TAB(20);"S3 on Hd Alignment PCB in 'X1'"
0270 PRINT
   : PRINT TAB(17);"Cartridge Servo Head Alignment is as follows;"
0280 PRINT
0290 PRINT "1. Ensure all heads for the fixed volume are in the center of thei
     r alignment      position and torqued at 12 inch pounds"
0300 PRINT
   : PRINT "2. Loosen, then torque cartridge heads (servo and data) to 6 inch
     pounds"
0310 PRINT
   : PRINT "3. Connect oscilloscope to 'READ signal' test point on Hd Alignmen
     t PCB"
0320 PRINT "4. Using scope align Cartridge Servo Head to track 0 (move to oute
     r guard band,    then back to track 0)"
0330 PRINT HEX(020402000E); AT(22,0);
   : LINPUT "Phoenix address (D10,D20,D30 or D40)",?-A$
   : PRINT HEX(0F)
   : MAT SEARCH "D10 D20 D30 D40",=STR(A$) TO A1$ STEP 4
   : IF A1$=HEX(0000) THEN 330
   : A2$=A$
   : A2$=STR(A$,1,2)&"1"
   : SELECT #1<A$>
   : SELECT #2<A2$>
0340 PRINT HEX(03); AT(20,00);"Seek to TRK 404"
0350 B$="F"
0360 GOSUB '32
0370 PRINT HEX(03);AT(4,13);"1.) Use DVM to align Cartridge Servo Head to < 50
     mv"
0380 PRINT AT(6,13); "2.) Torque Cartridge Servo Head to 8 inch pounds"
0390 PRINT AT(8,13);"3.) Re-check offset (re-adjust to < 50mv if necessary)"
0400 PRINT AT(10,13);"4.) If offset < 50mv torque to 12 inch pounds"
0410 PRINT AT(20,0);"Seek to TRK 0, then re-seek to TRK 404"
0420 GOSUB '32
0430 GOSUB '32
0440 PRINT HEX(03);AT(4,21);"Re-check offset (must be < 50mv)"
0450 PRINT AT(10,0);
   : INPUT "  If Cartridge Servo Head Offset is < 50mv enter 'Y'. If Offset is
      > 50mv         enter 'N'",M$
0460 IF M$= "Y" THEN GOSUB '34
0470 IF M$="N" THEN 490
0480 GOTO 450
0490 PRINT HEX(03);AT(4,17);"Loosen Servo Head and torque at 6 inch pounds"
0500 PRINT
   : PRINT
   : PRINT
   : INPUT "Press 'RETURN' to continue",X
0510 GOTO 370
0520 PRINT HEX(03); AT(20,0);"Seek to TRK 8"
0530 GOSUB '32
0540 PRINT HEX(03);AT(4,20);" Calculate offset (should be < 600mv)"
0550 PRINT AT(20,0);"Seek to TRK 800"
0560 GOSUB '32
0570 PRINT HEX(03);AT(4,20);" Calculate offset (should be < 600mv)"
0580 PRINT AT(8,5);"If offset at tracks 8 and 800 are not < 600mv minor adjust
     ments can be made at  TRK 404 to achieve this. However track 404 must not
      exceed 100mv"
0590 PRINT AT(12,0);
   : LINPUT "Enter 'Y' to continue with alignment. Enter 'N' if minor adjustme
     nts are re-    quired",?Y$
0600 IF Y$="Y" THEN GOTO 630
0610 IF Y$="N" THEN GOSUB '32
0620 GOTO 590
0630 PRINT AT(16,0);
   : LINPUT "Cartridge Servo Head should be aligned at this time. Enter 'Y' to
      continue with Cartridge Data Head Alignment. Enter 'N' if you request ad
     ditional seeks to     align servo head ",?M$
0640 IF M$="Y" THEN 820
0650 IF M$="N" THEN GOSUB '33
0660 GOTO 630
0670 DEFFN'32
0680 REM % SUBROUTINE TO PERFORM SEEKS (VOLUME SELECT PRESET) %
0690 PRINT AT(22,0);
   : INPUT "Select track ",A
0700 STR(G$,3,2)=BIN(A*64,2)
0705 IF B$="F"THEN STR(G$,1,1)=HEX(20)
   : IF B$="R"THEN STR(G$,1,1)=HEX(30)
0710 $GIO RESET #1 (4501 75FF,G$)
0720 IF A>822 THEN 690
0730 IF A<>822 THEN 750
0740 DATA LOAD BA T #2,(52608,X)Z$()
   : ERROR  GOTO 760
0750 $GIO SEEK #1 (70A0 4001 80D0 7040 6A10 6815 6800 6A30 6A40 8700 4000,G$)
0760 RETURN
   :  IF STR(G$,8,1)<> HEX(00) THEN 770
   : RETURN
0770 SELECT P2
   : PRINT AT(16,18,62);"Seek was not completed properly "
   : PRINT HEX(06)
0790 PRINT AT(18,20); "Press 'RESET' and try again"
   : GOTO 770
0820 PRINT HEX(03)
   : PRINT
   : PRINT
   : PRINT TAB(18);"Switches for Cartridge Data Head Alignment"
0830 PRINT
   : PRINT
0840 PRINT TAB(21);"S1 on SERVO FINE in 'D' position"
0850 PRINT TAB(21);"S1 on extender in 'NORMAL' position"
0860 PRINT TAB(21);"S1 on alignment board in 'N' position"
0870 PRINT TAB(21);"S2 on alignment board in 'R/W' position"
0880 PRINT TAB(21);"S3 on alignment board in 'X1' position"
0890 B$="R"
0900 PRINT AT(22,0);
0910 INPUT "Press 'RETURN' to start Cartridge Data Head Alignment",X
0920 PRINT HEX(03);AT(20,0);"Seek to track 404 "
0930 GOSUB '32
0940 PRINT HEX(03);AT(3,16);"1.) Use DVM to Align Cartridge Data Head to < 300
     mv"
0950 PRINT AT(5,16);"2.) Torque Cartridge Data Head to 8 inch pounds"
0960 PRINT AT(7,16);"3.) Re-check offset (must be < 300mv)"
0970 PRINT AT(9,16);"4.) Torque Cartridge Data Head to 12 inch pounds ";AT(10,
     22);"if offset is < 300mv"
0980 PRINT AT(20,0);"Seek to track 0 then re-seek to track 404"
0990 GOSUB '32
1000 GOSUB '32
1010 PRINT HEX(03);AT(4,24);"Re-seek offset (must be < 300mv)"; AT(6,0);
1020 LINPUT " Head Alignment should be complete at this time. If alignment is
     complete, enter 'Y'. If additional seeks are required enter 'N' ",?L$
1030 IF L$="Y" THEN GOTO 1060
1040 IF L$="N" THEN GOSUB '33
1050 GOTO 1010
1060 PRINT HEX(03)
   : PRINT AT(4,23);"Phoenix Head Alignment Complete"
   : PRINT AT(8,7);"Remove alignment pack, head alignment board, extender and
     cables"
1070 PRINT
   : PRINT
   : PRINT
   : PRINT
   : STOP
1080 DEFFN'33
1090 REM % THIS ROUTINE IS FOR DIRECT SEEKS (VOLUME SELECTABLE) %
1100 PRINT HEX(03); AT(3,0);
   : LINPUT "Select surface ('F' for fixed module -- 'R' for removeable module
     )",?B$
1110 PRINT AT(22,0);
   : INPUT "Select track ",A
1120 STR(G$,3,2)=BIN(A*64,2)
1130 IF B$="F"THEN STR(G$,1,1)=HEX(20)
   : IF B$="R"THEN STR(G$,1,1)=HEX(30)
   : IF POS("FR"=B$)=0THEN 1100
1140 $GIO RESET #1 (4501 75FF,G$)
1150 IF A>822 THEN 1110
1160 IF A<>822 THEN 1180
1170 DATA LOAD BA T#2,(52608,X)Z$()
   : ERROR  GOTO 1190
1180 $GIO SEEK #1 (70A0 4001 80D0 7040 6A10 6815 6800 6A30 6A40 8700 4000,G$)
1190 RETURN
   : IF STR(G$,8,1)<>HEX(00)THEN 1200
   : RETURN
1200 PRINT AT(16,18,62); "Seek was not completed properly"; HEX(06)
   : SELECT P2
1210 PRINT AT(16,18);"                                "
1220 PRINT AT(18,20); "Press 'RESET' and try again"
   : GOTO 1200
1230 DEFFN'34
1240 REM % THIS ROUTINE IS TO CHECK GUARD BAND FOR MISALIGNMENT"
1250 PRINT HEX(03); AT(20,00);"Seek to track 0"
1260 GOSUB '32
1270 PRINT HEX(03);AT(4,18);"Check READ signal on scope for Guard Band"
1280 PRINT AT(5,18);"(outer Guard Band is all negative di-bits)"
1290 PRINT AT(8,18);"If Guard Band is present restart alignment"
1300 PRINT
   : PRINT
   : PRINT HEX(0E)
   : LINPUT "Press 'RETURN' to continue ",?C$
1310 PRINT HEX(030F); AT(20,00);"Seek to track 822"
1320 GOSUB '32
1330 PRINT HEX(03); AT(4,19);"Check READ signal on scope for Guard Band"
1340 PRINT AT(5,19);"(inner Guard Band is all positive di-bits)"
1350 PRINT AT(8,19);"If Guard Band is present restart alignment"
1360 PRINT
   : PRINT
   : PRINT HEX(0E)
   : INPUT "Press 'RETURN' to continue ",M
1370 GOTO 1390
1380 STOP
1390 REM % ALTERNATE SEEK ROUTINE (0 TO 404)%
1400 DEFFN'35
1410 PRINT HEX(030F);AT(4,19);"Drive should be performing alternate seeks"
1420 PRINT AT(20,0);"When seeks stop re-seek to TRK 404 "
1430 FOR I =1 TO 50
1440 DATA LOAD BA T#2,(0,X)Z$()
   : ERRORGOTO 1450
1450 DATA LOAD BA T#2,(25856,X)Z$()
   : ERRORGOTO 1460
1460 NEXT I
1470 GOSUB '32
1480 PRINT HEX(03);AT(4,21);"Recheck offset (must be < 50mv)"
1490 PRINT AT(8,0);
   : LINPUT " If Cartridge Servo Head Offset is < 50mv enter 'Y'. If offset if
      > 50mv enter   'N' ",?N$
1500 IF N$="Y" THEN 630
1510 IF N$="N" THEN 490
1520 GOTO 1490
2000 DEFFN '31
   : REM % Reload menu
   : LOAD T"@MENU"
   : ERRORX=ERR
   : PRINT HEX(03); AT(12,18); "";
   : IF X=(82) THEN PRINT "        NO PREVIOUS MENU IS AVAILABLE        ";
   : ELSE PRINT "               DISK ERROR "; X; "              "