Code for the higher resolution 3D Fedora Plot I posted a snapshot of on Facebook.
This is the original Atari code followed by the changes to run on the CoCo 3.
100 SX=144:SY=56:SZ=64:CX=320:CY=192 110 C1=2.2*SY:C2=1.6*SY 120 DIM RR(CX) 130 FOR I=0 TO CX:RR(I)=CY:NEXT I 140 GRAPHICS 8+16:SETCOLOR 2,0,0:COLOR 1 150 CX=CX*0.5:CY=CY*0.46875:FX=SX/64:FZ=SZ/64 160 XF=4.71238905/SX 170 FOR ZI=64 TO -64 STEP -1 180 ZT=ZI*FX:ZS=ZT*ZT 190 XL=INT(SQR(SX*SX-ZS)+0.5) 200 ZX=ZI*FZ+CX:ZY=CY+ZI*FZ 210 FOR XI=0 TO XL 220 A=SIN(SQR(XI*XI+ZS)*XF) 230 Y1=ZY-A*(C1-C2*A*A) 240 X1=XI+ZX 250 IF RR(X1)>Y1 THEN RR(X1)=Y1:PLOT X1,Y1 260 X1=ZX-XI 270 IF RR(X1)>Y1 THEN RR(X1)=Y1:PLOT X1,Y1 280 NEXT XI 290 NEXT ZI 80 TIMER=0 90 POKE 65497,0 140 HSCREEN 2 250 IF RR(X1)>Y1 THEN RR(X1)=Y1:HSET(X1,Y1) 270 IF RR(X1)>Y1 THEN RR(X1)=Y1:HSET(X1,Y1) 300 PRINT"TIME",TIMER/60
The picture of the plot also appears in the blog post titled: "Patching the CoCo ROM, patch #1"
ReplyDeleteThe code was cut and pasted from a forum. It has come to my attention the code still had regular Extended Color BASIC commands on line 140. I have since removed them, but it ran fine with them.
ReplyDelete