Listing of file='CIRCLES' on disk='vmedia/2282_graphics_crt_demos.wvd.zip'
# Sector 95, program filename = 'CIRCLES'
0001 REM % CHORDS OF CIRCLE - 12/27/78 - by R.L. Droz
0002 COM R,L,O,P$3
0005 PRINT HEX(0D03),,"CHORDS OF CIRCLE PLOTTING PROGRAM."
: PRINT
0006 LINPUT "GRAPHICS CRT IS AT WHICH ADDRESS?" -P$
0007 MAT SEARCH "0413151617", = STR(P$,2,2) TO L$
: IF STR(L$,,2)=HEX(0000) THEN 5
0008 ON 1+VAL(L$,2)/2 SELECT PLOT C04; PLOT C13; PLOT C15; PLOT C16; PLOT
C17
: ELSE GOTO 5
0015 SELECT D
0035 INPUT "RADIUS OF CIRCLE",R
0040 INPUT "NUMBER OF LINES",L
0041 INPUT "DEGREES OF OFFSET",O
0042 INPUT "DELTA",D
0043 PLOT <,,HEX(03E5)>
: ERRORGOTO 5
0044 R=R+1
: PLOT <(800-R1)/2,(512-R1)/2,HEX(E4)>
0045 PLOT <,,R>,<R,0,U>
: X0=R
0050 FOR I=0 TO 360
: X=ROUND((R*COS(I),0)
: Y=ROUND((R*SIN(I),0)
0060 PLOT <X-X0,Y-Y0,D>
: X0=X
: Y0=Y
: NEXT I
: R=R-1
0061 PRINT
: PRINT "KEY SF'0 TO STOP DISPLAY."
0062 GOSUB 70
0063 KEYIN L$,63,64
: PLOT <,,HEX(E2)>
: $BREAK 255
: GOSUB 70
: PLOT <,,HEX(E1)>
: O=O+D
: GOTO 62
0064 IF STR(L$,,1)<>HEX(00) THEN 62
: PRINT HEX(0C);"KEY SF'31 TO RETURN TO MENU."
: END
0070 FOR I=0 TO 360 STEP 360/L
: X0=ROUND((R*COS(I),0)
: Y0=ROUND((R*SIN(I),0)
0080 X=ROUND((R*COS(I+O),0)
: Y=ROUND((R*SIN(I+O),0)
0090 PLOT <,,R>,<X0,Y0,U>,<X-X0,Y-Y0,D>
: NEXT I
0095 RETURN
1000 DEFFN'31
: COM CLEAR R
: LOAD DC T "!"