Listing of file='850ALIGN' on disk='vmedia/multidisk_diagnostic.wvd.zip'
# Sector 209, program filename = '850ALIGN' 0010 REM % Shugart 850/851 Alignment Diagnostic : REM Written by K.LeBaron : REM Updated - 8/23/83 by Paul J. Hossfeld / Diagnostic Software Support 0020 % Added disk address Bxx 0030 % Corrected an error that made it so the user would have to select the disk address before any functions could be run 0040 % Made the diagnostic more user friendly 0050 % Corrected single track format problem : REM% UPDATE 04/01/84 BY PAUL J HOSSFELD / DIAG. SOFTWARE SUPPORT: % added graphics display of test point s 0055 REM % UPDATE 04/01/84 BY Paul J Hossfeld / Diag. Software Support : % added graphics display of test points 0060 % 0070 DIM A$3,A$(2)3,R$(256)1,W$(256)1,H(8),H$(8)43,T$1,E$24,B$(2)3,Z,Y 0080 INIT(20)A$() : STR(R$,,1)=HEX(30) : D=0 0090 A$="D10" : B$(1)="B10" : SELECT #1<A$> : $IF ON #1,130 0100 A$="D20" : B$(1)="B20" : SELECT #1<A$> : $IF ON #1,130 0110 A$="D30" : B$(1)="B30" : SELECT #1<A$> : $IF ON #1,130 0120 D=1 : GOTO 150 0130 $GIOREADSTATUS#1(0600070070A0400288D070406A106816400087051A00C340,R$)R$;S TR(E$,1,VAL(STR(R$,5,1))) : ERRORX=ERR : ON VAL(STR(A$,2,1))-48GOTO 100,110,120 0140 IF STR(R$,6,3)<>HEX(000000)OR STR(E$,,2)="10"THEN ON VAL(STR(A$,2,1))-48G OTO 100,110,120 : IF VAL(STR(E$,7,2),2)<4000THEN A$(1)=A$ 0150 STR(R$,,1)=HEX(20) 0160 A$="D11" : B$(2)="310" : SELECT #1<A$> : $IF ON #1,200 0170 A$="D21" : B$(2)="320" : SELECT #1<A$> : $IF ON #1,200 0180 A$="D31" : B$(2)="330" : SELECT #1<A$> : $IF ON #1,200 0190 IF D=1THEN STOP "NO DISKS ARE RESPONDING "# : IF D=1THEN 190 : IF A$(1)<>" "THEN A$=A$(1) : ELSE A$=A$(2) : GOTO 220 0200 $GIOREADSTATUS#1(0600070070A0400288D070406A106816400087051A00C340,R$)R$;S TR(E$,1,VAL(STR(R$,5,1))) : ERRORX=ERR : ON VAL(STR(A$,2,1))-48GOTO 170,180,190 0210 IF STR(R$,6,3)<>HEX(000000)OR STR(E$,,2)="10"THEN ON VAL(STR(A$,2,1))-48G OTO 170,180,190 : IF VAL(STR(E$,7,2),2)<4000THEN A$(2)=A$ : IF A$(1)<>" "THEN A$=A$(1) : ELSE A$=A$(2) 0220 REM % Menu : SELECT #1<A$> : H(2)=1 : H$(1)=". Change disk add. Currently @ "&" "&A$&"" 0230 H(3)=2 : H$(2)=". Track 00 Flag Detector Adjustment" 0240 H(4)=3 : H$(3)=". Head Radial Alignment @ Track 38" 0250 H(5)=4 : H$(4)=". Index/Sector Adj. @ Tracks 01 & 76" 0260 H(6)=5 : H$(5)=". Read/Write Head Azimuth @ Track 76" 0270 H(7)=6 : H$(6)=". Head Amplitude Check @ Track 76" 0280 H(8)=7 : H$(7)=". TP Locations Graphic Display" 0290 REM % Print header and menu : Y=7 : PRINT HEX(0306);AT(0,14);" Shugart 850/851 Alignment Utility Menu R ev. 8448";AT(1,13);BOX(0,52) : $CLOSE#1 : $GIORESET#1(4501) 0300 FOR I=1TO 7 : PRINT AT(Y+I,23);H$(I) : NEXT I : GOSUB '200 0310 PRINT AT(17,1);"Note: If there is a ? after ' Now on track' th en the system can't retrieve data" 0320 PRINT " from the diskette. Either an unformatted or \E1\EC\E9\E7\E E\ED\E5\EE\F4 diskette was in-" : PRINT " stalled or a hardware error occured." 0330 PRINT " ";AT(Y+H(2),23);H$(H(2));AT(Y+H(2),23);" ";HEX(8B);"" : KEYIN T$,,340 : IF T$=HEX(08) OR T$=HEX(20) OR T$=HEX(0D) OR T$=HEX(82) THEN 370 : IF T$="P" OR T$="p" OR T$=HEX(81) THEN GOTO 1290 : GOTO 350 0340 IF T$= HEX(42) OR T$= HEX(52) THEN GOTO 1290 : IF T$=HEX(45) OR T$=HEX(46) THEN 370 : PRINT HEX(07) : GOTO 330 0350 Z=H(2) : FOR I=1 TO 5 : Z=Z+1 : IF Z=8 THEN Z=1 : IF T$=STR(H$(Z),3,1) THEN GOTO 360 : NEXT I : PRINT HEX(07) : GOTO 330 0360 PRINT AT(Y+H(2),23); H$(H(2)) : H(2)=Z : I=5 : NEXT I : GOTO 330 0370 PRINT AT(Y+H(2),23);H$(H(2)) : IF T$=HEX(08) OR T$=HEX(46) OR T$=HEX(0D) OR T$=HEX(82) THEN 380 : H(2)=H(2)+1 : IF H(2) =8 THEN H(2)=1 : GOTO 330 0380 IF T$=HEX(0D) OR T$=HEX(82) THEN 390 : H(2)=H(2)-1 : IF H(2)=0 THEN H(2)=7 : GOTO 330 0390 PRINT HEX(03); : $GIO#1(70A040008701704040208702401787034000,R$) : ERRORX=ERR : STOP "CONTROLLER IS NOT RESPONDING PROPERLY "# 0400 IF STR(R$,,1)<>HEX(D0)OR STR(R$,2,1)<>HEX(20)OR STR(R$,3,1)<>HEX(17)THEN STOP "THIS DIAGNOSTIC CAN NOT BE RUN ON THIS CONTROLLER "# 0410 $OPEN #1 : ON H(2)GOTO 420,470,560,680,790,930,1310 0420 REM % Address select : PRINT TAB(29);" Disk Address Selection";AT(1,28);BOX(0,23) 0430 IF A$=A$(1) THEN Z=1 : ELSE Z=2 : R=2 : IF A$(1)=" " OR A$(2)=" " THEN R=1 : GOSUB '200 0440 A$=A$(Z) : IF A$(1)<>" " THEN PRINT AT(6,36); ". "; A$(1); "/"; B$(1) : IF A$(2)<>" " THEN PRINT AT(7,36); ". "; A$(2); "/"; B$(2) 0450 PRINT AT(5+Z,36); " "; HEX(8B); " "; A$(Z); "/"; B$(Z); "" : A$=A$(Z) 0460 T$="0" : GOSUB '240 : IF T$=HEX(0D) OR T$=HEX(82) THEN 220 : IF T$<>" " AND T$<> HEX(08) AND T$<>HEX(45) AND T$<>HEX(55) AND T$<>HEX(4 6) AND T$<>HEX(56) THEN 460 : IF R=1 THEN 460 : IF Z=1 THEN Z=2 : ELSE Z=1 : GOTO 440 0470 REM % Track zero flag dector adj. : PRINT AT(0,23);" Track 00 Flag Detector Adjustment";AT(1,22);BOX(0,3 4); 0480 PRINT "Connect o'scope probe to TP 26. Set vertical deflection to 1v/divi sion, DC coupled, and trigger to AUTO. If the diskette has been inse rted the heads are already on track 01. "; 0490 PRINT HEX(0A); "TP 26 should be high (4-5 volts). If TP 26 is not high, l oosen screw holding Track 00 detector assembly and move the assembly t oward the spindle until TP 26 goes high." 0500 PRINT HEX(0A); "Step carriage to track 02. TP 26 should go low (0-1 volt) . Adjust the detector assembly, towards the actuator assembly, if its no t low." 0510 PRINT "Check the adjustment by stepping the heads between tracks 01 and 0 2, observing that TP 26 is high at track 01 and low at track 02. A good adjustment is if there is a square wave on the scope while the heads are being moved." 0520 PRINT AT(17,0);"(Head Radial Alignment should be checked after this adjus tment has been made.)" 0530 T$="1" : GOSUB '210 0540 IF T$<>"1"AND T$<>"2" THEN 550 : PRINT AT(20,22);" Now on track ";AT(20,37);" ";T$;"" : PRINT AT(22,8);" "; : IF T$="1"THEN PRINT "2 "; : ELSE PRINT "1 "; : PRINT "to move heads to track "; : IF T$="1"THEN PRINT "'2'"; : ELSE PRINT "'1'" : IF T$="1" THEN S=26 : ELSE S=78 0550 E=S : GOSUB 1200 : GOSUB '240 : GOTO 540 0560 REM % Head radial alignment : PRINT AT(0,29);" Head Radial Alignment";AT(1,28);BOX(0,22);""; 0570 PRINT "Trigger the o'scope, external negative, on TP 12 (-Index). Set the time base to 20 msec/division. Connect one channel to TP 1, the other to TP 2 and ground" 0580 PRINT HEX(0C);"the probes to TP 5 & 6. Set the inputs to AC, 100 mv/divis ion and invert one channel. Set the mode to ADD and the trigger to NOR M. If the alignment diskette has been inserted the heads are already on t rack 38." 0590 PRINT "The amplitude of the two lobes \ED\F5\F3\F4 be within 70% (80% is preferred) of each other. If the lobes do not fall within this specifi cation continue on with the procedure." 0600 PRINT "Loosen the two mounting screws, which hold the motor plate to the support brack-et. Move the plate, by rotating the eccentric adjusting nut . When the lobes are of equal amplitude, tighten the motor plate mounting screws. Check the adjust- " 0610 PRINT HEX(0C);"ment by stepping off track and returning. Check in both di rections and readjust as required." 0620 PRINT AT(18,0);"(Track 00 detector should be checked after this adjustmen t has been made.)" : T$="2" : S=1950 0630 PRINT AT(22,8);" "; : IF S=1898 THEN PRINT "2 for track '38' or 3 for track '39'"; : IF S=1950 THEN PRINT "1 for track '37' or 3 for track '39' "; : IF S=2002 THEN PRINT "1 for track '37' or 2 for track '38'" 0640 GOSUB '210 0650 GOSUB '240 0660 IF T$<>"1"AND T$<>"2"AND T$<>"3"THEN 670 : IF T$="1"THEN S=1898 : IF T$="2"THEN S=1950 : IF T$="3"THEN S=2002 : PRINT AT(20,22);" Now on track ";AT(20,37); : IF S=1898THEN PRINT "37 'off track' " : IF S=1950 THEN PRINT "38 'alignment track'" : IF S=2002THEN PRINT "39 'off track' " 0670 T$=" " : E=S : GOSUB 1200 : GOTO 630 0680 REM % Index and sector : PRINT AT(0,28);" Index/Sector Adjustment";AT(1,27);BOX(0,24); 0690 PRINT "Trigger the o'scope, external negative, on TP 12 (-Index). Set ti me base to 50 usec/division. Connect one input channel to TP 1, the ot her channel to TP 2 and ground the probes to TP 5 & 6. Set the inputs t o AC, 200 mv/division and "; 0700 PRINT "invert one channel. Set the mode to ADD and the Trigger to NORM. If the align-ment diskette has been inserted the heads are already on tr ack 01." 0710 PRINT "Observe the timimg between the start of the sweep and the first da ta pulse. Thisshould be 200 \AB 100usec. If the timing is not within tole rance, continue on withthe adjustment." 0720 PRINT "Loosen the holding screw in the Index Transducer until the transdu cer is \EA\F5\F3\F4 able to be moved. Observe the timing and adjust the transducer until the timing" 0730 PRINT HEX(0C);"is 200 \AB 100usec. Insure that the transducer assembly i s against the registra- tion surface on the base casting. Tighten the hol ding screw. Recheck the timing.";HEX(0A0D);"Move heads to track 76 and re verify that the timing is 200 \AB 100usec." 0740 GOSUB '210 : T$="1" 0750 PRINT AT(20,22);" Now on track ";AT(20,37); : IF T$="1"THEN PRINT " 1" : ELSE PRINT "76" : PRINT AT(22,8); " "; : IF T$="1"THEN PRINT "2 for track '76'"; : ELSE PRINT "1 for track ' 1' " 0760 GOSUB '240 0770 IF T$<>"1"AND T$<>"2"THEN 780 : IF T$="1"THEN S=26 : IF T$="2" THEN S=3873 : GOSUB '210 0780 E=S : GOSUB 1200 : IF T$<>"1" AND T$<>"2" THEN 760 : GOTO 750 0790 REM % Read write azimuth : PRINT HEX(03);AT(0,25);" Read/Write Heads Azimuth Check";AT(1,24);BO X(0,31); 0800 PRINT " The azimuth is not field adjustable. Using an o'scope, check for the approximatewaveform below, if it is not within the range shown ( +/- 18'), replace the Head Actuator Assembly." 0810 PRINT "Trigger the o'scope, external negative, on TP 12 and set the time base to .5 msec/division. Connect one input channel to TP 1 and the o ther channel to TP 2 and grounds to TP 5 & 6. Set the inputs to AC, 50 m v/division and invert one "; 0820 PRINT "channel. Set mode to ADD and the trigger NORM. If the alignment d iskette has been inserted the heads are already on track 76." 0830 REM % THIS PRINTS THE AZIMUTH BURST PATTERNS 0840 PRINT AT(13,0); BOX(6,2); AT(14,2); BOX(4,2); AT(12,4); BOX(8,2); AT(15,6 ); BOX(2,2); AT(11,2); "(-18')" 0850 PRINT AT(13,17); BOX(6,2); " "; BOX(6,2); AT(12,21); BOX(8,2); AT(14,23) ; BOX(4,2); AT(11,19); "(-12')" 0860 PRINT AT(12,39); BOX(8,2); " "; BOX(8,2); AT(14,37); BOX(4,2); " "; BOX(4,2); AT(11,39); "(00')" 0870 PRINT AT(14,55); BOX(4,2); AT(12,57); BOX(8,2); AT(13,59); BOX(6,2); AT(1 3,61); BOX(6,2); AT(11,57); "(+12')" 0880 PRINT AT(15,71); BOX(2,2); AT(12,73); BOX(8,2); AT(14,75); BOX(4,2); AT(1 3,77); BOX(6,2); AT(11,73); "(+18')" 0890 GOSUB '210 : PRINT AT(20,22);" Now on track";AT(20,37);" 76" 0900 T$=" " : GOSUB '240 0910 S=3926 : E=3951 : GOSUB 1200 : GOTO 900 0920 STOP 0930 REM % Head amplitude check : PRINT HEX(03);AT(0,30);" Head Amplitude Check";AT(1,29); BOX(0,21) : INIT(FF)W$() 0940 PRINT "These checks are only valid when writing and reading as described below. If the amplitude is below the 130 mv, before rewriting and rechec king, insure that thediskette is not 'worn' or otherwise show evidence of damage on either side and "; 0950 PRINT "that the head load down stop is properly adjusted." 0960 PRINT "Trigger the o'scope, external negative, on TP 12 (-Index) for sing le sided disk-ettes, TP 13 for double sided diskettes, and set the time b ase to 20 msec/div- ision. Connect one input channel to TP 1, the other channel to TP 2, and the "; 0970 PRINT "grounds to TP 5 & 6. Set the inputs to AC, 50mv/division and inver t one channel.Set the mode to ADD and the trigger to NORM. " 0980 PRINT "The average minimum read amplitude (peak to peak) is 130mv. If th e output is below minimum, try different media. If the output is still low it will be nec-essary to install a new head and actuator assembly." 0990 PRINT AT(17,5,319);" ******Remove the alignment diskette and install known good media*****";AT(18,0);"-----The entire track (76) will be writ ten with a '2F' (all one's) pattern-----" 1000 PRINT AT(22,8);" CONT or C/c to WRITE track 76" : GOSUB '210 1010 GOSUB '240 : IF T$<>"C" AND T$<>"c" AND T$<>HEX(84)THEN 1010 : T$=" " 1020 X=0 : GOSUB 1200 : PRINT AT(20,0,79) : IF X<>0 THEN 1010 : GOTO 1130 1030 IF X<>93 THEN 1100 : T$="N" : PRINT AT(20,15,); " Format error Do you wish to format track ";" ";"76" : GOSUB 1240 1040 KEYIN T$ : IF T$="Y" OR T$="y" THEN 1050 : IF T$<> "N" AND T$<>"n" THEN 1030 : PRINT AT(20,0,79);AT(20,15,64); " Mount a known good formatted disket te"; : GOTO 1000 1050 X=0 : $GIO ENABLE TRACK 76 #1(70A040008701704040208702401787034000,R$) : ERRORX=ERR 1060 PRINT AT(20,0,); AT(20,22); " Formatting";AT(22,1,78);"Press: R ESET to recover system if no response in 5 seconds " : STR(R$,,3)=HEX(300F62) : $GIO #1,(0600070070A0400288D070406A10681868006A20623087051704115615764000 8707,R$) : ERRORX=ERR 1070 IF STR(R$,6,3)=HEX(000000) AND X=0 THEN 1110 : PRINT AT(20,6,72);HEX(06);" This disk can not be formatted Do you wa nt to continue" : GOSUB 1240 1080 KEYIN T$ : IF T$="Y" OR T$="y" THEN 930 : IF T$="N" OR T$="n" THEN 290 : GOTO 1080 1090 GOSUB '240 : GOTO 1090 1100 PRINT AT(20,22,57);" "; : IF X=95THEN PRINT "Diskette is write protected"; : IF X=98THEN PRINT "Mount a known good formatted diskette"; : IF X<>95AND X<>93AND X<>98THEN PRINT "Error I-";X;"on sector";I;"during a write"; : I=3951 : GOTO 1000 1110 PRINT AT(20,0,159); 1120 GOSUB '240 1130 FOR I=3926 TO 3951 : DATA SAVE BA T#1,(I)W$() : ERRORX=ERR : PRINT AT(20,0) : I=3951 : NEXT I : GOTO 1030 1140 PRINT AT(22,0);BOX(-2,-79); AT(20,0,); AT(20,22); HEX(06);" Writing to track 76 " : NEXT I : PRINT AT(18,0);"-----The entire track (76) has been written with a '2F' ( all one's) pattern-----" 1150 PRINT AT(20,0,79) : KEYIN T$,1150,1160 : IF T$=HEX(0D) OR T$=HEX(82) THEN 1000 1160 PRINT AT(22,0);BOX(2,79); AT(20,22); " Reading from track 76"; AT(22 ,1); "Press: RETURN to terminate read" 1170 FOR I=3926TO 3951 : T$=" " : KEYIN T$, 1180,1180 1180 IF T$<>" " THEN I=3951 : DATA LOAD BA T#1,(I)R$() : ERRORX=ERR : PRINT AT(21,15);" Error I-";X;"on sector";I;"during a read" 1190 NEXT I : GOTO 1150 1200 REM % Enable track 76 & verify sectors S to E : PRINT AT(21,0,79); : $GIO ENABLE TRACK 76 #1(70A040008701704040208702401787034000,R$) : ERRORX=ERR : PRINT AT(21,15); "CONTROLLER IS NOT RESPONDING PROPERLY ERROR I";X 1210 VERIFY T#1,(S,E)L : IF L<>0 THEN PRINT AT(20,35); " ?" : ELSE PRINT AT(20,35,1) : RETURN 1220 DEFFN '200 : REM % Select message : PRINT AT(22,8);" SPACE BAR or BACKSPACE to select then RETURN to initiate"; 1230 DEFFN '210 : REM % Return message : PRINT AT(22,0); BOX(2,79); " Press: "; AT(23,8);" CLEAR/PREV SCRN for previous screen"; : RETURN 1240 PRINT AT(22,1,78); "Press: Y for 'yes' or N for ' no'"; : RETURN 1250 DEFFN '220 : REM % Check for PREV SCRN : IF T$=HEX(42) OR T$=HEX(52) THEN 290 : RETURN 1260 REM % Check for PREV SCRN : IF T$=HEX(42) OR T$=HEX(52) THEN 1310 : GOTO 1520 1270 DEFFN '230 : REM % Check for CLEAR : IF T$=HEX(81) THEN 290 : RETURN 1280 DEFFN '240 : REM % Input - no wait : KEYIN T$,1270,1250 : RETURN 1290 DEFFN '31 : REM % First menu message : LOAD T"@MENU" : ERRORX=ERR : PRINT AT(Y+1,0,); AT(Y+1,18); ""; : IF X=(82) THEN PRINT " NO PREVIOUS MENU IS AVAILABLE "; : ELSE PRINT " DISK ERROR "; X; " " 1300 REM % Wait for input : GOSUB '210 : GOSUB '240 : GOTO 1300 1310 REM % GRAPHICS DISPLAY OF BOARDS : PRINT HEX(0306); AT(1,25); BOX(0,21); AT(0,26); HEX(0E); "Test Point Loca tions"; 1320 PRINT HEX(060F);AT(3,5);"The Shugart assemble number is stamped in black on the component side of"; AT(4,0);"the board; the fabrication (artwork) number is etched on the non-component side";AT(5,0);"of the board." 1340 PRINT AT(11,14);BOX(0,12); AT(10,15); "DISPLAY NO. ASSEMBLY NO. F ABRICATION NO.";AT(11,32);BOX(0,31) 1350 PRINT AT(12,15);" 1 25189 25188 " 1360 PRINT AT(13,15);" 2 25190 25188 " 1370 PRINT AT(14,15);" 3 25201 25200 " 1380 PRINT AT(15,15);" 4 25202 25200 " 1390 PRINT AT(16,15);" 5 25216 N/A" 1400 T$=" " : GOSUB '210 : PRINT AT(22,8); "the display number corresponding to the desired board"; : GOSUB '240 : ON POS("12345"=T$)GOTO 1410,1410,1450,1450,1500 : GOTO 1400 1410 REM % BOARD 1 & 2 : GOSUB 2000 1420 PRINT HEX(0E); AT(6,34); "x TP12"; AT(9,34); "x TP26"; AT(12,30); "TP1 x x TP2";HEX(0F); 1430 GOTO 1800 1450 REM % BOARD 3 $ 4 : GOSUB 2000 1460 PRINT HEX(0E); AT(6,29); "x TP12"; AT(9,22); "x x TP26"; AT(12,30); "TP1 x x TP2"; HEX(0F) 1470 GOTO 1800 1500 REM % BOARD 5 GOSUB 2000 1510 GOSUB 2000 : PRINT HEX(0E); AT(6,29); "x TP12"; AT(9,22); "x x TP26"; AT(12,30); "TP1 x x TP2"; HEX(0F) 1520 GOTO 1800 1800 KEYIN T$,1810,1820 : GOTO 1800 1810 REM % Check for CLEAR : IF T$=HEX(81) THEN 1310 : GOTO 1800 1820 REM % Check for PREV SCRN : IF T$=HEX(42) OR T$=HEX(52) THEN 1310 : GOTO 1800 2000 REM % PRINT BOARD : PRINT HEX(0306); AT(1,25); BOX(0,21); AT(0,26); HEX(0E); "Test Point Loca tions"; : GOSUB '210 2010 PRINT AT(4,58);BOX(12,1);AT(5,28);BOX(10,30);AT(5,19);BOX(0,9);AT(5,19);B OX(10,24);AT(5,28);BOX(-10,0);AT(6,43);BOX(2,1);AT(6,43);BOX(-2,0);AT(9,4 3);BOX(5,1);AT(9,43);BOX(-6,0);AT(14,19);BOX (0,25);AT(6,19);BOX(1,1); 2020 PRINT AT(6,19);BOX(-1,0);AT(8,19);BOX(1,1);AT(8,19);BOX(-1,0);AT(12,19);B OX(1,1);BOX(-3,0);AT(13,19);BOX(1,0);AT(6,25);BOX(0,2);AT(6,28);BOX(0,2); AT(6,31);BOX(0,2);AT(6,34);BOX(0,2); 2030 PRINT AT(7,25);BOX(0,2);AT(7,28);BOX(0,2);AT(7,31);BOX(0,2);AT(7,34);BOX( 0,2);AT(8,51);BOX(1,2);AT(9,46);"Index Sensor";AT(6,21);BOX(1,2) 2040 FOR Y=1TO 3 : PRINT AT(7+Y,22);BOX(0,2);AT(7+Y,25);BOX(0,2);AT(7+Y,28);BOX(0,2);AT(7+Y, 31);BOX(0,2);AT(7+Y,34);BOX(0,2); : NEXT Y 2050 PRINT AT(11,22);BOX(0,1);AT(11,25);BOX(0,2);AT(9,38); BOX(0,1); AT(08,38) ; BOX(0,1);AT(10,34);BOX(-0,-2);AT(10,35); BOX(0,2) 2060 PRINT AT(12,22);BOX(0,2);AT(12,25);BOX(0,2);AT(12,35);BOX(0,2); 2070 PRINT AT(13,22);BOX(0,2);AT(13,25);BOX(0,2);AT(13,28);BOX(0,2);AT(13,35); BOX(0,2);""; 2080 PRINT HEX(0F);AT(17,05);"Connect Oscilloscope Ch 1 to TP1, Ch2 to TP 2, i f track 0 detector adj.";AT(18,02);"Ch 1 to TP26. Connect external trigg er to TP12. Set oscilloscope to dif-"; AT(19,02);"ferential mode 0.1v ra nge," 2090 PRINT AT(19,29); "if track 0 detector adj. use 1.0v range. Set the";AT(20 ,02);"trigger to DC negative slope."; AT(20,32);"(Probe grounds to TP5, T P6, TP7 or 'GND')" 2100 RETURN