Home » Personal collection » Acorn ADFS disks » Archimedes » Dominic_3B.ADF » Files/Programs/Fireworks

Files/Programs/Fireworks

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 » Acorn ADFS disks » Archimedes » Dominic_3B.ADF
Filename: Files/Programs/Fireworks
Read OK:
File size: 02A8 bytes
Load address: FFFFFB44
Exec address: 9BE30034
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
   10 DIMX(500):DIMY(500):DIMCO(500)
   20 DIMPX(500):DIMPY(500)
   30 FORX=1 TO 300:X(X)=RND(1000):Y(X)=RND(1000):CO(X)=RND(127)
   40 PX(X)=RND(50)-25:PY(X)=RND(50)-25:NEXT:IN=300
   50 FOR X=1 TO IN:GCOL0,CO(X):MOVEX(X),Y(X):DRAWX(X),Y(X):NEXT
   60 FOR X=1 TO IN:PX=PX(X):X(X)=X(X)-PX(X):PY=PY(X):IF PX=0 THEN 80
   70 IF PX>0 THEN PX=PX-1 ELSE PX=PX+1
   80 Y(X)=Y(X)-PY(X):IF PY=0 THEN 110
   90 IF PY>0 THEN PY=PY-1 ELSE PY=PY+1
  100 PX(X)=PX:PY(X)=PY
  110 NEXT:IN=IN-RND(50)
  120 M=RND(5):IF M<>2 THEN 50
  130 FOR X=RND(25) TO RND(75)+25 STEP RND(3)
  140 X(X)=RND(1000):X(X+RND(100)+200)=RND(1000)
  150 Y(X)=RND(1000):Y(X+RND(100)+200)=RND(1000)
  160 CO(X)=RND(127):CO(X+RND(100)+200)=RND(127)
  170 PX(X)=RND(50)-25:PX(X+RND(100)+200)=RND(50)-25
  180 PY(X)=RND(50)-25:PY(X+RND(100)+200)=RND(50)-25
  190 NEXT:GOTO 50

 �X(500):�Y(500):�CO(500)
 �PX(500):�PY(500)
6 �X=1 � 300:X(X)=�(1000):Y(X)=�(1000):CO(X)=�(127)
(+ PX(X)=�(50)-25:PY(X)=�(50)-25:�:IN=300
20 � X=1 � IN:�0,CO(X):�X(X),Y(X):�X(X),Y(X):�
<? � X=1 � IN:PX=PX(X):X(X)=X(X)-PX(X):PY=PY(X):� PX=0 � �DP@
F � PX>0 � PX=PX-1 � PX=PX+1
P" Y(X)=Y(X)-PY(X):� PY=0 � �Dn@
Z � PY>0 � PY=PY-1 � PY=PY+1
d PX(X)=PX:PY(X)=PY
n �:IN=IN-�(50)
x M=�(5):� M<>2 � �Tr@
�  � X=�(25) � �(75)+25 � �(3)
�) X(X)=�(1000):X(X+�(100)+200)=�(1000)
�) Y(X)=�(1000):Y(X+�(100)+200)=�(1000)
�) CO(X)=�(127):CO(X+�(100)+200)=�(127)
�- PX(X)=�(50)-25:PX(X+�(100)+200)=�(50)-25
�- PY(X)=�(50)-25:PY(X+�(100)+200)=�(50)-25
�
 �:� �Tr@
�
00000000  0d 00 0a 1d 20 de 58 28  35 30 30 29 3a de 59 28  |.... .X(500):.Y(|
00000010  35 30 30 29 3a de 43 4f  28 35 30 30 29 0d 00 14  |500):.CO(500)...|
00000020  16 20 de 50 58 28 35 30  30 29 3a de 50 59 28 35  |. .PX(500):.PY(5|
00000030  30 30 29 0d 00 1e 36 20  e3 58 3d 31 20 b8 20 33  |00)...6 .X=1 . 3|
00000040  30 30 3a 58 28 58 29 3d  b3 28 31 30 30 30 29 3a  |00:X(X)=.(1000):|
00000050  59 28 58 29 3d b3 28 31  30 30 30 29 3a 43 4f 28  |Y(X)=.(1000):CO(|
00000060  58 29 3d b3 28 31 32 37  29 0d 00 28 2b 20 50 58  |X)=.(127)..(+ PX|
00000070  28 58 29 3d b3 28 35 30  29 2d 32 35 3a 50 59 28  |(X)=.(50)-25:PY(|
00000080  58 29 3d b3 28 35 30 29  2d 32 35 3a ed 3a 49 4e  |X)=.(50)-25:.:IN|
00000090  3d 33 30 30 0d 00 32 30  20 e3 20 58 3d 31 20 b8  |=300..20 . X=1 .|
000000a0  20 49 4e 3a e6 30 2c 43  4f 28 58 29 3a ec 58 28  | IN:.0,CO(X):.X(|
000000b0  58 29 2c 59 28 58 29 3a  df 58 28 58 29 2c 59 28  |X),Y(X):.X(X),Y(|
000000c0  58 29 3a ed 0d 00 3c 3f  20 e3 20 58 3d 31 20 b8  |X):...<? . X=1 .|
000000d0  20 49 4e 3a 50 58 3d 50  58 28 58 29 3a 58 28 58  | IN:PX=PX(X):X(X|
000000e0  29 3d 58 28 58 29 2d 50  58 28 58 29 3a 50 59 3d  |)=X(X)-PX(X):PY=|
000000f0  50 59 28 58 29 3a e7 20  50 58 3d 30 20 8c 20 8d  |PY(X):. PX=0 . .|
00000100  44 50 40 0d 00 46 1f 20  e7 20 50 58 3e 30 20 8c  |DP@..F. . PX>0 .|
00000110  20 50 58 3d 50 58 2d 31  20 8b 20 50 58 3d 50 58  | PX=PX-1 . PX=PX|
00000120  2b 31 0d 00 50 22 20 59  28 58 29 3d 59 28 58 29  |+1..P" Y(X)=Y(X)|
00000130  2d 50 59 28 58 29 3a e7  20 50 59 3d 30 20 8c 20  |-PY(X):. PY=0 . |
00000140  8d 44 6e 40 0d 00 5a 1f  20 e7 20 50 59 3e 30 20  |.Dn@..Z. . PY>0 |
00000150  8c 20 50 59 3d 50 59 2d  31 20 8b 20 50 59 3d 50  |. PY=PY-1 . PY=P|
00000160  59 2b 31 0d 00 64 16 20  50 58 28 58 29 3d 50 58  |Y+1..d. PX(X)=PX|
00000170  3a 50 59 28 58 29 3d 50  59 0d 00 6e 12 20 ed 3a  |:PY(X)=PY..n. .:|
00000180  49 4e 3d 49 4e 2d b3 28  35 30 29 0d 00 78 19 20  |IN=IN-.(50)..x. |
00000190  4d 3d b3 28 35 29 3a e7  20 4d 3c 3e 32 20 8c 20  |M=.(5):. M<>2 . |
000001a0  8d 54 72 40 0d 00 82 20  20 e3 20 58 3d b3 28 32  |.Tr@...  . X=.(2|
000001b0  35 29 20 b8 20 b3 28 37  35 29 2b 32 35 20 88 20  |5) . .(75)+25 . |
000001c0  b3 28 33 29 0d 00 8c 29  20 58 28 58 29 3d b3 28  |.(3)...) X(X)=.(|
000001d0  31 30 30 30 29 3a 58 28  58 2b b3 28 31 30 30 29  |1000):X(X+.(100)|
000001e0  2b 32 30 30 29 3d b3 28  31 30 30 30 29 0d 00 96  |+200)=.(1000)...|
000001f0  29 20 59 28 58 29 3d b3  28 31 30 30 30 29 3a 59  |) Y(X)=.(1000):Y|
00000200  28 58 2b b3 28 31 30 30  29 2b 32 30 30 29 3d b3  |(X+.(100)+200)=.|
00000210  28 31 30 30 30 29 0d 00  a0 29 20 43 4f 28 58 29  |(1000)...) CO(X)|
00000220  3d b3 28 31 32 37 29 3a  43 4f 28 58 2b b3 28 31  |=.(127):CO(X+.(1|
00000230  30 30 29 2b 32 30 30 29  3d b3 28 31 32 37 29 0d  |00)+200)=.(127).|
00000240  00 aa 2d 20 50 58 28 58  29 3d b3 28 35 30 29 2d  |..- PX(X)=.(50)-|
00000250  32 35 3a 50 58 28 58 2b  b3 28 31 30 30 29 2b 32  |25:PX(X+.(100)+2|
00000260  30 30 29 3d b3 28 35 30  29 2d 32 35 0d 00 b4 2d  |00)=.(50)-25...-|
00000270  20 50 59 28 58 29 3d b3  28 35 30 29 2d 32 35 3a  | PY(X)=.(50)-25:|
00000280  50 59 28 58 2b b3 28 31  30 30 29 2b 32 30 30 29  |PY(X+.(100)+200)|
00000290  3d b3 28 35 30 29 2d 32  35 0d 00 be 0d 20 ed 3a  |=.(50)-25.... .:|
000002a0  e5 20 8d 54 72 40 0d ff                           |. .Tr@..|
000002a8
Files/Programs/Fireworks.m0
Files/Programs/Fireworks.m1
Files/Programs/Fireworks.m2
Files/Programs/Fireworks.m4
Files/Programs/Fireworks.m5