Listing of file='P32D010A' on disk='vmedia/702-0079.wvd.zip'
# Sector 72, program filename = 'P32D010A' 0005 REM MOD 1/15/80 J. BROOKS 0010 REM . P32D010A, 00-00 (08/14/75), 12002 : DIM Q6$64 : GOSUB 4000 : GOSUB '14 : STOP 0110 DEFFN'14 : GOSUB 3000 : GOSUB '248(4,0,0) : PRINT "-------------------------------------------------" : PRINT " <2232 FLAT BED PLOTTER SET AT ";F$;">" : PRINT 0130 %## ########################### 0150 PRINTUSING 130,0,"DIAGNOSTIC EXERCISE"; : PRINTUSING 130,1,"RESET" : PRINTUSING 130,2,"MOVE X,Y"; : PRINTUSING 130,3,"PLOT POINT" : PRINTUSING 130,4,"CURRENT POSITION"; : PRINTUSING 130,5,"CIRCLE PLOT" : PRINTUSING 130,6,"RADIAL SQUARE"; 0220 PRINTUSING 130,7,"SQUARE WITH HASH MARKS" 0230 PRINTUSING 130,8,"RADIUS FUNCTION"; : PRINTUSING 130,9,"SQUARE/DIAGONAL CALIBRATION" : GOSUB '248(2,0,0) : PRINT " KEY FUNCTION KEY NUMBER (0,1,..9,31), TO RESUME" 0262 GOSUB '248(12,0,0) : RETURN 0270 DEFFN'0 : GOSUB 3000 0272 GOSUB '248(2,5,0) : PRINT "EXECUTING THE 'DIAGNOSTIC EXERCISE'" : GOSUB '248(4,0,0) : PRINT ".SETTING SCALE" : PRINT " X-AXIS" : FOR I=1TO 10 : PLOT <100,,D>,<,10,D>,<,-10,D> : NEXT I : PRINT " DIAGONAL" : PLOT <-999,999,D> 0340 PRINT " Y-AXIS" : FOR I=1TO 10 : PLOT <,-100,D>,<10,,D>,<-10,,D> : NEXT I 0380 PRINT ".PLOTTING DIAGONAL" : PLOT <999,999,D> : PRINT ".RETRACING DIAGONAL USING REPETITION" : PLOT 3<-111,-111,D>,<-10,,D>,<10,,D>,<,-10,D>,<,10,D> 0420 PLOT 3<-111,-111,D>,<,10,D>,<,-10,D>,<10,,D>,<-10,,D> : PLOT 3<-111,-111,D> : PRINT ".DRAWING SQUARE" 0450 PLOT <333,333,U>,<333,,D>,<,333,D>,<-333,,D>,<,-333,D>,<-333,-333,D> : PRINT ".RETRACING DIAGONAL" : FOR I=0TO 900STEP 100 : PLOT <I,I,U>,<100,100,D>,<-100,-100,U>,<-I,-I,U> : NEXT I : L=1 : GOSUB 1060 : GOSUB 538 : GOSUB '14 0515 RETURN 0520 DEFFN'1 : GOSUB 3000 : GOSUB '248(2,5,0) 0528 PRINT "EXECTING THE 'RESET'" : PLOT <,,R> : X9,Y9=0 : FOR I=1TO 500 : NEXT I : GOSUB '14 : RETURN 0530 DEFFN'5 : GOSUB 3000 : GOSUB '248(2,5,0) : PRINT "EXECUTING THE 'CIRCLE PLOT'" : SELECT R : GOSUB 540 : GOSUB '14 : RETURN 0538 PRINT ".CIRCLE PLOT" : SELECT R 0540 D=.05 : R=499 : X0=R+500 : Y0=500 : PLOT <X0,Y0,> : FOR T=0TO 2*#PI+DSTEP D : X=500+R*COS(T) : Y=500+R*SIN(T) 0590 X1=X-X0 : Y1=Y-Y0 : IF X1<>0THEN 610 : IF Y1=0THEN 680 0610 IF X1=0THEN 650 : IF Y1=0THEN 670 : PLOT <(X1*.5/ABS(X1))+X1,(Y1*.5/ABS(Y1))+Y1,D> : GOTO 680 0650 PLOT <,(Y1*.5/ABS(Y1))+Y1,D> : GOTO 680 0670 PLOT <(X1*.5/ABS(X1))+X1,,D> 0680 X0=X : Y0=Y : NEXT T : RETURN 0710 DEFFN'2 : GOSUB 3000 : GOSUB '248(2,5,0) : PRINT "EXECUTING 'MOVE X,Y'" 0718 GOSUB '248(4,0,0) : X7=17 : PRINT " MAX.X=+-";X7 : Y7=12 : PRINT " MAX.Y=+-";Y7 : L=999 : GOSUB 760 : L=ABS(L) : GOSUB 840 : FOR I=1TO 800 : NEXT I : GOSUB '14 : RETURN 0750 PRINT " ILLEGAL MOVE ON X AXIS" 0760 X8=X7-X9 : PRINT " .MOVE X <=";X8; : X=0 : INPUT X : X=INT(X) : IF X=0THEN 820 : X8=X9+X : IF X8<0THEN 750 : IF X8>X7THEN 750 : X9=X8 : IF X>0THEN 810 : L=-L 0810 X=ABS(X) : FOR X1=1TO X : PLOT <L,,U> : NEXT X1 0820 RETURN 0830 PRINT " ILLEGAL MOVE ON Y AXIS" 0840 Y8=Y7-Y9 : PRINT " .MOVE Y <=";Y8; : Y=0 : INPUT Y : Y=INT(Y) : IF Y=0THEN 900 : Y8=Y9+Y : IF Y8<0THEN 830 : IF Y8>Y7THEN 830 : Y9=Y8 : IF Y>0THEN 890 : L=-L 0890 Y=ABS(Y) : FOR Y1=1TO Y : PLOT <,L,U> : NEXT Y1 0900 RETURN 0910 DEFFN'3 : GOSUB 3000 : GOSUB '248(2,5,0) 0915 PRINT "EXECUTING THE 'POINT PLOT'" : GOSUB '248(4,0,0) : PRINT ".PLOT +"; : PLOT <P/2,,D>,<-P,,D>,<P/2,,D>,<,P/2,D>,<,-P,D>,<,P/2,D> : FOR I=1TO 400 : NEXT I : GOSUB '14 : RETURN 0940 PLOT <X,Y,D>,<-X,-Y,D> : RETURN 0950 DEFFN'4 : GOSUB 3000 : GOSUB '248(2,5,0) : PRINT "EXECUTING THE 'CURRENT POSITION'" : GOSUB '248(4,0,0) 0954 PRINT ".CURRENT X = ";X9 : PRINT ".CURRENT Y = ";Y9 : FOR I=1TO 800 : NEXT I : GOSUB '14 : RETURN 0960 DEFFN'6 : GOSUB 3000 : GOSUB '248(2,5,0) : PRINT "EXECUTING THE 'RADIAL SQUARE'" : GOSUB '248(4,0,0) : L=999 : INPUT ".LENGTH <999",L : S=L/5 : Y=-L : FOR X=-LTO LSTEP S : GOSUB 940 : NEXT X : X=L : FOR Y=-LTO LSTEP S : GOSUB 940 : NEXT Y 1010 Y=L : FOR X=LTO -LSTEP -S : GOSUB 940 : NEXT X 1020 X=-L : FOR Y=LTO -LSTEP -S : GOSUB 940 : NEXT Y : GOSUB '14 : RETURN 1040 DEFFN'7 : GOSUB 3000 : GOSUB '248(2,5,0) : PRINT "EXECUTING THE 'SQUARE-HASH'" : GOSUB '248(4,0,0) : L=1 : INPUT ".LENGTH 1 TO 12",L 1060 FOR X=1TO L : PLOT <,999,D>,<10,,D>,<-10,,D> : NEXT X : FOR X=1TO L : PLOT <999,,D>,<,-10,D>,<,10,D> : NEXT X 1080 FOR X=1TO L : PLOT <,-999,D>,<-10,,D>,<10,,D> : NEXT X : FOR X=1TO L : PLOT <-999,,D>,<,10,D>,<,-10,D> : NEXT X : GOSUB '14 : RETURN 1110 DEFFN'8 : GOSUB 3000 : GOSUB '248(2,5,0) : PRINT "EXECUTING THE 'RADIUS FUNCTION'" : GOSUB '248(4,0,0) : L=999 : INPUT ".LENGTH <999",L : D=6 : INPUT ".DEGREES",D : SELECT D : FOR A=0TO 360STEP D : X=L*COS(A) : Y=L*SIN(A) : GOSUB 940 : NEXT A 1180 GOSUB '14 : RETURN 1190 DEFFN'9 : GOSUB 3000 : GOSUB '248(2,5,0) : PRINT "EXECUTING THE 'SQUARE/DIAGNONALS'"; : PLOT <,,R> : PLOT 2<999,999,U> : PLOT 10<999,,D> : PLOT <,-999,U> : PLOT <-999,,U> : PLOT 10<,999,D> : PLOT <999,,U> : PLOT <,-999,U> : PLOT 10<-999,,D> 1290 PLOT <,999,U> : PLOT <999,,U> : PLOT 10<,-999,D> : PLOT <-999,,U> : PLOT 10<999,999,D> 1340 PLOT 10<-999,,U> : PLOT 10<999,-999,D> : GOSUB '14 : RETURN 1370 GOTO 10 2000 DEFFN'31 : LOAD DC T"START" 3000 PRINT HEX(03);"2200 HARDWARE DIAGNOSTICS - 2232 FLAT BED PLOTTER -------- ------" : PRINT HEX(0A0A0A0A0A0A0A0A0A0A0A0A0A0A);"DIAGNOSTIC MENU ; KEY 'RESET' AN D SF'31";HEX(01) : RETURN 4000 GOSUB 3000 : PRINT HEX(0A0A0A0A0D);"1. 413","2. 414","3. 415","4. 416" 4010 PRINT HEX(0C0C); : INPUT "SELECT PLOTTER ADDRESS",Q : ON Q GOTO 4020,4030,4040,4050 4020 SELECT PLOT 413 : F$="413" : RETURN 4030 SELECT PLOT 414 : F$="414" : RETURN 4040 SELECT PLOT 415 : F$="415" : RETURN 4050 SELECT PLOT 416 : F$="416" : RETURN 9030 Q6=3 : GOTO 9220 9040 DEFFN'254 : GOSUB '243("KEY RETURN(EXEC) TO RESUME",0) : W4$=Q6$ : GOSUB '248(0,0,4) : Q6$=W4$ : RETURN 9060 DEFFN'242(W0,Q6$) : IF W0<=0THEN 9260 : IF W0=1THEN 9070 : STR(Q6$,2)=STR(Q6$,1,W0-1) 9070 PRINT Q6$; : RETURN 9080 DEFFN'243(Q6$,Q0) : GOSUB 9170 9090 SELECT CO 205 : Q6$=" " : INPUT Q6$ : IF Q0=0THEN 9200 : IF LEN(Q6$)<=Q0THEN 9200 : GOSUB 9160 9100 DEFFN'244(Q0) : GOSUB 9190 : GOSUB 9180 : GOTO 9090 9110 DEFFN'245(Q6$,Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 9170 9120 GOSUB '242(ABS(Q2)+2,HEX(09)) : PRINT "/" : GOSUB 9190 : SELECT CO 205 : Q9,W0=-1E-99 : INPUT Q9 : IF W0=Q9THEN 9130 : IF Q9>=0THEN 9150 : IF Q2<=0THEN 9150 9130 GOSUB 9160 9140 DEFFN'246(Q2,Q3) : Q0=ABS(Q2)+Q3+1 : GOSUB 9190 : GOSUB 9180 : GOTO 9120 9150 IF ABS(Q9)>=10^ABS(Q2)THEN 9130 : W0=ABS(Q9*10^Q3) : IF INT(W0)<>W0THEN 9130 : GOTO 9030 9160 GOSUB 9030 : PRINT "RE-ENTER" : RETURN 9170 GOSUB 9260 : PRINT HEX(010A);STR(Q6$,1); 9180 GOSUB 9260 : GOSUB '242(Q0+2,"-") : PRINT TAB(64) 9190 PRINT HEX(010A0A) : RETURN 9200 PRINT HEX(0A);TAB(64) : GOTO 9260 9210 Q6=0 9220 Q7=0 : Q8=1 9230 DEFFN'248(Q6,Q7,Q8) : GOSUB 9260 : IF Q8<1THEN 9240 : GOSUB 9240 : SELECT PRINT 205 : Q6$=" " : PRINT STR(Q6$,Q7+1) : IF Q8<2THEN 9240 : FOR W0=2TO Q8 : PRINT HEX(0A);STR(Q6$,1) : NEXT W0 9240 PRINT HEX(01) 9250 GOSUB '242(Q7,HEX(09)) : GOSUB '242(Q6,HEX(0A)) 9260 SELECT PRINT 005(64),CO 005 : RETURN