Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199312.adf » !StarInfo_StarInfo » Clover/Wotsit

Clover/Wotsit

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 » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199312.adf » !StarInfo_StarInfo
Filename: Clover/Wotsit
Read OK:
File size: 04E3 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM     >Wotsit
   20REM By  Kane Clover (Age 12)
   30REM For 32-bit machines
   40REM (c) BAU December 1993
   50:
   60MODE 15
   70OFF
   80PROCinit
   90REPEAT
  100 PROCdraw(param1%,param2%)
  110 PROCwait(200)
  120 IF param2%>=10 rand%=TRUE
  130 IF rand%=TRUE THEN
  140  param1%+=(RND(20)-10)
  150  param2%+=(RND(20)-10)
  160 ELSE
  170  param1%+=2
  180  param2%+=1
  190 ENDIF
  200 CLS
  210 d1%=0
  220 d2%=0
  230 d3%=0
  240UNTIL FALSE
  250END
  260:
  270DEF PROCwait(w_time%)
  280w_time%=TIME+w_time%
  290REPEAT UNTIL TIME>=w_time%
  300ENDPROC
  310:
  320DEF PROCdraw(inc1%,inc2%)
  330PROCcalc
  340ox3%=x3%
  350oy3%=y3%
  360REPEAT
  370 PROCcalc
  380 MOVE x3%,y3%
  390 MOVE x3%+pen%,y3%+pen%
  400 PLOT&75,ox3%+pen%,oy3%+pen%
  410 d1%+=1
  420 d2%+=inc1%
  430 d3%-=inc2%
  440 ox3%=x3%
  450 oy3%=y3%
  460 IF coldir%=1 THEN col%+=4 ELSE col%-=4
  470 IF col%=252 OR col%=0 THEN coldir%=coldir% EOR 1
  480 SYS SetGcol%,col%<<16,,,&100,0
  490UNTIL d1%>=360
  500ENDPROC
  510:
  520DEF PROCcalc
  530x1%=FNcos(r1%,d1%)+640
  540y1%=FNsin(r1%,d1%)+512
  550x2%=FNcos(r2%,d2%)+x1%
  560y2%=FNsin(r2%,d2%)+y1%
  570x3%=FNcos(r3%,d3%)+x2%
  580y3%=FNsin(r3%,d3%)+y2%
  590ENDPROC
  600:
  610DEF FNcos(r%,d%)
  620=r%*COS(RAD(-(d%-90)))
  630:
  640DEF FNsin(r%,d%)
  650=r%*SIN(RAD(-(d%-90)))
  660:
  670DEF PROCinit
  680r1%=200
  690r2%=100
  700r3%=70
  710d1%=0
  720d2%=0
  730d3%=0  
  740pen%=20
  750param1%=1
  760param2%=1
  770col%=0
  780coldir%=0
  790rand%=FALSE
  800SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO SetGcol%
  810ENDPROC

�     >Wotsit
� By  Kane Clover (Age 12)
� For 32-bit machines
(� (c) BAU December 1993
2:
<� 15
F�
P	�init
Z�
d �draw(param1%,param2%)
n �wait(200)
x � param2%>=10 rand%=�
� � rand%=� �
�  param1%+=(�(20)-10)
�  param2%+=(�(20)-10)
� �
�  param1%+=2
�  param2%+=1
� �
� �
�
 d1%=0
�
 d2%=0
�
 d3%=0
�� �
��
:
� �wait(w_time%)
w_time%=�+w_time%
"� � �>=w_time%
,�
6:
@� �draw(inc1%,inc2%)
J	�calc
Tox3%=x3%
^oy3%=y3%
h�
r
 �calc
| � x3%,y3%
� � x3%+pen%,y3%+pen%
� �&75,ox3%+pen%,oy3%+pen%
� d1%+=1
� d2%+=inc1%
� d3%-=inc2%
�
 ox3%=x3%
�
 oy3%=y3%
�$ � coldir%=1 � col%+=4 � col%-=4
�. � col%=252 � col%=0 � coldir%=coldir% � 1
�" ș SetGcol%,col%<<16,,,&100,0
�� d1%>=360
��
�:
� �calc
x1%=�cos(r1%,d1%)+640
y1%=�sin(r1%,d1%)+512
&x2%=�cos(r2%,d2%)+x1%
0y2%=�sin(r2%,d2%)+y1%
:x3%=�cos(r3%,d3%)+x2%
Dy3%=�sin(r3%,d3%)+y2%
N�
X:
b� �cos(r%,d%)
l=r%*�(�(-(d%-90)))
v:
�� �sin(r%,d%)
�=r%*�(�(-(d%-90)))
�:
�� �init
�r1%=200
�r2%=100
�
r3%=70
�	d1%=0
�	d2%=0
�d3%=0  
�pen%=20
�
param1%=1
�
param2%=1

col%=0

coldir%=0
rand%=�
 Aș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � SetGcol%
*�
�
00000000  0d 00 0a 11 f4 20 20 20  20 20 3e 57 6f 74 73 69  |.....     >Wotsi|
00000010  74 0d 00 14 1e f4 20 42  79 20 20 4b 61 6e 65 20  |t..... By  Kane |
00000020  43 6c 6f 76 65 72 20 28  41 67 65 20 31 32 29 0d  |Clover (Age 12).|
00000030  00 1e 19 f4 20 46 6f 72  20 33 32 2d 62 69 74 20  |.... For 32-bit |
00000040  6d 61 63 68 69 6e 65 73  0d 00 28 1b f4 20 28 63  |machines..(.. (c|
00000050  29 20 42 41 55 20 44 65  63 65 6d 62 65 72 20 31  |) BAU December 1|
00000060  39 39 33 0d 00 32 05 3a  0d 00 3c 08 eb 20 31 35  |993..2.:..<.. 15|
00000070  0d 00 46 05 87 0d 00 50  09 f2 69 6e 69 74 0d 00  |..F....P..init..|
00000080  5a 05 f5 0d 00 64 1b 20  f2 64 72 61 77 28 70 61  |Z....d. .draw(pa|
00000090  72 61 6d 31 25 2c 70 61  72 61 6d 32 25 29 0d 00  |ram1%,param2%)..|
000000a0  6e 0f 20 f2 77 61 69 74  28 32 30 30 29 0d 00 78  |n. .wait(200)..x|
000000b0  1a 20 e7 20 70 61 72 61  6d 32 25 3e 3d 31 30 20  |. . param2%>=10 |
000000c0  72 61 6e 64 25 3d b9 0d  00 82 10 20 e7 20 72 61  |rand%=..... . ra|
000000d0  6e 64 25 3d b9 20 8c 0d  00 8c 19 20 20 70 61 72  |nd%=. .....  par|
000000e0  61 6d 31 25 2b 3d 28 b3  28 32 30 29 2d 31 30 29  |am1%+=(.(20)-10)|
000000f0  0d 00 96 19 20 20 70 61  72 61 6d 32 25 2b 3d 28  |....  param2%+=(|
00000100  b3 28 32 30 29 2d 31 30  29 0d 00 a0 06 20 cc 0d  |.(20)-10).... ..|
00000110  00 aa 10 20 20 70 61 72  61 6d 31 25 2b 3d 32 0d  |...  param1%+=2.|
00000120  00 b4 10 20 20 70 61 72  61 6d 32 25 2b 3d 31 0d  |...  param2%+=1.|
00000130  00 be 06 20 cd 0d 00 c8  06 20 db 0d 00 d2 0a 20  |... ..... ..... |
00000140  64 31 25 3d 30 0d 00 dc  0a 20 64 32 25 3d 30 0d  |d1%=0.... d2%=0.|
00000150  00 e6 0a 20 64 33 25 3d  30 0d 00 f0 07 fd 20 a3  |... d3%=0..... .|
00000160  0d 00 fa 05 e0 0d 01 04  05 3a 0d 01 0e 14 dd 20  |.........:..... |
00000170  f2 77 61 69 74 28 77 5f  74 69 6d 65 25 29 0d 01  |.wait(w_time%)..|
00000180  18 15 77 5f 74 69 6d 65  25 3d 91 2b 77 5f 74 69  |..w_time%=.+w_ti|
00000190  6d 65 25 0d 01 22 12 f5  20 fd 20 91 3e 3d 77 5f  |me%..".. . .>=w_|
000001a0  74 69 6d 65 25 0d 01 2c  05 e1 0d 01 36 05 3a 0d  |time%..,....6.:.|
000001b0  01 40 18 dd 20 f2 64 72  61 77 28 69 6e 63 31 25  |.@.. .draw(inc1%|
000001c0  2c 69 6e 63 32 25 29 0d  01 4a 09 f2 63 61 6c 63  |,inc2%)..J..calc|
000001d0  0d 01 54 0c 6f 78 33 25  3d 78 33 25 0d 01 5e 0c  |..T.ox3%=x3%..^.|
000001e0  6f 79 33 25 3d 79 33 25  0d 01 68 05 f5 0d 01 72  |oy3%=y3%..h....r|
000001f0  0a 20 f2 63 61 6c 63 0d  01 7c 0e 20 ec 20 78 33  |. .calc..|. . x3|
00000200  25 2c 79 33 25 0d 01 86  18 20 ec 20 78 33 25 2b  |%,y3%.... . x3%+|
00000210  70 65 6e 25 2c 79 33 25  2b 70 65 6e 25 0d 01 90  |pen%,y3%+pen%...|
00000220  1d 20 f0 26 37 35 2c 6f  78 33 25 2b 70 65 6e 25  |. .&75,ox3%+pen%|
00000230  2c 6f 79 33 25 2b 70 65  6e 25 0d 01 9a 0b 20 64  |,oy3%+pen%.... d|
00000240  31 25 2b 3d 31 0d 01 a4  0f 20 64 32 25 2b 3d 69  |1%+=1.... d2%+=i|
00000250  6e 63 31 25 0d 01 ae 0f  20 64 33 25 2d 3d 69 6e  |nc1%.... d3%-=in|
00000260  63 32 25 0d 01 b8 0d 20  6f 78 33 25 3d 78 33 25  |c2%.... ox3%=x3%|
00000270  0d 01 c2 0d 20 6f 79 33  25 3d 79 33 25 0d 01 cc  |.... oy3%=y3%...|
00000280  24 20 e7 20 63 6f 6c 64  69 72 25 3d 31 20 8c 20  |$ . coldir%=1 . |
00000290  63 6f 6c 25 2b 3d 34 20  8b 20 63 6f 6c 25 2d 3d  |col%+=4 . col%-=|
000002a0  34 0d 01 d6 2e 20 e7 20  63 6f 6c 25 3d 32 35 32  |4.... . col%=252|
000002b0  20 84 20 63 6f 6c 25 3d  30 20 8c 20 63 6f 6c 64  | . col%=0 . cold|
000002c0  69 72 25 3d 63 6f 6c 64  69 72 25 20 82 20 31 0d  |ir%=coldir% . 1.|
000002d0  01 e0 22 20 c8 99 20 53  65 74 47 63 6f 6c 25 2c  |.." .. SetGcol%,|
000002e0  63 6f 6c 25 3c 3c 31 36  2c 2c 2c 26 31 30 30 2c  |col%<<16,,,&100,|
000002f0  30 0d 01 ea 0e fd 20 64  31 25 3e 3d 33 36 30 0d  |0..... d1%>=360.|
00000300  01 f4 05 e1 0d 01 fe 05  3a 0d 02 08 0b dd 20 f2  |........:..... .|
00000310  63 61 6c 63 0d 02 12 19  78 31 25 3d a4 63 6f 73  |calc....x1%=.cos|
00000320  28 72 31 25 2c 64 31 25  29 2b 36 34 30 0d 02 1c  |(r1%,d1%)+640...|
00000330  19 79 31 25 3d a4 73 69  6e 28 72 31 25 2c 64 31  |.y1%=.sin(r1%,d1|
00000340  25 29 2b 35 31 32 0d 02  26 19 78 32 25 3d a4 63  |%)+512..&.x2%=.c|
00000350  6f 73 28 72 32 25 2c 64  32 25 29 2b 78 31 25 0d  |os(r2%,d2%)+x1%.|
00000360  02 30 19 79 32 25 3d a4  73 69 6e 28 72 32 25 2c  |.0.y2%=.sin(r2%,|
00000370  64 32 25 29 2b 79 31 25  0d 02 3a 19 78 33 25 3d  |d2%)+y1%..:.x3%=|
00000380  a4 63 6f 73 28 72 33 25  2c 64 33 25 29 2b 78 32  |.cos(r3%,d3%)+x2|
00000390  25 0d 02 44 19 79 33 25  3d a4 73 69 6e 28 72 33  |%..D.y3%=.sin(r3|
000003a0  25 2c 64 33 25 29 2b 79  32 25 0d 02 4e 05 e1 0d  |%,d3%)+y2%..N...|
000003b0  02 58 05 3a 0d 02 62 11  dd 20 a4 63 6f 73 28 72  |.X.:..b.. .cos(r|
000003c0  25 2c 64 25 29 0d 02 6c  16 3d 72 25 2a 9b 28 b2  |%,d%)..l.=r%*.(.|
000003d0  28 2d 28 64 25 2d 39 30  29 29 29 0d 02 76 05 3a  |(-(d%-90)))..v.:|
000003e0  0d 02 80 11 dd 20 a4 73  69 6e 28 72 25 2c 64 25  |..... .sin(r%,d%|
000003f0  29 0d 02 8a 16 3d 72 25  2a b5 28 b2 28 2d 28 64  |)....=r%*.(.(-(d|
00000400  25 2d 39 30 29 29 29 0d  02 94 05 3a 0d 02 9e 0b  |%-90)))....:....|
00000410  dd 20 f2 69 6e 69 74 0d  02 a8 0b 72 31 25 3d 32  |. .init....r1%=2|
00000420  30 30 0d 02 b2 0b 72 32  25 3d 31 30 30 0d 02 bc  |00....r2%=100...|
00000430  0a 72 33 25 3d 37 30 0d  02 c6 09 64 31 25 3d 30  |.r3%=70....d1%=0|
00000440  0d 02 d0 09 64 32 25 3d  30 0d 02 da 0b 64 33 25  |....d2%=0....d3%|
00000450  3d 30 20 20 0d 02 e4 0b  70 65 6e 25 3d 32 30 0d  |=0  ....pen%=20.|
00000460  02 ee 0d 70 61 72 61 6d  31 25 3d 31 0d 02 f8 0d  |...param1%=1....|
00000470  70 61 72 61 6d 32 25 3d  31 0d 03 02 0a 63 6f 6c  |param2%=1....col|
00000480  25 3d 30 0d 03 0c 0d 63  6f 6c 64 69 72 25 3d 30  |%=0....coldir%=0|
00000490  0d 03 16 0b 72 61 6e 64  25 3d a3 0d 03 20 41 c8  |....rand%=... A.|
000004a0  99 20 22 4f 53 5f 53 57  49 4e 75 6d 62 65 72 46  |. "OS_SWINumberF|
000004b0  72 6f 6d 53 74 72 69 6e  67 22 2c 2c 22 43 6f 6c  |romString",,"Col|
000004c0  6f 75 72 54 72 61 6e 73  5f 53 65 74 47 43 4f 4c  |ourTrans_SetGCOL|
000004d0  22 20 b8 20 53 65 74 47  63 6f 6c 25 0d 03 2a 05  |" . SetGcol%..*.|
000004e0  e1 0d ff                                          |...|
000004e3