Home » Archimedes archive » Acorn User » AU 1996-02.adf » Regulars » StarInfo/Northcott/Nematode3

StarInfo/Northcott/Nematode3

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/Nematode3
Read OK:
File size: 0382 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
   60ON ERROR PROCbiterr:END
   70om=MODE
   80SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO C%
   90MODE122:xx=800:yy=600:IF MODE<>122 THEN MODE 21:xx=640:yy=512
  100OFF
  110m%=31:v%=4:s=50
  120DIM x(s-1),y(s-1)
  130REPEAT
  140 x=RND(1000)+300
  150 y=RND(800)+200
  160 a=RND(1)*360
  170 x()=x
  180 y()=y
  190 n=0
  200 r2=RND(64)
  210 g2=RND(64)
  220 b2=RND(64)
  230 r1=255-RND(160)
  240 g1=255-RND(160)
  250 b1=255-RND(160)
  260 t=RND(100)+100
  270REPEAT
  280d=RND(1)*180-90:l=RND(10)+2:FOR i=0 TO l-1
  290IF t>31 THEN x+=SINRAD(a)*4:y+=COSRAD(a)*4:a+=d/l
  300x(n)=x:y(n)=y:k=n
  310r3=r2-r1:g3=g2-g1:b3=b2-b1
  320FOR r=m% TO 0 STEP -v%:d1=r/m%
  330SYS C%,(((r1+r3*d1)<<8)+((g1+g3*d1)<<16)+((b1+b3*d1)<<24)),,,&100
  340IF t>m% OR (t<32 AND t>r) THEN CIRCLE FILL x(k),y(k),r
  350k-=v%:IF k<0 k+=s
  360NEXT
  370n=(n+1) MOD s:t-=1:NEXT
  380UNTIL t<0
  390UNTIL 0
  400DEF FNmin(a,b)
  410IF a<b =a ELSE =b
  420:
  430DEFPROCbiterr
  440MODE om
  450REPORT:PRINT" at line ";ERL
  460ENDPROC

� >Nematode
� By dL 31Jul95
#� Downgraded to OS2+ColourTrans
(� By D.Northcott 06/09/95
2
<� � �biterr:�
Fom=�
P;ș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � C%
Z4�122:xx=800:yy=600:� �<>122 � � 21:xx=640:yy=512
d�
nm%=31:v%=4:s=50
x� x(s-1),y(s-1)
��
� x=�(1000)+300
� y=�(800)+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
6r3=r2-r1:g3=g2-g1:b3=b2-b1
@� r=m% � 0 � -v%:d1=r/m%
JDș C%,(((r1+r3*d1)<<8)+((g1+g3*d1)<<16)+((b1+b3*d1)<<24)),,,&100
T-� t>m% � (t<32 � t>r) � ȏ Ȑ x(k),y(k),r
^k-=v%:� k<0 k+=s
h�
rn=(n+1) � s:t-=1:�
|	� t<0
�� 0
�� �min(a,b)
�� a<b =a � =b
�:
���biterr
�� om
��:�" at line ";�
��
�
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 11 ee 20 85 20 f2 62  |95..2...<.. . .b|
00000070  69 74 65 72 72 3a e0 0d  00 46 08 6f 6d 3d eb 0d  |iterr:...F.om=..|
00000080  00 50 3b c8 99 20 22 4f  53 5f 53 57 49 4e 75 6d  |.P;.. "OS_SWINum|
00000090  62 65 72 46 72 6f 6d 53  74 72 69 6e 67 22 2c 2c  |berFromString",,|
000000a0  22 43 6f 6c 6f 75 72 54  72 61 6e 73 5f 53 65 74  |"ColourTrans_Set|
000000b0  47 43 4f 4c 22 20 b8 20  43 25 0d 00 5a 34 eb 31  |GCOL" . C%..Z4.1|
000000c0  32 32 3a 78 78 3d 38 30  30 3a 79 79 3d 36 30 30  |22:xx=800:yy=600|
000000d0  3a e7 20 eb 3c 3e 31 32  32 20 8c 20 eb 20 32 31  |:. .<>122 . . 21|
000000e0  3a 78 78 3d 36 34 30 3a  79 79 3d 35 31 32 0d 00  |:xx=640:yy=512..|
000000f0  64 05 87 0d 00 6e 13 6d  25 3d 33 31 3a 76 25 3d  |d....n.m%=31:v%=|
00000100  34 3a 73 3d 35 30 0d 00  78 13 de 20 78 28 73 2d  |4:s=50..x.. x(s-|
00000110  31 29 2c 79 28 73 2d 31  29 0d 00 82 05 f5 0d 00  |1),y(s-1).......|
00000120  8c 12 20 78 3d b3 28 31  30 30 30 29 2b 33 30 30  |.. x=.(1000)+300|
00000130  0d 00 96 11 20 79 3d b3  28 38 30 30 29 2b 32 30  |.... y=.(800)+20|
00000140  30 0d 00 a0 0f 20 61 3d  b3 28 31 29 2a 33 36 30  |0.... a=.(1)*360|
00000150  0d 00 aa 0a 20 78 28 29  3d 78 0d 00 b4 0a 20 79  |.... x()=x.... y|
00000160  28 29 3d 79 0d 00 be 08  20 6e 3d 30 0d 00 c8 0d  |()=y.... n=0....|
00000170  20 72 32 3d b3 28 36 34  29 0d 00 d2 0d 20 67 32  | r2=.(64).... g2|
00000180  3d b3 28 36 34 29 0d 00  dc 0d 20 62 32 3d b3 28  |=.(64).... b2=.(|
00000190  36 34 29 0d 00 e6 12 20  72 31 3d 32 35 35 2d b3  |64).... r1=255-.|
000001a0  28 31 36 30 29 0d 00 f0  12 20 67 31 3d 32 35 35  |(160).... g1=255|
000001b0  2d b3 28 31 36 30 29 0d  00 fa 12 20 62 31 3d 32  |-.(160).... b1=2|
000001c0  35 35 2d b3 28 31 36 30  29 0d 01 04 11 20 74 3d  |55-.(160).... t=|
000001d0  b3 28 31 30 30 29 2b 31  30 30 0d 01 0e 05 f5 0d  |.(100)+100......|
000001e0  01 18 27 64 3d b3 28 31  29 2a 31 38 30 2d 39 30  |..'d=.(1)*180-90|
000001f0  3a 6c 3d b3 28 31 30 29  2b 32 3a e3 20 69 3d 30  |:l=.(10)+2:. i=0|
00000200  20 b8 20 6c 2d 31 0d 01  22 29 e7 20 74 3e 33 31  | . l-1.."). t>31|
00000210  20 8c 20 78 2b 3d b5 b2  28 61 29 2a 34 3a 79 2b  | . x+=..(a)*4:y+|
00000220  3d 9b b2 28 61 29 2a 34  3a 61 2b 3d 64 2f 6c 0d  |=..(a)*4:a+=d/l.|
00000230  01 2c 15 78 28 6e 29 3d  78 3a 79 28 6e 29 3d 79  |.,.x(n)=x:y(n)=y|
00000240  3a 6b 3d 6e 0d 01 36 1e  72 33 3d 72 32 2d 72 31  |:k=n..6.r3=r2-r1|
00000250  3a 67 33 3d 67 32 2d 67  31 3a 62 33 3d 62 32 2d  |:g3=g2-g1:b3=b2-|
00000260  62 31 0d 01 40 1c e3 20  72 3d 6d 25 20 b8 20 30  |b1..@.. r=m% . 0|
00000270  20 88 20 2d 76 25 3a 64  31 3d 72 2f 6d 25 0d 01  | . -v%:d1=r/m%..|
00000280  4a 44 c8 99 20 43 25 2c  28 28 28 72 31 2b 72 33  |JD.. C%,(((r1+r3|
00000290  2a 64 31 29 3c 3c 38 29  2b 28 28 67 31 2b 67 33  |*d1)<<8)+((g1+g3|
000002a0  2a 64 31 29 3c 3c 31 36  29 2b 28 28 62 31 2b 62  |*d1)<<16)+((b1+b|
000002b0  33 2a 64 31 29 3c 3c 32  34 29 29 2c 2c 2c 26 31  |3*d1)<<24)),,,&1|
000002c0  30 30 0d 01 54 2d e7 20  74 3e 6d 25 20 84 20 28  |00..T-. t>m% . (|
000002d0  74 3c 33 32 20 80 20 74  3e 72 29 20 8c 20 c8 8f  |t<32 . t>r) . ..|
000002e0  20 c8 90 20 78 28 6b 29  2c 79 28 6b 29 2c 72 0d  | .. x(k),y(k),r.|
000002f0  01 5e 14 6b 2d 3d 76 25  3a e7 20 6b 3c 30 20 6b  |.^.k-=v%:. k<0 k|
00000300  2b 3d 73 0d 01 68 05 ed  0d 01 72 16 6e 3d 28 6e  |+=s..h....r.n=(n|
00000310  2b 31 29 20 83 20 73 3a  74 2d 3d 31 3a ed 0d 01  |+1) . s:t-=1:...|
00000320  7c 09 fd 20 74 3c 30 0d  01 86 07 fd 20 30 0d 01  ||.. t<0..... 0..|
00000330  90 0f dd 20 a4 6d 69 6e  28 61 2c 62 29 0d 01 9a  |... .min(a,b)...|
00000340  11 e7 20 61 3c 62 20 3d  61 20 8b 20 3d 62 0d 01  |.. a<b =a . =b..|
00000350  a4 05 3a 0d 01 ae 0c dd  f2 62 69 74 65 72 72 0d  |..:......biterr.|
00000360  01 b8 08 eb 20 6f 6d 0d  01 c2 14 f6 3a f1 22 20  |.... om.....:." |
00000370  61 74 20 6c 69 6e 65 20  22 3b 9e 0d 01 cc 05 e1  |at line ";......|
00000380  0d ff                                             |..|
00000382