Listing of file='P82D010A' on disk='vmedia/702-0079.wvd.zip'
# Sector 293, program filename = 'P82D010A' 0010 REM 2282.CRT-01 1/23/78 0280 SELECT PRINT 005(64) : SELECT D : SELECT PLOT 415 : DIM E$64,E(4),C$64,C$(8)64,C0$1,C0$(2)2,C1$(1)64,D$(3)1,A(2),B(2),Z$1,R$4 0,J8$11,J9$13 : J8$="2282.CRT-01" : J9$="414A 01/23/78" : PRINT HEX(030A0A);J9$;TAB(17);"2282 GRAPHIC CRT DIAGNOSTIC",J8$ : PRINT HEX(0A);TAB(13);"SPECIAL FUNCTION KEY TEST OPTIONS" 0330 PRINT HEX(0A);"SFK 1 POWER-ON"; : PRINT TAB(37);"SFK 2 CLEAR CRT (03)" : PRINT "SFK 3 PEN1 (E1)"; : PRINT TAB(37);"SFK 4 PEN3 (E3)" : PRINT "SFK 5 PEN2 (E2)"; : PRINT TAB(37);"SFK 6 SET HOME (E4)" : PRINT "SFK 7 SHORT PLOT (E6)"; : PRINT TAB(37);"SFK 8 SELECT PRINTER (04)" : PRINT "SFK 9 CHARACTER SET"; 0420 PRINT TAB(37);"SFK 10 CHAR. SIZE & SPACING" : PRINT "SFK 11 PEN UP (0E)"; : PRINT TAB(37);"SFK 12 ENCLOSED SPIRAL" 0421 PRINT "SFK 13 PRINTER COPY (E7)"; : PRINT TAB(37);"SFK 14 ALL TESTS (2-13,17)" : PRINT "SFK 15 REPEAT CHARACTER"; : PRINT TAB(37);"SFK 17 PRINTER SELECT SW." : PRINT "SFK 16 RETURN TO PER. DIAG MENU"; : PRINT TAB(37);"SFK 31 RETURN TO MENU" 0500 STOP "((DEPRESS DESIRED SPECIAL FUNCTION KEY))" 0510 DEFFN'1 : GOSUB '200("POWER ON TEST") : GOSUB '101 : STOP 0530 DEFFN'2 : GOSUB '200("CLEAR CRT (03) TEST") 0540 GOSUB '102 : STOP 0550 DEFFN'3 : GOSUB '200("PEN 1 (E1) TEST") 0560 GOSUB '103 : STOP 0570 DEFFN'4 : GOSUB '200("PEN 3 (E3) TEST") 0580 GOSUB '104 : STOP 0590 DEFFN'5 : GOSUB '200("PEN 2 (E2) TEST") 0600 GOSUB '105 : STOP 0610 DEFFN'6 : GOSUB '200("SET HOME (E4) TEST") 0620 GOSUB '106 : STOP 0630 DEFFN'7 : GOSUB '200("SHORT PLOT (E6) TEST") 0640 GOSUB '107 : STOP 0650 DEFFN'8 : GOSUB '200("SELECT PRINTER (04) TEST") 0660 GOSUB '108 : STOP 0670 DEFFN'9 : GOSUB '200("CHARACTER SET TEST") 0680 GOSUB '109 : STOP 0690 DEFFN'10 : GOSUB '200("CHARACTER SIZE & SPACING TEST") 0700 GOSUB '110 : STOP 0710 DEFFN'11 : GOSUB '200("PEN UP (0E) TEST") 0720 GOSUB '111 : STOP 0730 DEFFN'12 : GOSUB '200("ENCLOSED SPIRAL") 0740 GOSUB '112 : STOP 0750 DEFFN'13 : GOSUB '200("PRINTER COPY (E7) TEST") 0760 GOSUB '113 : STOP 0770 DEFFN'14 : GOSUB '200("RUN ALL TESTS") 0780 INPUT "DO YOU HAVE A 2231W-3 PRINTER (Y OR N)",I$ : IF I$="N"THEN 800 : IF I$="Y"THEN 800 : PRINT HEX(0C0D) : GOTO 780 0790 DEFFN'16 : LOAD DC T "START" 0800 GOSUB '200("CLEAR CRT (03) TEST") : GOSUB '102 : GOSUB '200("PEN 1 (E1) TEST") : GOSUB '103 : GOSUB '200("PEN 3 (E3) TEST") : GOSUB '104 : GOSUB '200("PEN 2 (E2) TEST") : GOSUB '105 0810 GOSUB '200("SET HOME (E4) TEST") : GOSUB '106 : GOSUB '200("SHORT PLOT (E6) TEST") : GOSUB '107 0811 IF I$="N"THEN 812 : GOSUB '200("SELECT PRINTER (04) TEST") : GOSUB '108 0812 GOSUB '200("CHARACTER SET TEST") : GOSUB '109 : GOSUB '200("CHARACTER SIZE & SPACING TEST") : GOSUB '110 0820 GOSUB '200("PEN UP (0E) TEST") : GOSUB '111 : GOSUB '200("ENCLOSED SPIRAL") : GOSUB '112 : IF I$="N"THEN STOP : GOSUB '200("PRINTER COPY (E7) TEST") : GOSUB '113 : GOSUB '117 : STOP 0841 DEFFN'17 : GOSUB '117 : GOTO 841 0850 DEFFN'31 : GOTO 10 : STOP 0870 DEFFN'15 : GOSUB '200("REPEAT CHARACTER TEST") : GOSUB '115 0980 DEFFN'200(R$) : PRINT HEX(030A0A0A0A0A) : PRINT TAB(10);"* * * * * * * * * * * * * * * * * * * * * * * *" : PRINT TAB(10);"* *" : PRINT TAB(10);"*";TAB(35-INT(LEN(R$)/2));R$;TAB(56);"*" : PRINT TAB(10);"* *" 1040 PRINT TAB(10);"* TEST IN PROGRESS *" : PRINT TAB(10);"* *" : PRINT TAB(10);"* * * * * * * * * * * * * * * * * * * * * * * *" : PRINT HEX(0A) : PRINT TAB(20);"KEY SFK 31 TO RETURN TO MENU " 1090 PRINT HEX(0D) : RETURN 1140 DEFFN'101 : PLOT <,,HEX(E003200200FA06E0000A000A0F545454)> : PLOT <,,HEX(E0000A00000A)>,<,,"TEST 1"> : FOR S=1 TO 4000 : NEXT S : RETURN 1210 DEFFN'102 : PLOT <,,HEX(E503E003200200FA06E0000A000A)> : PLOT <,,HEX(E0000A00000A)>,<,,"TEST 2"> : FOR S=1 TO 2000 : NEXT S : PLOT <,,HEX(03E0000A0190E403)> : PLOT <,,HEX(E0000A00000A)>,<,,"TEST 2"> : FOR S=1 TO 4000 : NEXT S : RETURN 1310 DEFFN'103 : PLOT <,,HEX(E50306E10FE003200200E5E0000A000A)> : PLOT <,,HEX(E0000A00000A)>,<,,"TEST 3"> : FOR S=1 TO 4000 : NEXT S : RETURN 1380 DEFFN'104 : PLOT <,,HEX(E50306E30FE003200200E5E0000A000A)> : PLOT <,,HEX(E0000A00000A)>,<,,"TEST 4"> : FOR S=1 TO 4000 : NEXT S : RETURN 1450 DEFFN'105 : PLOT <,,HEX(03E506)>,<5,255,>,<10,,S>,<1,,C> : PLOT <,,"ATBECSDTE5F">,<,,R>,<5,255,>,<,,HEX(E2)>,<20,,S>,<,,"ABCDEF"> : FOR S=1 TO 4000 : NEXT S : RETURN 1520 DEFFN'106 : PLOT <,,HEX(E503060FE003200200E5E003200000)> : PLOT <,,HEX(0FE0FCE00200FAE001900100E4FA)> : PLOT <,,HEX(0FE00000FF00)> : PLOT <,,HEX(FA0EE0000A00000A)> : PLOT <,,"TEST 6"> : FOR S=1 TO 4000 : NEXT S : RETURN 1620 DEFFN'107 : PLOT <,,HEX(E503060FE67F7FE5E0000A000A)> : PLOT <,,HEX(E0000A00000A)>,<,,"TEST 7"> : FOR S=1 TO 4000 : NEXT S : RETURN 1690 DEFFN'108 : PLOT <,,HEX(E50306E0000A000AE0000A00000A)> : PLOT <,,"TEST 8"> : DIM X2$33 : X2$="THIS SHOULD NOT APPEAR ON THE CRT" : $GIO/215(4004A000400D,P$)X2$ : SELECT PRINT 215 : PRINT HEX(06); : SELECT PRINT 005(64) : FOR S=1 TO 4000 : NEXT S : RETURN 1790 DEFFN'109 : PLOT <,,HEX(E50306E0000A000AE0000A00000A)> : PLOT <,,"TEST 9"> : DIM W$40,U$40 : INIT(10)W$ : INIT(11)U$ : FOR Q1=1TO 2 : PLOT <,,HEX(E50306)> : PLOT <5,501,> : FOR Q=1TO 25 : PLOT <,,HEX(E40E)> : PLOT <10,,S> : PLOT <,,W$>,<,,U$>,<,,R> : PLOT <,-20,> : ADD(W$,02) : ADD(U$,02) : NEXT Q : NEXT Q1 : PLOT <,,HEX(E50306)> : PLOT <5,501,> : FOR Q=1TO 6 2000 PLOT <,,HEX(E40E)> : PLOT <10,,S> : PLOT <,,W$>,<,,U$>,<,,R> : PLOT <,-20,> : ADD(W$,02) : ADD(U$,02) : NEXT Q : PLOT <,,W$> : PLOT <,,HEX(E506E0000A000AE0000A00000A)> : PLOT <,,"TEST 9"> : RETURN 2130 DEFFN'110 : PLOT <,,HEX(E50306E0000A000AE0000A00000A)> : PLOT <1,,C>,<10,,S>,<,,"TEST 10"> : R=5 : Z=10 : FOR Q=1TO 13 : PLOT <,,HEX(E50306)> : PLOT <R,400,>,<Z,,S>,<Q,,C> : PLOT <,,"SIZE"> : CONVERT QTO V$,(##) : PLOT <,,V$> : R=R+5 : Z=Z+10 : NEXT Q 2135 Z=Z+10 : PLOT <,,HEX(E50306)>,<R,400,>,<Z,,S> : Q=Q+1 : PLOT <Q,,C>,<,,"SIZE"> 2290 CONVERT QTO V$,(##) : PLOT <,,R>,<100,150,>,<,,V$>,<Q,,C>,<Z,,S> : FOR S=1 TO 1000 : NEXT S : IF Q=14 THEN 2135 : RETURN 2350 DEFFN'111 : PLOT <,,HEX(E50306E0000A000AE0000A00000A)> : PLOT <,,"TEST 11">,<,,HEX(FA0EE003200200)> : FOR S=1 TO 4000 : NEXT S : RETURN 2420 DEFFN'113 : GOSUB '112 : PLOT <,,HEX(E5E2E0000A000AE0000A00000A)>,<,," 2">,<-10,,>,<,,HEX(E1) >,<,,"3"> : PLOT <,,HEX(E7)> : FOR I=1TO 8 : NEXT I : SELECT PRINT 215 : PRINT HEX(040C06); : SELECT PRINT 005(64) : RETURN 2480 DEFFN'112 : PLOT <,,HEX(03E506E0000A000AE0000A00000A)>,<,,"TEST 12"> : GOSUB '19(0,0,800,512,1) : M=51 : L1=145 : L2=0 : N,J,K=0 : H=1 : G1=L1+5*M : G2=L2+5*M : J1=4*M 2570 N,L=N+1 : K=K+10 : IF K=190THEN 2690 2600 IF H<0THEN 2630 : GOSUB '25(G1+J1*COS(J),G2+J1*SIN(J),G1+J1*COS(J+K),G2+J1*SIN(J+K),0,3) : GOTO 2640 2630 GOSUB '25(G1+J1*COS(J+K),G2+J1*SIN(J+K),G1+J1*COS(J),G2+J1*SIN(J),0,3) 2640 H=-H : IF L=1THEN 2570 : L=L-1 : J=J+10 : GOTO 2600 2690 PLOT <,,R>,<799,0,D>,<0,511,D>,<-799,0,D>,<0,-511,D> : FOR S=1 TO 2000 : RETURN 2710 DEFFN'29(A,B,D) : IF INT(D/2)=D/2THEN 2720 : A=A(1)+A : B=B(1)+B 2720 A(2)=A : B(2)=B : D=INT((D+1)/2) : ON D+1GOTO 2830,2820,2740,2730,2740 : STOP "ERROR - INVALID PLOT OPTION" 2730 IF SGN(A(2)-A9)+SGN(A8-A(2))=0THEN 2820 : IF SGN(B(2)-B9)+SGN(B8-B(2))=0THEN 2820 : GOSUB '30(A(2),B(2),2) : GOTO 2820 2740 BIN(D$(2))=15-8*SGN(SGN(B9-B(2))+1)-4*SGN(SGN(B(2)-B8)+1)-2*SGN(SGN(A9-A( 2))+1)-SGN(SGN(A(2)-A8)+1) : BIN(D$(1))=15-8*SGN(SGN(B9-B(1))+1)-4*SGN(SGN(B(1)-B8)+1)-2*SGN(SGN(A9-A( 1))+1)-SGN(SGN(A(1)-A8)+1) : IF VAL(D$(1))+VAL(D$(2))=0THEN 2800 2750 D$(3)=D$(1) : AND (D$(3),D$(2)) : IF D$(3)<>HEX(00)THEN 2820 : D1=1 : D2=2 : IF D$(1)<>HEX(00)THEN 2760 : D1=2 : D2=1 2760 IF A(D1)>=A8THEN 2770 : B(D1)=B(D1)+(B(D2)-B(D1))*(A8-A(D1))/(A(D2)-A(D1)) : A(D1)=A8 : GOTO 2740 2770 IF A(D1)<=A9THEN 2780 : B(D1)=B(D1)+(B(D2)-B(D1))*(A9-A(D1))/(A(D2)-A(D1)) : A(D1)=A9 : GOTO 2740 2780 IF B(D1)>=B8THEN 2790 : A(D1)=A(D1)+(A(D2)-A(D1))*(B8-B(D1))/(B(D2)-B(D1)) : B(D1)=B8 : GOTO 2740 2790 IF B(D1)<=B9THEN 2740 : A(D1)=A(D1)+(A(D2)-A(D1))*(B9-B(D1))/(B(D2)-B(D1)) : B(D1)=B9 : GOTO 2740 2800 IF D=2THEN 2810 : GOSUB '30(A(1),B(1),0) 2810 GOSUB '30(A(2),B(2),1*SGN(D-2)) 2820 A(1)=A : B(1)=B : RETURN 2830 GOSUB '30(0,0,3) : A0,B0,A(1),B(1)=0 : RETURN 2840 DEFFN'30(A1,B1,D4) : IF D4>2THEN 2870 : A2=INT(A1-A0) : B2=INT(B1-B0) : IF ABS(A2)+ABS(B2)=0THEN 2880 : BIN(STR(B$,3,1))=ABS(A2/256) : BIN(STR(B$,4,1))=ABS(A2)-256*VAL(STR(B$,3,1)) : IF A2>=0THEN 2850 : BOOL3(STR(B$,3,2),00) : ADDC(STR(B$,3,2),01) 2850 BIN(STR(B$,5,1))=ABS(B2/256) : BIN(STR(B$,6,1))=ABS(B2)-256*VAL(STR(B$,5,1)) : IF B2>=0THEN 2860 : BOOL3(STR(B$,5,2),00) : ADDC(STR(B$,5,2),01) 2860 BIN(STR(B$,1,1))=15-ABS(D4-1) : STR(B$,2,1)=HEX(E0) : STR(B$,7,1)=HEX(00) : PLOT <,,B$> : A0=A0+A2 : B0=B0+B2 2870 ON D4-1GOTO 2890,2900 2880 RETURN 2890 PLOT <,,D>,<,,> : RETURN 2900 PLOT <,,R> : RETURN 2910 DEFFN'25(C,C0,C1,C2,C3,C4) : GOSUB '29(C,C0,6-4*ABS(SGN(C4-1))) : IF C4=3THEN 2960 : C=C1-C : C0=C2-C0 : C5=INT(SQR(C*C+C0*C0)/C3) : C5=C5+1-SGN(C5-INT(C5/2)*2) : C=C/C5 : C0=C0/C5 : FOR C5=INT(C5/2)TO 1STEP -1 : GOSUB '29(C,C0,5+2*ABS(SGN(C4-1))) : ON C4GOTO 2930,2940 : GOSUB '29(C,C0,1) : GOTO 2950 2930 GOSUB '29(C,C0,5) : GOTO 2950 2940 GOSUB '29(C/2,C0/2,5) : GOSUB '29(C/2,C0/2,1) 2950 NEXT C5 2960 GOSUB '29(C1,C2,6+2*ABS(SGN(C4-1))) : RETURN 2970 DEFFN'19(A8,B8,A9,B9,D4) : ON D4GOTO 2980,2990 : RETURN 2980 GOSUB '29(0,0,0) 2990 GOSUB '29(A8,B8,4) : RETURN 3030 DEFFN'115 : DIM S$1 : INPUT "TYPE THE CHARACTER YOU WANT TO SEND",S$ 3050 PLOT <,,HEX(03E5E0000A000A)>,<1,,C>,<10,,S> : FOR Y=1TO 80 : PLOT <,,S$> : NEXT Y : STOP 3130 DEFFN'117 : PLOT <,,HEX(E503E0000A000A)> : GOSUB '200("PRINTER SELECT TEST") : PRINT HEX(0D0A);"TURN ON - GRAPHIC CRT PRINTER SELECT SWITCH - THEN DEPRE SS ANY ALPHANUMERIC KEY TO CONTINUE" 3140 KEYIN Z$,3150,3150 : GOTO 3140 3150 SELECT PRINT 215 : PRINT "THIS IS A TEST OF THE PRINTER SELECT SWITCH.";HEX(0D0A06); : SELECT PRINT 005(64) : RETURN