Home » Archimedes archive » Acorn User » AU 1997-12.adf » Regulars » StarInfo/Stoner/CA

StarInfo/Stoner/CA

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 1997-12.adf » Regulars
Filename: StarInfo/Stoner/CA
Read OK:
File size: 02A3 bytes
Load address: 0000
Exec address: 0000
File contents
    1REM 1-D Cellular life
    2REM Nigel Stoner
    3
    4ON ERROR REPORT:PRINT " in line ";ERL:END
    5
    6MODE13:OFF:COLOUR9:COLOUR132:CLS
    7
    8DIM g1%(256),g2%(256)
    9
   10g1%()=0:g2%()=0
   11FOR col%=0 TO 255:x%=RND(100):x%=x%<50:g1%(col%)=ABS(x%):NEXT col%
   12
   13REM good rules
   14REM 0-1-7-2 / 7-6-5-0 / 4-3-2-1
   15
   16FOR gen%=0 TO 1280 STEP 4:FOR col%=0 TO 255
   17bit1%=g1%(col%-1+(255ANDcol%=0)):bit2%=g1%(col%):bit3%=g1%(col%+1-(255ANDcol%=255)):bit%=(bit1%<<2)+(bit2%<<1)+bit3%
   18CASE bit% OF
   19 WHEN 0 :g2%(col%)=1:GCOL46:PLOT69,gen%,col%*4
   20 WHEN 1 :g2%(col%)=1:GCOL9:PLOT69,gen%,col%*4
   21 WHEN 7 :g2%(col%)=1:GCOL12:PLOT69,gen%,col%*4
   22 WHEN 2 :g2%(col%)=1:GCOL4:PLOT69,gen%,col%*4
   23ENDCASE
   24NEXT col%:g1%()=g2%():g2%()=0:NEXT gen%
   25REM *SCREENSAVE <Obey$Dir>.Scales
   26END
� 1-D Cellular life
� Nigel Stoner

� � �:� " in line ";�:�

�13:�:�9:�132:�

� g1%(256),g2%(256)
	

g1%()=0:g2%()=0
<� col%=0 � 255:x%=�(100):x%=x%<50:g1%(col%)=�(x%):� col%


� good rules
!� 0-1-7-2 / 7-6-5-0 / 4-3-2-1

&� gen%=0 � 1280 � 4:� col%=0 � 255
tbit1%=g1%(col%-1+(255�col%=0)):bit2%=g1%(col%):bit3%=g1%(col%+1-(255�col%=255)):bit%=(bit1%<<2)+(bit2%<<1)+bit3%

Ȏ bit% �
) � 0 :g2%(col%)=1:�46:�69,gen%,col%*4
( � 1 :g2%(col%)=1:�9:�69,gen%,col%*4
) � 7 :g2%(col%)=1:�12:�69,gen%,col%*4
( � 2 :g2%(col%)=1:�4:�69,gen%,col%*4
�
%� col%:g1%()=g2%():g2%()=0:� gen%
#� *SCREENSAVE <Obey$Dir>.Scales
�
�
00000000  0d 00 01 17 f4 20 31 2d  44 20 43 65 6c 6c 75 6c  |..... 1-D Cellul|
00000010  61 72 20 6c 69 66 65 0d  00 02 12 f4 20 4e 69 67  |ar life..... Nig|
00000020  65 6c 20 53 74 6f 6e 65  72 0d 00 03 04 0d 00 04  |el Stoner.......|
00000030  1b ee 20 85 20 f6 3a f1  20 22 20 69 6e 20 6c 69  |.. . .:. " in li|
00000040  6e 65 20 22 3b 9e 3a e0  0d 00 05 04 0d 00 06 13  |ne ";.:.........|
00000050  eb 31 33 3a 87 3a fb 39  3a fb 31 33 32 3a db 0d  |.13:.:.9:.132:..|
00000060  00 07 04 0d 00 08 17 de  20 67 31 25 28 32 35 36  |........ g1%(256|
00000070  29 2c 67 32 25 28 32 35  36 29 0d 00 09 04 0d 00  |),g2%(256)......|
00000080  0a 13 67 31 25 28 29 3d  30 3a 67 32 25 28 29 3d  |..g1%()=0:g2%()=|
00000090  30 0d 00 0b 3c e3 20 63  6f 6c 25 3d 30 20 b8 20  |0...<. col%=0 . |
000000a0  32 35 35 3a 78 25 3d b3  28 31 30 30 29 3a 78 25  |255:x%=.(100):x%|
000000b0  3d 78 25 3c 35 30 3a 67  31 25 28 63 6f 6c 25 29  |=x%<50:g1%(col%)|
000000c0  3d 94 28 78 25 29 3a ed  20 63 6f 6c 25 0d 00 0c  |=.(x%):. col%...|
000000d0  04 0d 00 0d 10 f4 20 67  6f 6f 64 20 72 75 6c 65  |...... good rule|
000000e0  73 0d 00 0e 21 f4 20 30  2d 31 2d 37 2d 32 20 2f  |s...!. 0-1-7-2 /|
000000f0  20 37 2d 36 2d 35 2d 30  20 2f 20 34 2d 33 2d 32  | 7-6-5-0 / 4-3-2|
00000100  2d 31 0d 00 0f 04 0d 00  10 26 e3 20 67 65 6e 25  |-1.......&. gen%|
00000110  3d 30 20 b8 20 31 32 38  30 20 88 20 34 3a e3 20  |=0 . 1280 . 4:. |
00000120  63 6f 6c 25 3d 30 20 b8  20 32 35 35 0d 00 11 74  |col%=0 . 255...t|
00000130  62 69 74 31 25 3d 67 31  25 28 63 6f 6c 25 2d 31  |bit1%=g1%(col%-1|
00000140  2b 28 32 35 35 80 63 6f  6c 25 3d 30 29 29 3a 62  |+(255.col%=0)):b|
00000150  69 74 32 25 3d 67 31 25  28 63 6f 6c 25 29 3a 62  |it2%=g1%(col%):b|
00000160  69 74 33 25 3d 67 31 25  28 63 6f 6c 25 2b 31 2d  |it3%=g1%(col%+1-|
00000170  28 32 35 35 80 63 6f 6c  25 3d 32 35 35 29 29 3a  |(255.col%=255)):|
00000180  62 69 74 25 3d 28 62 69  74 31 25 3c 3c 32 29 2b  |bit%=(bit1%<<2)+|
00000190  28 62 69 74 32 25 3c 3c  31 29 2b 62 69 74 33 25  |(bit2%<<1)+bit3%|
000001a0  0d 00 12 0d c8 8e 20 62  69 74 25 20 ca 0d 00 13  |...... bit% ....|
000001b0  29 20 c9 20 30 20 3a 67  32 25 28 63 6f 6c 25 29  |) . 0 :g2%(col%)|
000001c0  3d 31 3a e6 34 36 3a f0  36 39 2c 67 65 6e 25 2c  |=1:.46:.69,gen%,|
000001d0  63 6f 6c 25 2a 34 0d 00  14 28 20 c9 20 31 20 3a  |col%*4...( . 1 :|
000001e0  67 32 25 28 63 6f 6c 25  29 3d 31 3a e6 39 3a f0  |g2%(col%)=1:.9:.|
000001f0  36 39 2c 67 65 6e 25 2c  63 6f 6c 25 2a 34 0d 00  |69,gen%,col%*4..|
00000200  15 29 20 c9 20 37 20 3a  67 32 25 28 63 6f 6c 25  |.) . 7 :g2%(col%|
00000210  29 3d 31 3a e6 31 32 3a  f0 36 39 2c 67 65 6e 25  |)=1:.12:.69,gen%|
00000220  2c 63 6f 6c 25 2a 34 0d  00 16 28 20 c9 20 32 20  |,col%*4...( . 2 |
00000230  3a 67 32 25 28 63 6f 6c  25 29 3d 31 3a e6 34 3a  |:g2%(col%)=1:.4:|
00000240  f0 36 39 2c 67 65 6e 25  2c 63 6f 6c 25 2a 34 0d  |.69,gen%,col%*4.|
00000250  00 17 05 cb 0d 00 18 25  ed 20 63 6f 6c 25 3a 67  |.......%. col%:g|
00000260  31 25 28 29 3d 67 32 25  28 29 3a 67 32 25 28 29  |1%()=g2%():g2%()|
00000270  3d 30 3a ed 20 67 65 6e  25 0d 00 19 23 f4 20 2a  |=0:. gen%...#. *|
00000280  53 43 52 45 45 4e 53 41  56 45 20 3c 4f 62 65 79  |SCREENSAVE <Obey|
00000290  24 44 69 72 3e 2e 53 63  61 6c 65 73 0d 00 1a 05  |$Dir>.Scales....|
000002a0  e0 0d ff                                          |...|
000002a3