Home » Archimedes archive » Acorn User » AU 1998-04 A.adf » Regulars » StarInfo/Stratton/!Spiro/RUNIMAGE

StarInfo/Stratton/!Spiro/RUNIMAGE

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 1998-04 A.adf » Regulars
Filename: StarInfo/Stratton/!Spiro/RUNIMAGE
Read OK:
File size: 0652 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM > RunImage
   20ONERRORREPORT:PRINT" at line ";ERL:END
   30m%=0
   40t%=0
   50PROCcol
   60MODE27
   70DIMsin(1440)
   80DIMcos(1440)
   90FORn%=0TO1440
  100cos(n%)=SINRAD(n%/4)
  110sin(n%)=COSRAD(n%/4)
  120NEXT
  130PROCinput
  140DEFPROCinput
  150PROCcol
  160CLS
  170COLOUR1
  180PRINTTAB(7,2) "ENTER THE SIZE OF THE HOLE AT THE CENTRE OF THE SPIROGRAPH (1-100)"
  190COLOUR6
  200INPUTTAB(39,4),holea%
  210IFholea%<>0hole%=holea%
  220COLOUR1
  230PRINTTAB(22,8)"ENTER THE TOTAL NUMBER OF SQUIGGLES"
  240COLOUR6
  250INPUTTAB(39,10),sqa%
  260IFsqa%<>0sq%=sqa%
  270COLOUR1
  280PRINTTAB(19,14)"ENTER THE TIGHTNESS OF THE CURVES (1-";sq%;")"
  290COLOUR6
  300INPUTTAB(39,16),anglea%
  310IFanglea%<>0angle%=anglea%
  320COLOUR1
  330PRINTTAB(23,20)"ENTER THE NUMBER OF COLOUR REPEATS"
  340COLOUR6
  350INPUTTAB(39,22),cola%
  360IFcola%<>0col%=cola%
  370COLOUR1
  380PRINTTAB(25,26)"ENTER THE TYPE OF PATTERN (1-4)"
  390COLOUR 6
  400INPUTTAB(39,28),typea%
  410IFtypea%<>0type%=typea%
  420r=angle%/sq%
  430IFtype%MOD2=0 THEN
  440q%=240+hole%*2.4
  450s%=240-hole%*2.4
  460ELSE
  470q%=240-hole%*2.4
  480s%=240+hole%*2.4
  490ENDIF
  500PROCdraw
  510ENDPROC
  520
  530DEFPROCdraw
  540t%=0
  550CLS
  560GCOL0
  570m%=0
  580i=0
  590FORn%=0TO40*sq%+1
  600i+=36
  610j=s%*sin(i MOD1440)
  620k=s%*cos(i MOD1440)
  630IFtype% DIV3=0THEN
  640j+=q%*sin(r*i MOD1440)
  650k+=q%*cos(r*i MOD1440)
  660ELSE
  670j+=q%*cos(r*i MOD1440)
  680k+=q%*sin(r*i MOD1440)
  690ENDIF
  700PLOT5,640+j,480+k
  710GCOL(n%*col%*0.375MOD15)+1
  720NEXT
  730REPEAT
  740PROCcol
  750UNTILINKEY(0)<>-1
  760*FX15
  770PROCinput
  780ENDPROC
  790DEFPROCcol
  800REPEATUNTILTIME-8>t%
  810t%=TIME
  820FORq%=1TO16
  830m%+=1
  840READa%,b%,c%
  850COLOURm%,a%,b%,c%
  860IFa%=255AND b%=0AND c%=0THENRESTORE
  870IFm%=15THEN
  880m%=0
  890READa%,b%,c%
  900ENDIF
  910IFa%=255AND b%=0AND c%=0THENRESTORE
  920NEXT
  930ENDPROC
  940DATA 255,0,127
  950DATA 255,0,193
  960DATA 255,0,255
  970DATA 163,0,255
  980DATA 0,0,255
  990DATA 0,140,225
 1000DATA 0,199,225
 1010DATA 0,255,197
 1020DATA 0,255,130
 1030DATA 0,255,0
 1040DATA 194,255,0
 1050DATA 216,255,0
 1060DATA 255,186,0
 1070DATA 255,132,0
 1080DATA 255,0,0

� > RunImage
�:�" at line ";�:�
m%=0
(t%=0
2�col
<�27
F�sin(1440)
P�cos(1440)
Z�n%=0�1440
dcos(n%)=��(n%/4)
nsin(n%)=��(n%/4)
x�
�
�input
���input
��col
��
��1
�O�7,2) "ENTER THE SIZE OF THE HOLE AT THE CENTRE OF THE SPIROGRAPH (1-100)"
��6
��39,4),holea%
��holea%<>0hole%=holea%
��1
�0�22,8)"ENTER THE TOTAL NUMBER OF SQUIGGLES"
��6
��39,10),sqa%
�sqa%<>0sq%=sqa%
�1
;�19,14)"ENTER THE TIGHTNESS OF THE CURVES (1-";sq%;")"
"�6
,�39,16),anglea%
6�anglea%<>0angle%=anglea%
@�1
J0�23,20)"ENTER THE NUMBER OF COLOUR REPEATS"
T�6
^�39,22),cola%
h�cola%<>0col%=cola%
r�1
|-�25,26)"ENTER THE TYPE OF PATTERN (1-4)"
�� 6
��39,28),typea%
��typea%<>0type%=typea%
�r=angle%/sq%
��type%�2=0 �
�q%=240+hole%*2.4
�s%=240-hole%*2.4
��
�q%=240-hole%*2.4
�s%=240+hole%*2.4
��
�	�draw
��


��draw
t%=0
&�
0�0
:m%=0
Di=0
N�n%=0�40*sq%+1
X	i+=36
bj=s%*sin(i �1440)
lk=s%*cos(i �1440)
v�type% �3=0�
�j+=q%*sin(r*i �1440)
�k+=q%*cos(r*i �1440)
��
�j+=q%*cos(r*i �1440)
�k+=q%*sin(r*i �1440)
��
��5,640+j,480+k
��(n%*col%*0.375�15)+1
��
��
��col
�
��(0)<>-1
�	*FX15

�input
�
	��col
 ���-8>t%
*t%=�
4�q%=1�16
>	m%+=1
H
�a%,b%,c%
R�m%,a%,b%,c%
\�a%=255� b%=0� c%=0��
f�m%=15�
pm%=0
z
�a%,b%,c%
��
��a%=255� b%=0� c%=0��
��
��
�� 255,0,127
�� 255,0,193
�� 255,0,255
�� 163,0,255
�
� 0,0,255
�� 0,140,225
�� 0,199,225
�� 0,255,197
�� 0,255,130

� 0,255,0
� 194,255,0
� 216,255,0
$� 255,186,0
.� 255,132,0
8
� 255,0,0
�
00000000  0d 00 0a 10 f4 20 3e 20  52 75 6e 49 6d 61 67 65  |..... > RunImage|
00000010  0d 00 14 18 ee 85 f6 3a  f1 22 20 61 74 20 6c 69  |.......:." at li|
00000020  6e 65 20 22 3b 9e 3a e0  0d 00 1e 08 6d 25 3d 30  |ne ";.:.....m%=0|
00000030  0d 00 28 08 74 25 3d 30  0d 00 32 08 f2 63 6f 6c  |..(.t%=0..2..col|
00000040  0d 00 3c 07 eb 32 37 0d  00 46 0e de 73 69 6e 28  |..<..27..F..sin(|
00000050  31 34 34 30 29 0d 00 50  0e de 63 6f 73 28 31 34  |1440)..P..cos(14|
00000060  34 30 29 0d 00 5a 0e e3  6e 25 3d 30 b8 31 34 34  |40)..Z..n%=0.144|
00000070  30 0d 00 64 14 63 6f 73  28 6e 25 29 3d b5 b2 28  |0..d.cos(n%)=..(|
00000080  6e 25 2f 34 29 0d 00 6e  14 73 69 6e 28 6e 25 29  |n%/4)..n.sin(n%)|
00000090  3d 9b b2 28 6e 25 2f 34  29 0d 00 78 05 ed 0d 00  |=..(n%/4)..x....|
000000a0  82 0a f2 69 6e 70 75 74  0d 00 8c 0b dd f2 69 6e  |...input......in|
000000b0  70 75 74 0d 00 96 08 f2  63 6f 6c 0d 00 a0 05 db  |put.....col.....|
000000c0  0d 00 aa 06 fb 31 0d 00  b4 4f f1 8a 37 2c 32 29  |.....1...O..7,2)|
000000d0  20 22 45 4e 54 45 52 20  54 48 45 20 53 49 5a 45  | "ENTER THE SIZE|
000000e0  20 4f 46 20 54 48 45 20  48 4f 4c 45 20 41 54 20  | OF THE HOLE AT |
000000f0  54 48 45 20 43 45 4e 54  52 45 20 4f 46 20 54 48  |THE CENTRE OF TH|
00000100  45 20 53 50 49 52 4f 47  52 41 50 48 20 28 31 2d  |E SPIROGRAPH (1-|
00000110  31 30 30 29 22 0d 00 be  06 fb 36 0d 00 c8 12 e8  |100)".....6.....|
00000120  8a 33 39 2c 34 29 2c 68  6f 6c 65 61 25 0d 00 d2  |.39,4),holea%...|
00000130  1a e7 68 6f 6c 65 61 25  3c 3e 30 68 6f 6c 65 25  |..holea%<>0hole%|
00000140  3d 68 6f 6c 65 61 25 0d  00 dc 06 fb 31 0d 00 e6  |=holea%.....1...|
00000150  30 f1 8a 32 32 2c 38 29  22 45 4e 54 45 52 20 54  |0..22,8)"ENTER T|
00000160  48 45 20 54 4f 54 41 4c  20 4e 55 4d 42 45 52 20  |HE TOTAL NUMBER |
00000170  4f 46 20 53 51 55 49 47  47 4c 45 53 22 0d 00 f0  |OF SQUIGGLES"...|
00000180  06 fb 36 0d 00 fa 11 e8  8a 33 39 2c 31 30 29 2c  |..6......39,10),|
00000190  73 71 61 25 0d 01 04 14  e7 73 71 61 25 3c 3e 30  |sqa%.....sqa%<>0|
000001a0  73 71 25 3d 73 71 61 25  0d 01 0e 06 fb 31 0d 01  |sq%=sqa%.....1..|
000001b0  18 3b f1 8a 31 39 2c 31  34 29 22 45 4e 54 45 52  |.;..19,14)"ENTER|
000001c0  20 54 48 45 20 54 49 47  48 54 4e 45 53 53 20 4f  | THE TIGHTNESS O|
000001d0  46 20 54 48 45 20 43 55  52 56 45 53 20 28 31 2d  |F THE CURVES (1-|
000001e0  22 3b 73 71 25 3b 22 29  22 0d 01 22 06 fb 36 0d  |";sq%;")".."..6.|
000001f0  01 2c 14 e8 8a 33 39 2c  31 36 29 2c 61 6e 67 6c  |.,...39,16),angl|
00000200  65 61 25 0d 01 36 1d e7  61 6e 67 6c 65 61 25 3c  |ea%..6..anglea%<|
00000210  3e 30 61 6e 67 6c 65 25  3d 61 6e 67 6c 65 61 25  |>0angle%=anglea%|
00000220  0d 01 40 06 fb 31 0d 01  4a 30 f1 8a 32 33 2c 32  |..@..1..J0..23,2|
00000230  30 29 22 45 4e 54 45 52  20 54 48 45 20 4e 55 4d  |0)"ENTER THE NUM|
00000240  42 45 52 20 4f 46 20 43  4f 4c 4f 55 52 20 52 45  |BER OF COLOUR RE|
00000250  50 45 41 54 53 22 0d 01  54 06 fb 36 0d 01 5e 12  |PEATS"..T..6..^.|
00000260  e8 8a 33 39 2c 32 32 29  2c 63 6f 6c 61 25 0d 01  |..39,22),cola%..|
00000270  68 17 e7 63 6f 6c 61 25  3c 3e 30 63 6f 6c 25 3d  |h..cola%<>0col%=|
00000280  63 6f 6c 61 25 0d 01 72  06 fb 31 0d 01 7c 2d f1  |cola%..r..1..|-.|
00000290  8a 32 35 2c 32 36 29 22  45 4e 54 45 52 20 54 48  |.25,26)"ENTER TH|
000002a0  45 20 54 59 50 45 20 4f  46 20 50 41 54 54 45 52  |E TYPE OF PATTER|
000002b0  4e 20 28 31 2d 34 29 22  0d 01 86 07 fb 20 36 0d  |N (1-4)"..... 6.|
000002c0  01 90 13 e8 8a 33 39 2c  32 38 29 2c 74 79 70 65  |.....39,28),type|
000002d0  61 25 0d 01 9a 1a e7 74  79 70 65 61 25 3c 3e 30  |a%.....typea%<>0|
000002e0  74 79 70 65 25 3d 74 79  70 65 61 25 0d 01 a4 10  |type%=typea%....|
000002f0  72 3d 61 6e 67 6c 65 25  2f 73 71 25 0d 01 ae 10  |r=angle%/sq%....|
00000300  e7 74 79 70 65 25 83 32  3d 30 20 8c 0d 01 b8 14  |.type%.2=0 .....|
00000310  71 25 3d 32 34 30 2b 68  6f 6c 65 25 2a 32 2e 34  |q%=240+hole%*2.4|
00000320  0d 01 c2 14 73 25 3d 32  34 30 2d 68 6f 6c 65 25  |....s%=240-hole%|
00000330  2a 32 2e 34 0d 01 cc 05  cc 0d 01 d6 14 71 25 3d  |*2.4.........q%=|
00000340  32 34 30 2d 68 6f 6c 65  25 2a 32 2e 34 0d 01 e0  |240-hole%*2.4...|
00000350  14 73 25 3d 32 34 30 2b  68 6f 6c 65 25 2a 32 2e  |.s%=240+hole%*2.|
00000360  34 0d 01 ea 05 cd 0d 01  f4 09 f2 64 72 61 77 0d  |4..........draw.|
00000370  01 fe 05 e1 0d 02 08 04  0d 02 12 0a dd f2 64 72  |..............dr|
00000380  61 77 0d 02 1c 08 74 25  3d 30 0d 02 26 05 db 0d  |aw....t%=0..&...|
00000390  02 30 06 e6 30 0d 02 3a  08 6d 25 3d 30 0d 02 44  |.0..0..:.m%=0..D|
000003a0  07 69 3d 30 0d 02 4e 12  e3 6e 25 3d 30 b8 34 30  |.i=0..N..n%=0.40|
000003b0  2a 73 71 25 2b 31 0d 02  58 09 69 2b 3d 33 36 0d  |*sq%+1..X.i+=36.|
000003c0  02 62 15 6a 3d 73 25 2a  73 69 6e 28 69 20 83 31  |.b.j=s%*sin(i .1|
000003d0  34 34 30 29 0d 02 6c 15  6b 3d 73 25 2a 63 6f 73  |440)..l.k=s%*cos|
000003e0  28 69 20 83 31 34 34 30  29 0d 02 76 10 e7 74 79  |(i .1440)..v..ty|
000003f0  70 65 25 20 81 33 3d 30  8c 0d 02 80 18 6a 2b 3d  |pe% .3=0.....j+=|
00000400  71 25 2a 73 69 6e 28 72  2a 69 20 83 31 34 34 30  |q%*sin(r*i .1440|
00000410  29 0d 02 8a 18 6b 2b 3d  71 25 2a 63 6f 73 28 72  |)....k+=q%*cos(r|
00000420  2a 69 20 83 31 34 34 30  29 0d 02 94 05 cc 0d 02  |*i .1440).......|
00000430  9e 18 6a 2b 3d 71 25 2a  63 6f 73 28 72 2a 69 20  |..j+=q%*cos(r*i |
00000440  83 31 34 34 30 29 0d 02  a8 18 6b 2b 3d 71 25 2a  |.1440)....k+=q%*|
00000450  73 69 6e 28 72 2a 69 20  83 31 34 34 30 29 0d 02  |sin(r*i .1440)..|
00000460  b2 05 cd 0d 02 bc 12 f0  35 2c 36 34 30 2b 6a 2c  |........5,640+j,|
00000470  34 38 30 2b 6b 0d 02 c6  19 e6 28 6e 25 2a 63 6f  |480+k.....(n%*co|
00000480  6c 25 2a 30 2e 33 37 35  83 31 35 29 2b 31 0d 02  |l%*0.375.15)+1..|
00000490  d0 05 ed 0d 02 da 05 f5  0d 02 e4 08 f2 63 6f 6c  |.............col|
000004a0  0d 02 ee 0d fd a6 28 30  29 3c 3e 2d 31 0d 02 f8  |......(0)<>-1...|
000004b0  09 2a 46 58 31 35 0d 03  02 0a f2 69 6e 70 75 74  |.*FX15.....input|
000004c0  0d 03 0c 05 e1 0d 03 16  09 dd f2 63 6f 6c 0d 03  |...........col..|
000004d0  20 0c f5 fd 91 2d 38 3e  74 25 0d 03 2a 08 74 25  | ....-8>t%..*.t%|
000004e0  3d 91 0d 03 34 0c e3 71  25 3d 31 b8 31 36 0d 03  |=...4..q%=1.16..|
000004f0  3e 09 6d 25 2b 3d 31 0d  03 48 0d f3 61 25 2c 62  |>.m%+=1..H..a%,b|
00000500  25 2c 63 25 0d 03 52 10  fb 6d 25 2c 61 25 2c 62  |%,c%..R..m%,a%,b|
00000510  25 2c 63 25 0d 03 5c 19  e7 61 25 3d 32 35 35 80  |%,c%..\..a%=255.|
00000520  20 62 25 3d 30 80 20 63  25 3d 30 8c f7 0d 03 66  | b%=0. c%=0....f|
00000530  0b e7 6d 25 3d 31 35 8c  0d 03 70 08 6d 25 3d 30  |..m%=15...p.m%=0|
00000540  0d 03 7a 0d f3 61 25 2c  62 25 2c 63 25 0d 03 84  |..z..a%,b%,c%...|
00000550  05 cd 0d 03 8e 19 e7 61  25 3d 32 35 35 80 20 62  |.......a%=255. b|
00000560  25 3d 30 80 20 63 25 3d  30 8c f7 0d 03 98 05 ed  |%=0. c%=0.......|
00000570  0d 03 a2 05 e1 0d 03 ac  0f dc 20 32 35 35 2c 30  |.......... 255,0|
00000580  2c 31 32 37 0d 03 b6 0f  dc 20 32 35 35 2c 30 2c  |,127..... 255,0,|
00000590  31 39 33 0d 03 c0 0f dc  20 32 35 35 2c 30 2c 32  |193..... 255,0,2|
000005a0  35 35 0d 03 ca 0f dc 20  31 36 33 2c 30 2c 32 35  |55..... 163,0,25|
000005b0  35 0d 03 d4 0d dc 20 30  2c 30 2c 32 35 35 0d 03  |5..... 0,0,255..|
000005c0  de 0f dc 20 30 2c 31 34  30 2c 32 32 35 0d 03 e8  |... 0,140,225...|
000005d0  0f dc 20 30 2c 31 39 39  2c 32 32 35 0d 03 f2 0f  |.. 0,199,225....|
000005e0  dc 20 30 2c 32 35 35 2c  31 39 37 0d 03 fc 0f dc  |. 0,255,197.....|
000005f0  20 30 2c 32 35 35 2c 31  33 30 0d 04 06 0d dc 20  | 0,255,130..... |
00000600  30 2c 32 35 35 2c 30 0d  04 10 0f dc 20 31 39 34  |0,255,0..... 194|
00000610  2c 32 35 35 2c 30 0d 04  1a 0f dc 20 32 31 36 2c  |,255,0..... 216,|
00000620  32 35 35 2c 30 0d 04 24  0f dc 20 32 35 35 2c 31  |255,0..$.. 255,1|
00000630  38 36 2c 30 0d 04 2e 0f  dc 20 32 35 35 2c 31 33  |86,0..... 255,13|
00000640  32 2c 30 0d 04 38 0d dc  20 32 35 35 2c 30 2c 30  |2,0..8.. 255,0,0|
00000650  0d ff                                             |..|
00000652