Home » Personal collection » Commodore disks » disk50a2_progs1.d64 » fractal
fractal
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Commodore disks » disk50a2_progs1.d64 |
Filename: | fractal |
Read OK: | ✔ |
File size: | 0554 bytes |
Load address: | 0801 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Commodore disks » disk50a2_progs1.d64 » fractal
- Personal collection » Commodore disks » disk65a_programs_1.d64 » fractal
File contents
40 S=16:B=3:C=8:SM=1024 45 POKE53272,(PEEK(53272) AND 15) OR S 50 POKE56578,PEEK(56578) OR 3 55 POKE56576,(PEEK(56576) AND 252) ORB 60 X=C*1024:H=INT(X/256):L=X-256*H 65 POKE51,L:POKE52,H 70 POKE55,L:POKE56,H 75 POKE53272,(PEEK(53272) AND 241) ORC 80 POKE53265,PEEK(53265) OR 32 85 FOR J=SM TO SM+999 90 POKEJ,1 95 NEXT 100 FOR J=X TO X+7999 105 POKE J,0 110 NEXT 111 GOTO 3000 180 POKE53265,PEEK(53265)AND223 185 POKE53272,(PEEK(53272)AND240)OR4 190 STOP 1000 BYTE=X+7687-320*INT(RB/8)-(RAND7)+INT(C/8)*8 1005 BIT=7-(CAND7) 1010 POKE BYTE,PEEK(BYTE) OR 2^BIT 1015 RETURN 2000 BYTE=X+7687-320*INT(R/8)-(RAND7)+INT(C/8)*8 2005 BIT=7-(CBAND7) 2010 POKE BYTE,PEEK(BYTE) AND 255-2^BIT 2015 RETURN 3000 PL=1:S=1:AX=20:BX=305:Y=15:GOSUB4000:PL=0:S=-1 3010 DIMTR(1,145,2):TR(0,0,0)=20:TR(0,0,1)=305:TR(0,0,2)=15:TR=0:A=0 3020 FORT=1TOTR:AX=TR(A,T,0):BX=TR(A,T,1):Y=TR(A,T,2) 3030 AX=AX+((BX-AX)/4):BX=BX-((BX-AX)/4):Y=Y+((BX-AX)/4) 3040 TR(ABS(SGN(A-1)),T*3,0)=AX 3050 TR(ABS(SGN(A-1)),T*3,1)=BX-(BX-AX)/2 3060 TR(ABS(SGN(A-1)),T*3,2)=Y 3070 TR(ABS(SGN(A-1)),T*3+1,0)=AX+(BX-AX)/2 3080 TR(ABS(SGN(A-1)),T*3+1,1)=BX 3090 TR(ABS(SGN(A-1)),T*3+1,2)=Y 3100 TR(ABS(SGN(A-1)),T*3+2,0)=AX+(BX-AX)/4 3110 TR(ABS(SGN(TR-1)),T*3+2,1)=BX-(BX-AX)/4 3120 TR(ABS(SGN(A-1)),T*3+2,2)=Y+(BX-AX)/4 3130 AX=AX+(BX-AX)/4:BX=BX-(BX-AX)/4 3140 Y=Y+(BX-AX)/4:GOSUB4000 3150 NEXT:A=ABS(SGN(TR-1)):TR=(TR+1)*3-1 3160 IFTR>150THEN3160 3170 GOTO3020 4000 FORXA=0TO(BX-AX)/2 4010 IFS=1THENR=Y-XA+(BX-AX)/2 4020 IFS=-1THENR=Y+XA+(BX-AX)/2 4030 FORC=AX+(BX-AX)/2-XATOAX+(BX-AX)/2+XA 4040 IF PL=1 THEN GOSUB1000 4050 IF PL=0 THEN GOSUB2000 4060 NEXT:NEXT:RETURN
( S�16:B�3:C�8:SM�1024 9- �53272,(�(53272) � 15) � S Q2 �56578,�(56578) � 3 p7 �56576,(�(56576) � 252) �B �<