Home » Archimedes archive » Acorn User » AU 1996-02.adf » Regulars » StarInfo/Northcott/Nematode2
StarInfo/Northcott/Nematode2
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 1996-02.adf » Regulars |
| Filename: | StarInfo/Northcott/Nematode2 |
| Read OK: | ✔ |
| File size: | 033D bytes |
| Load address: | 0000 |
| Exec address: | 0000 |
File contents
10REM >Nematode 20REM By dL 31Jul95 30REM Downgraded to OS2+ColourTrans 40REM By D.Northcott 06/09/95 50 60SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO CTSG% 70MODE122:xx=800:yy=600:IF MODE<>122 THEN MODE 21:xx=640:yy=512 80OFF 90s=50 100DIM x(s-1),y(s-1) 110REPEAT 120 x=RND(xx*2-300)+300 130 y=RND(yy*2-200)+200 140 a=RND(1)*360 150 x()=x 160 y()=y 170 n=0 180 r2=RND(64) 190 g2=RND(64) 200 b2=RND(64) 210 r1=255-RND(160) 220 g1=255-RND(160) 230 b1=255-RND(160) 240 t=RND(100)+100 250REPEAT 260d=RND(1)*180-90:l=RND(10)+2:FOR i=0 TO l-1 270IF t>31 THEN x+=SINRAD(a)*4:y+=COSRAD(a)*4:a+=d/l 280x(n)=x:y(n)=y:k=n 290r3=r2-r1:g3=g2-g1:b3=b2-b1 300FOR r=31 TO 0 STEP -1 310SYS CTSG%,(((r1+r3*r/31)<<8)+((g1+g3*r/31)<<16)+((b1+b3*r/31)<<24)),,,&100 320IF t>31 OR (t<32 AND t>r) THEN CIRCLE FILL x(k),y(k),r 330k-=1 340IF k<0 k+=s 350NEXT 360n=(n+1) MOD s:t-=1 370NEXT 380UNTIL t<0 390UNTIL 0 400DEF FNmin(a,b) 410IF a<b =a ELSE =b
� >Nematode � By dL 31Jul95 #� Downgraded to OS2+ColourTrans (� By D.Northcott 06/09/95 2 <>ș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � CTSG% F4�122:xx=800:yy=600:� �<>122 � � 21:xx=640:yy=512 P� Zs=50 d� x(s-1),y(s-1) n� x x=�(xx*2-300)+300 � y=�(yy*2-200)+200 � a=�(1)*360 � x()=x � y()=y � n=0 � r2=�(64) � g2=�(64) � b2=�(64) � r1=255-�(160) � g1=255-�(160) � b1=255-�(160) � t=�(100)+100 �� 'd=�(1)*180-90:l=�(10)+2:� i=0 � l-1 )� t>31 � x+=��(a)*4:y+=��(a)*4:a+=d/l x(n)=x:y(n)=y:k=n "r3=r2-r1:g3=g2-g1:b3=b2-b1 ,� r=31 � 0 � -1 6Mș CTSG%,(((r1+r3*r/31)<<8)+((g1+g3*r/31)<<16)+((b1+b3*r/31)<<24)),,,&100 @-� t>31 � (t<32 � t>r) � ȏ Ȑ x(k),y(k),r Jk-=1 T� k<0 k+=s ^� hn=(n+1) � s:t-=1 r� | � t<0 �� 0 �� �min(a,b) �� a<b =a � =b �
00000000 0d 00 0a 0f f4 20 3e 4e 65 6d 61 74 6f 64 65 0d |..... >Nematode.| 00000010 00 14 13 f4 20 42 79 20 64 4c 20 33 31 4a 75 6c |.... By dL 31Jul| 00000020 39 35 0d 00 1e 23 f4 20 44 6f 77 6e 67 72 61 64 |95...#. Downgrad| 00000030 65 64 20 74 6f 20 4f 53 32 2b 43 6f 6c 6f 75 72 |ed to OS2+Colour| 00000040 54 72 61 6e 73 0d 00 28 1d f4 20 42 79 20 44 2e |Trans..(.. By D.| 00000050 4e 6f 72 74 68 63 6f 74 74 20 30 36 2f 30 39 2f |Northcott 06/09/| 00000060 39 35 0d 00 32 04 0d 00 3c 3e c8 99 20 22 4f 53 |95..2...<>.. "OS| 00000070 5f 53 57 49 4e 75 6d 62 65 72 46 72 6f 6d 53 74 |_SWINumberFromSt| 00000080 72 69 6e 67 22 2c 2c 22 43 6f 6c 6f 75 72 54 72 |ring",,"ColourTr| 00000090 61 6e 73 5f 53 65 74 47 43 4f 4c 22 20 b8 20 43 |ans_SetGCOL" . C| 000000a0 54 53 47 25 0d 00 46 34 eb 31 32 32 3a 78 78 3d |TSG%..F4.122:xx=| 000000b0 38 30 30 3a 79 79 3d 36 30 30 3a e7 20 eb 3c 3e |800:yy=600:. .<>| 000000c0 31 32 32 20 8c 20 eb 20 32 31 3a 78 78 3d 36 34 |122 . . 21:xx=64| 000000d0 30 3a 79 79 3d 35 31 32 0d 00 50 05 87 0d 00 5a |0:yy=512..P....Z| 000000e0 08 73 3d 35 30 0d 00 64 13 de 20 78 28 73 2d 31 |.s=50..d.. x(s-1| 000000f0 29 2c 79 28 73 2d 31 29 0d 00 6e 05 f5 0d 00 78 |),y(s-1)..n....x| 00000100 16 20 78 3d b3 28 78 78 2a 32 2d 33 30 30 29 2b |. x=.(xx*2-300)+| 00000110 33 30 30 0d 00 82 16 20 79 3d b3 28 79 79 2a 32 |300.... y=.(yy*2| 00000120 2d 32 30 30 29 2b 32 30 30 0d 00 8c 0f 20 61 3d |-200)+200.... a=| 00000130 b3 28 31 29 2a 33 36 30 0d 00 96 0a 20 78 28 29 |.(1)*360.... x()| 00000140 3d 78 0d 00 a0 0a 20 79 28 29 3d 79 0d 00 aa 08 |=x.... y()=y....| 00000150 20 6e 3d 30 0d 00 b4 0d 20 72 32 3d b3 28 36 34 | n=0.... r2=.(64| 00000160 29 0d 00 be 0d 20 67 32 3d b3 28 36 34 29 0d 00 |).... g2=.(64)..| 00000170 c8 0d 20 62 32 3d b3 28 36 34 29 0d 00 d2 12 20 |.. b2=.(64).... | 00000180 72 31 3d 32 35 35 2d b3 28 31 36 30 29 0d 00 dc |r1=255-.(160)...| 00000190 12 20 67 31 3d 32 35 35 2d b3 28 31 36 30 29 0d |. g1=255-.(160).| 000001a0 00 e6 12 20 62 31 3d 32 35 35 2d b3 28 31 36 30 |... b1=255-.(160| 000001b0 29 0d 00 f0 11 20 74 3d b3 28 31 30 30 29 2b 31 |).... t=.(100)+1| 000001c0 30 30 0d 00 fa 05 f5 0d 01 04 27 64 3d b3 28 31 |00........'d=.(1| 000001d0 29 2a 31 38 30 2d 39 30 3a 6c 3d b3 28 31 30 29 |)*180-90:l=.(10)| 000001e0 2b 32 3a e3 20 69 3d 30 20 b8 20 6c 2d 31 0d 01 |+2:. i=0 . l-1..| 000001f0 0e 29 e7 20 74 3e 33 31 20 8c 20 78 2b 3d b5 b2 |.). t>31 . x+=..| 00000200 28 61 29 2a 34 3a 79 2b 3d 9b b2 28 61 29 2a 34 |(a)*4:y+=..(a)*4| 00000210 3a 61 2b 3d 64 2f 6c 0d 01 18 15 78 28 6e 29 3d |:a+=d/l....x(n)=| 00000220 78 3a 79 28 6e 29 3d 79 3a 6b 3d 6e 0d 01 22 1e |x:y(n)=y:k=n..".| 00000230 72 33 3d 72 32 2d 72 31 3a 67 33 3d 67 32 2d 67 |r3=r2-r1:g3=g2-g| 00000240 31 3a 62 33 3d 62 32 2d 62 31 0d 01 2c 13 e3 20 |1:b3=b2-b1..,.. | 00000250 72 3d 33 31 20 b8 20 30 20 88 20 2d 31 0d 01 36 |r=31 . 0 . -1..6| 00000260 4d c8 99 20 43 54 53 47 25 2c 28 28 28 72 31 2b |M.. CTSG%,(((r1+| 00000270 72 33 2a 72 2f 33 31 29 3c 3c 38 29 2b 28 28 67 |r3*r/31)<<8)+((g| 00000280 31 2b 67 33 2a 72 2f 33 31 29 3c 3c 31 36 29 2b |1+g3*r/31)<<16)+| 00000290 28 28 62 31 2b 62 33 2a 72 2f 33 31 29 3c 3c 32 |((b1+b3*r/31)<<2| 000002a0 34 29 29 2c 2c 2c 26 31 30 30 0d 01 40 2d e7 20 |4)),,,&100..@-. | 000002b0 74 3e 33 31 20 84 20 28 74 3c 33 32 20 80 20 74 |t>31 . (t<32 . t| 000002c0 3e 72 29 20 8c 20 c8 8f 20 c8 90 20 78 28 6b 29 |>r) . .. .. x(k)| 000002d0 2c 79 28 6b 29 2c 72 0d 01 4a 08 6b 2d 3d 31 0d |,y(k),r..J.k-=1.| 000002e0 01 54 0e e7 20 6b 3c 30 20 6b 2b 3d 73 0d 01 5e |.T.. k<0 k+=s..^| 000002f0 05 ed 0d 01 68 14 6e 3d 28 6e 2b 31 29 20 83 20 |....h.n=(n+1) . | 00000300 73 3a 74 2d 3d 31 0d 01 72 05 ed 0d 01 7c 09 fd |s:t-=1..r....|..| 00000310 20 74 3c 30 0d 01 86 07 fd 20 30 0d 01 90 0f dd | t<0..... 0.....| 00000320 20 a4 6d 69 6e 28 61 2c 62 29 0d 01 9a 11 e7 20 | .min(a,b)..... | 00000330 61 3c 62 20 3d 61 20 8b 20 3d 62 0d ff |a<b =a . =b..| 0000033d
.