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