Home » Archimedes archive » Acorn User » AU 1994-10.adf » !StarInfo_StarInfo » VanMourik/Candied

VanMourik/Candied

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 » Archimedes archive » Acorn User » AU 1994-10.adf » !StarInfo_StarInfo
Filename: VanMourik/Candied
Read OK:
File size: 0485 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Candied
   20REM By Jean Van Mourik
   30:
   40IF FNmode(27) THEN
   50 MODE 27:w=1280:h=960:s=2
   60ELSE
   70 MODE 9 :w=1280:h=1024:s=4
   80ENDIF
   90OFF
  100:
  110FOR c=1 TO 8
  120 READ r,g,b
  130 COLOUR c,r,g,b
  140NEXT
  150:
  160DIM x(20000),y(20000)
  170dots=50
  180:
  190FOR i=1 TO dots
  200 x(i)=w/2+i*6*SINRAD(i*360*2/dots)
  210 y(i)=h/2+i*6*COSRAD(i*360*2/dots)
  220NEXT
  230:
  240REM MAIN LOOP
  250REPEAT
  260 n=RND(dots)
  270 x=x(n)
  280 y=y(n)
  290 x1=(x+w+s)MODw
  300 x2=(x+w-s)MODw
  310 y1=(y+h+s)MODh
  320 y2=(y+h-s)MODh
  330 x(n)=x(dots)
  340 y(n)=y(dots)
  350 dots-=1
  360 IF POINT(x1,y1)=0 dots+=1:x(dots)=x1:y(dots)=y1:GCOL1:POINTx1,y1
  370 IF POINT(x ,y1)=0 dots+=1:x(dots)=x :y(dots)=y1:GCOL2:POINTx,y1
  380 IF POINT(x2,y1)=0 dots+=1:x(dots)=x2:y(dots)=y1:GCOL3:POINTx2,y1
  390 IF POINT(x2,y )=0 dots+=1:x(dots)=x2:y(dots)=y :GCOL4:POINTx2,y
  400 IF POINT(x2,y2)=0 dots+=1:x(dots)=x2:y(dots)=y2:GCOL5:POINTx2,y2
  410 IF POINT(x ,y2)=0 dots+=1:x(dots)=x :y(dots)=y2:GCOL6:POINTx,y2
  420 IF POINT(x1,y2)=0 dots+=1:x(dots)=x1:y(dots)=y2:GCOL7:POINTx1,y2
  430 IF POINT(x1,y )=0 dots+=1:x(dots)=x1:y(dots)=y :GCOL8:POINTx1,y
  440UNTIL dots<8
  450END
  460:
  470DATA 192,0,240
  480DATA 96,96,240
  490DATA 0,192,240
  500DATA 48,240,144
  510DATA 144,240,48
  520DATA 240,192,0
  530DATA 240,96,96
  540DATA 240,0,192
  550:
  560DEF FNmode(mode)
  570SYS "OS_CheckModeValid",mode TO ;ok
  580=(ok AND 2)=0

� >Candied
� By Jean Van Mourik
:
(� �mode(27) �
2 � 27:w=1280:h=960:s=2
<�
F � 9 :w=1280:h=1024:s=4
P�
Z�
d:
n
� c=1 � 8
x � r,g,b
� � c,r,g,b
��
�:
�� x(20000),y(20000)
�dots=50
�:
�� i=1 � dots
�" x(i)=w/2+i*6*��(i*360*2/dots)
�" y(i)=h/2+i*6*��(i*360*2/dots)
��
�:
�� MAIN LOOP
��
 n=�(dots)
 x=x(n)
 y=y(n)
" x1=(x+w+s)�w
, x2=(x+w-s)�w
6 y1=(y+h+s)�h
@ y2=(y+h-s)�h
J x(n)=x(dots)
T y(n)=y(dots)
^ dots-=1
h9 � �x1,y1)=0 dots+=1:x(dots)=x1:y(dots)=y1:�1:Ȓx1,y1
r8 � �x ,y1)=0 dots+=1:x(dots)=x :y(dots)=y1:�2:Ȓx,y1
|9 � �x2,y1)=0 dots+=1:x(dots)=x2:y(dots)=y1:�3:Ȓx2,y1
�8 � �x2,y )=0 dots+=1:x(dots)=x2:y(dots)=y :�4:Ȓx2,y
�9 � �x2,y2)=0 dots+=1:x(dots)=x2:y(dots)=y2:�5:Ȓx2,y2
�8 � �x ,y2)=0 dots+=1:x(dots)=x :y(dots)=y2:�6:Ȓx,y2
�9 � �x1,y2)=0 dots+=1:x(dots)=x1:y(dots)=y2:�7:Ȓx1,y2
�8 � �x1,y )=0 dots+=1:x(dots)=x1:y(dots)=y :�8:Ȓx1,y
�� dots<8
��
�:
�� 192,0,240
�� 96,96,240
�� 0,192,240
�� 48,240,144
�� 144,240,48
� 240,192,0
� 240,96,96
� 240,0,192
&:
0� �mode(mode)
:%ș "OS_CheckModeValid",mode � ;ok
D=(ok � 2)=0
�
00000000  0d 00 0a 0e f4 20 3e 43  61 6e 64 69 65 64 0d 00  |..... >Candied..|
00000010  14 18 f4 20 42 79 20 4a  65 61 6e 20 56 61 6e 20  |... By Jean Van |
00000020  4d 6f 75 72 69 6b 0d 00  1e 05 3a 0d 00 28 11 e7  |Mourik....:..(..|
00000030  20 a4 6d 6f 64 65 28 32  37 29 20 8c 0d 00 32 1a  | .mode(27) ...2.|
00000040  20 eb 20 32 37 3a 77 3d  31 32 38 30 3a 68 3d 39  | . 27:w=1280:h=9|
00000050  36 30 3a 73 3d 32 0d 00  3c 05 cc 0d 00 46 1b 20  |60:s=2..<....F. |
00000060  eb 20 39 20 3a 77 3d 31  32 38 30 3a 68 3d 31 30  |. 9 :w=1280:h=10|
00000070  32 34 3a 73 3d 34 0d 00  50 05 cd 0d 00 5a 05 87  |24:s=4..P....Z..|
00000080  0d 00 64 05 3a 0d 00 6e  0d e3 20 63 3d 31 20 b8  |..d.:..n.. c=1 .|
00000090  20 38 0d 00 78 0c 20 f3  20 72 2c 67 2c 62 0d 00  | 8..x. . r,g,b..|
000000a0  82 0e 20 fb 20 63 2c 72  2c 67 2c 62 0d 00 8c 05  |.. . c,r,g,b....|
000000b0  ed 0d 00 96 05 3a 0d 00  a0 17 de 20 78 28 32 30  |.....:..... x(20|
000000c0  30 30 30 29 2c 79 28 32  30 30 30 30 29 0d 00 aa  |000),y(20000)...|
000000d0  0b 64 6f 74 73 3d 35 30  0d 00 b4 05 3a 0d 00 be  |.dots=50....:...|
000000e0  10 e3 20 69 3d 31 20 b8  20 64 6f 74 73 0d 00 c8  |.. i=1 . dots...|
000000f0  22 20 78 28 69 29 3d 77  2f 32 2b 69 2a 36 2a b5  |" x(i)=w/2+i*6*.|
00000100  b2 28 69 2a 33 36 30 2a  32 2f 64 6f 74 73 29 0d  |.(i*360*2/dots).|
00000110  00 d2 22 20 79 28 69 29  3d 68 2f 32 2b 69 2a 36  |.." y(i)=h/2+i*6|
00000120  2a 9b b2 28 69 2a 33 36  30 2a 32 2f 64 6f 74 73  |*..(i*360*2/dots|
00000130  29 0d 00 dc 05 ed 0d 00  e6 05 3a 0d 00 f0 0f f4  |).........:.....|
00000140  20 4d 41 49 4e 20 4c 4f  4f 50 0d 00 fa 05 f5 0d  | MAIN LOOP......|
00000150  01 04 0e 20 6e 3d b3 28  64 6f 74 73 29 0d 01 0e  |... n=.(dots)...|
00000160  0b 20 78 3d 78 28 6e 29  0d 01 18 0b 20 79 3d 79  |. x=x(n).... y=y|
00000170  28 6e 29 0d 01 22 11 20  78 31 3d 28 78 2b 77 2b  |(n)..". x1=(x+w+|
00000180  73 29 83 77 0d 01 2c 11  20 78 32 3d 28 78 2b 77  |s).w..,. x2=(x+w|
00000190  2d 73 29 83 77 0d 01 36  11 20 79 31 3d 28 79 2b  |-s).w..6. y1=(y+|
000001a0  68 2b 73 29 83 68 0d 01  40 11 20 79 32 3d 28 79  |h+s).h..@. y2=(y|
000001b0  2b 68 2d 73 29 83 68 0d  01 4a 11 20 78 28 6e 29  |+h-s).h..J. x(n)|
000001c0  3d 78 28 64 6f 74 73 29  0d 01 54 11 20 79 28 6e  |=x(dots)..T. y(n|
000001d0  29 3d 79 28 64 6f 74 73  29 0d 01 5e 0c 20 64 6f  |)=y(dots)..^. do|
000001e0  74 73 2d 3d 31 0d 01 68  39 20 e7 20 b0 78 31 2c  |ts-=1..h9 . .x1,|
000001f0  79 31 29 3d 30 20 64 6f  74 73 2b 3d 31 3a 78 28  |y1)=0 dots+=1:x(|
00000200  64 6f 74 73 29 3d 78 31  3a 79 28 64 6f 74 73 29  |dots)=x1:y(dots)|
00000210  3d 79 31 3a e6 31 3a c8  92 78 31 2c 79 31 0d 01  |=y1:.1:..x1,y1..|
00000220  72 38 20 e7 20 b0 78 20  2c 79 31 29 3d 30 20 64  |r8 . .x ,y1)=0 d|
00000230  6f 74 73 2b 3d 31 3a 78  28 64 6f 74 73 29 3d 78  |ots+=1:x(dots)=x|
00000240  20 3a 79 28 64 6f 74 73  29 3d 79 31 3a e6 32 3a  | :y(dots)=y1:.2:|
00000250  c8 92 78 2c 79 31 0d 01  7c 39 20 e7 20 b0 78 32  |..x,y1..|9 . .x2|
00000260  2c 79 31 29 3d 30 20 64  6f 74 73 2b 3d 31 3a 78  |,y1)=0 dots+=1:x|
00000270  28 64 6f 74 73 29 3d 78  32 3a 79 28 64 6f 74 73  |(dots)=x2:y(dots|
00000280  29 3d 79 31 3a e6 33 3a  c8 92 78 32 2c 79 31 0d  |)=y1:.3:..x2,y1.|
00000290  01 86 38 20 e7 20 b0 78  32 2c 79 20 29 3d 30 20  |..8 . .x2,y )=0 |
000002a0  64 6f 74 73 2b 3d 31 3a  78 28 64 6f 74 73 29 3d  |dots+=1:x(dots)=|
000002b0  78 32 3a 79 28 64 6f 74  73 29 3d 79 20 3a e6 34  |x2:y(dots)=y :.4|
000002c0  3a c8 92 78 32 2c 79 0d  01 90 39 20 e7 20 b0 78  |:..x2,y...9 . .x|
000002d0  32 2c 79 32 29 3d 30 20  64 6f 74 73 2b 3d 31 3a  |2,y2)=0 dots+=1:|
000002e0  78 28 64 6f 74 73 29 3d  78 32 3a 79 28 64 6f 74  |x(dots)=x2:y(dot|
000002f0  73 29 3d 79 32 3a e6 35  3a c8 92 78 32 2c 79 32  |s)=y2:.5:..x2,y2|
00000300  0d 01 9a 38 20 e7 20 b0  78 20 2c 79 32 29 3d 30  |...8 . .x ,y2)=0|
00000310  20 64 6f 74 73 2b 3d 31  3a 78 28 64 6f 74 73 29  | dots+=1:x(dots)|
00000320  3d 78 20 3a 79 28 64 6f  74 73 29 3d 79 32 3a e6  |=x :y(dots)=y2:.|
00000330  36 3a c8 92 78 2c 79 32  0d 01 a4 39 20 e7 20 b0  |6:..x,y2...9 . .|
00000340  78 31 2c 79 32 29 3d 30  20 64 6f 74 73 2b 3d 31  |x1,y2)=0 dots+=1|
00000350  3a 78 28 64 6f 74 73 29  3d 78 31 3a 79 28 64 6f  |:x(dots)=x1:y(do|
00000360  74 73 29 3d 79 32 3a e6  37 3a c8 92 78 31 2c 79  |ts)=y2:.7:..x1,y|
00000370  32 0d 01 ae 38 20 e7 20  b0 78 31 2c 79 20 29 3d  |2...8 . .x1,y )=|
00000380  30 20 64 6f 74 73 2b 3d  31 3a 78 28 64 6f 74 73  |0 dots+=1:x(dots|
00000390  29 3d 78 31 3a 79 28 64  6f 74 73 29 3d 79 20 3a  |)=x1:y(dots)=y :|
000003a0  e6 38 3a c8 92 78 31 2c  79 0d 01 b8 0c fd 20 64  |.8:..x1,y..... d|
000003b0  6f 74 73 3c 38 0d 01 c2  05 e0 0d 01 cc 05 3a 0d  |ots<8.........:.|
000003c0  01 d6 0f dc 20 31 39 32  2c 30 2c 32 34 30 0d 01  |.... 192,0,240..|
000003d0  e0 0f dc 20 39 36 2c 39  36 2c 32 34 30 0d 01 ea  |... 96,96,240...|
000003e0  0f dc 20 30 2c 31 39 32  2c 32 34 30 0d 01 f4 10  |.. 0,192,240....|
000003f0  dc 20 34 38 2c 32 34 30  2c 31 34 34 0d 01 fe 10  |. 48,240,144....|
00000400  dc 20 31 34 34 2c 32 34  30 2c 34 38 0d 02 08 0f  |. 144,240,48....|
00000410  dc 20 32 34 30 2c 31 39  32 2c 30 0d 02 12 0f dc  |. 240,192,0.....|
00000420  20 32 34 30 2c 39 36 2c  39 36 0d 02 1c 0f dc 20  | 240,96,96..... |
00000430  32 34 30 2c 30 2c 31 39  32 0d 02 26 05 3a 0d 02  |240,0,192..&.:..|
00000440  30 11 dd 20 a4 6d 6f 64  65 28 6d 6f 64 65 29 0d  |0.. .mode(mode).|
00000450  02 3a 25 c8 99 20 22 4f  53 5f 43 68 65 63 6b 4d  |.:%.. "OS_CheckM|
00000460  6f 64 65 56 61 6c 69 64  22 2c 6d 6f 64 65 20 b8  |odeValid",mode .|
00000470  20 3b 6f 6b 0d 02 44 0f  3d 28 6f 6b 20 80 20 32  | ;ok..D.=(ok . 2|
00000480  29 3d 30 0d ff                                    |)=0..|
00000485