Home » Personal collection » Commodore disks » disk50a2_progs1.d64 » sphere
sphere
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: | sphere |
| Read OK: | ✔ |
| File size: | 0341 bytes |
| Load address: | 0801 |
| Exec address: | 0000 |
File contents
5 LA=180
40 S=16:B=3:C=8:SM=1024:POKE53281,0
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:FORJ=55296TO56295:POKEJ,0:NEXT
70 POKE55,L:POKE56,H:POKE53285,0
75 POKE53272,(PEEK(53272) AND 241) ORC
80 POKE53265,PEEK(53265) OR 32
82 POKE53270,PEEK(53270) OR 16
85 FOR J=SM TO SM+999
90 POKEJ,126
95 NEXT
97 GOTO 120
100 FOR J=X TO X+7999
105 POKE J,0
110 NEXT
115 :
120 FOR CG=INT((LA-90)*(320/360)) TO INT((LA+90)*(320/360))
125 CS=INT((LA-90)*(320/360))
130 RT=0:FOR RG=0 TO 200
140 GOSUB 2000
150 RT=RT+SIN(RG*(180/200)*π/180)*1.25
155 R=INT(RT)
160 C=INT(160+SIN(((CG-CS)*180/160-90)*π/180)*SIN(RG*180/200*π/180)*100)AND 254
170 GOSUB 1030
180 NEXT:NEXT
190 GOTO 190
1000 BYTE=X+7687-320*INT(R/8)-(RAND7)+INT(C/8)*8
1005 BIT=7-(CAND7)
1010 POKE BYTE,PEEK(BYTE) OR 2^BIT
1015 RETURN
1030 IF (CL AND 2)=2 THEN GOSUB1000
1035 C=C+1:IF (CL AND 1)=1 THEN GOSUB1000
1040 C=C-1:RETURN
2000 CL=1:RETURN
LA�180 .( S�16:B�3:C�8:SM�1024:�53281,0 M- �53272,(�(53272) � 15) � S e2 �56578,�(56578) � 3 �7 �56576,(�(56576) � 252) �B �<