Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199312.adf » !StarInfo_StarInfo » Vibe/OozeVGA

Vibe/OozeVGA

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: Vibe/OozeVGA
Read OK:
File size: 0576 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM    >OozeVGA
   20REM By  Jan Vibe
   30REM For 32-bit machines
   40REM (c) BAU December 1993
   50:
   60MODE 28:OFF
   70DIM x(15),y(15),z(15),r(15),g(15),b(15)
   80x()=-100
   90SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO gcol
  100x1 =RND(768)+256
  110y1 =RND(448)+256
  120dx1=RND(16)*SGNRND
  130dy1=RND(16)*SGNRND
  140x2 =RND(768)+256
  150y2 =RND(448)+256
  160dx2=RND(16)*SGNRND
  170dy2=RND(16)*SGNRND
  180r  =RND(360)
  190g  =RND(360)
  200b  =RND(360)
  210a  =0
  220ON ERROR PROCerror
  230REPEAT
  240 IF x1+dx1<256 OR x1+dx1>1024 dx1=RND(16)*SGN(-dx1)
  250 IF y1+dy1<256 OR y1+dy1>704 dy1=RND(16)*SGN(-dy1)
  260 x1+=dx1
  270 y1+=dy1
  280 IF x2<x1 AND dx2<24  dx2+=1
  290 IF x2>x1 AND dx2>-24 dx2-=1
  300 IF y2<y1 AND dy2<24  dy2+=1
  310 IF y2>y1 AND dy2>-24 dy2-=1
  320 x2+=dx2
  330 y2+=dy2
  340 a=(a+10)MOD360
  350 r=(r+RND(12))MOD360
  360 g=(g+RND(12))MOD360
  370 b=(b+RND(12))MOD360
  380 FOR i=2 TO 15
  390  x(i-1)=x(i)
  400  y(i-1)=y(i)
  410  z(i-1)=z(i)
  420  r(i-1)=r(i)
  430  g(i-1)=g(i)
  440  b(i-1)=b(i)
  450 NEXT
  460 x(15)=x2
  470 y(15)=y2
  480 z(15)=(1+SINRADa)+2
  490 r(15)=(1+SINRADr)/2
  500 g(15)=(1+SINRADg)/2
  510 b(15)=(1+SINRADb)/2
  520 FOR i=1 TO 15
  530  rr=255*(1-i/15*r(i))<<8
  540  gg=255*(1-i/15*g(i))<<16
  550  bb=255*(1-i/15*b(i))<<24
  560  SYS gcol,bb OR gg OR rr,,,&100,0
  570  CIRCLE FILL x(i),y(i),i*z(i)
  580 NEXT
  590UNTIL0
  600:
  610DEF PROCerror
  620ON ERROR OFF
  630FOR i=15 TO 1 STEP -1
  640 FOR j=i TO 15
  650  rr=255*(1-i/15*r(j))<<8
  660  gg=255*(1-i/15*g(j))<<16
  670  bb=255*(1-i/15*b(j))<<24
  680  SYS gcol,bb OR gg OR rr,,,&100,0
  690  CIRCLE FILL x(j),y(j),i*z(j)
  700 NEXT
  710NEXT
  720END

�    >OozeVGA
� By  Jan Vibe
� For 32-bit machines
(� (c) BAU December 1993
2:
<
� 28:�
F)� x(15),y(15),z(15),r(15),g(15),b(15)
Px()=-100
Z=ș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � gcol
dx1 =�(768)+256
ny1 =�(448)+256
xdx1=�(16)*��
�dy1=�(16)*��
�x2 =�(768)+256
�y2 =�(448)+256
�dx2=�(16)*��
�dy2=�(16)*��
�r  =�(360)
�g  =�(360)
�b  =�(360)
�	a  =0
�� � �error
��
�1 � x1+dx1<256 � x1+dx1>1024 dx1=�(16)*�(-dx1)
�0 � y1+dy1<256 � y1+dy1>704 dy1=�(16)*�(-dy1)
 x1+=dx1
 y1+=dy1
 � x2<x1 � dx2<24  dx2+=1
" � x2>x1 � dx2>-24 dx2-=1
, � y2<y1 � dy2<24  dy2+=1
6 � y2>y1 � dy2>-24 dy2-=1
@ x2+=dx2
J y2+=dy2
T a=(a+10)�360
^ r=(r+�(12))�360
h g=(g+�(12))�360
r b=(b+�(12))�360
| � i=2 � 15
�  x(i-1)=x(i)
�  y(i-1)=y(i)
�  z(i-1)=z(i)
�  r(i-1)=r(i)
�  g(i-1)=g(i)
�  b(i-1)=b(i)
� �
�
 x(15)=x2
�
 y(15)=y2
� z(15)=(1+��a)+2
� r(15)=(1+��r)/2
� g(15)=(1+��g)/2
� b(15)=(1+��b)/2
 � i=1 � 15
  rr=255*(1-i/15*r(i))<<8
  gg=255*(1-i/15*g(i))<<16
&  bb=255*(1-i/15*b(i))<<24
0#  ș gcol,bb � gg � rr,,,&100,0
:  ȏ Ȑ x(i),y(i),i*z(i)
D �
N�0
X:
b� �error
l	� � �
v� i=15 � 1 � -1
� � j=i � 15
�  rr=255*(1-i/15*r(j))<<8
�  gg=255*(1-i/15*g(j))<<16
�  bb=255*(1-i/15*b(j))<<24
�#  ș gcol,bb � gg � rr,,,&100,0
�  ȏ Ȑ x(j),y(j),i*z(j)
� �
��
��
�
00000000  0d 00 0a 11 f4 20 20 20  20 3e 4f 6f 7a 65 56 47  |.....    >OozeVG|
00000010  41 0d 00 14 12 f4 20 42  79 20 20 4a 61 6e 20 56  |A..... By  Jan V|
00000020  69 62 65 0d 00 1e 19 f4  20 46 6f 72 20 33 32 2d  |ibe..... For 32-|
00000030  62 69 74 20 6d 61 63 68  69 6e 65 73 0d 00 28 1b  |bit machines..(.|
00000040  f4 20 28 63 29 20 42 41  55 20 44 65 63 65 6d 62  |. (c) BAU Decemb|
00000050  65 72 20 31 39 39 33 0d  00 32 05 3a 0d 00 3c 0a  |er 1993..2.:..<.|
00000060  eb 20 32 38 3a 87 0d 00  46 29 de 20 78 28 31 35  |. 28:...F). x(15|
00000070  29 2c 79 28 31 35 29 2c  7a 28 31 35 29 2c 72 28  |),y(15),z(15),r(|
00000080  31 35 29 2c 67 28 31 35  29 2c 62 28 31 35 29 0d  |15),g(15),b(15).|
00000090  00 50 0c 78 28 29 3d 2d  31 30 30 0d 00 5a 3d c8  |.P.x()=-100..Z=.|
000000a0  99 20 22 4f 53 5f 53 57  49 4e 75 6d 62 65 72 46  |. "OS_SWINumberF|
000000b0  72 6f 6d 53 74 72 69 6e  67 22 2c 2c 22 43 6f 6c  |romString",,"Col|
000000c0  6f 75 72 54 72 61 6e 73  5f 53 65 74 47 43 4f 4c  |ourTrans_SetGCOL|
000000d0  22 20 b8 20 67 63 6f 6c  0d 00 64 12 78 31 20 3d  |" . gcol..d.x1 =|
000000e0  b3 28 37 36 38 29 2b 32  35 36 0d 00 6e 12 79 31  |.(768)+256..n.y1|
000000f0  20 3d b3 28 34 34 38 29  2b 32 35 36 0d 00 78 10  | =.(448)+256..x.|
00000100  64 78 31 3d b3 28 31 36  29 2a b4 b3 0d 00 82 10  |dx1=.(16)*......|
00000110  64 79 31 3d b3 28 31 36  29 2a b4 b3 0d 00 8c 12  |dy1=.(16)*......|
00000120  78 32 20 3d b3 28 37 36  38 29 2b 32 35 36 0d 00  |x2 =.(768)+256..|
00000130  96 12 79 32 20 3d b3 28  34 34 38 29 2b 32 35 36  |..y2 =.(448)+256|
00000140  0d 00 a0 10 64 78 32 3d  b3 28 31 36 29 2a b4 b3  |....dx2=.(16)*..|
00000150  0d 00 aa 10 64 79 32 3d  b3 28 31 36 29 2a b4 b3  |....dy2=.(16)*..|
00000160  0d 00 b4 0e 72 20 20 3d  b3 28 33 36 30 29 0d 00  |....r  =.(360)..|
00000170  be 0e 67 20 20 3d b3 28  33 36 30 29 0d 00 c8 0e  |..g  =.(360)....|
00000180  62 20 20 3d b3 28 33 36  30 29 0d 00 d2 09 61 20  |b  =.(360)....a |
00000190  20 3d 30 0d 00 dc 0e ee  20 85 20 f2 65 72 72 6f  | =0..... . .erro|
000001a0  72 0d 00 e6 05 f5 0d 00  f0 31 20 e7 20 78 31 2b  |r........1 . x1+|
000001b0  64 78 31 3c 32 35 36 20  84 20 78 31 2b 64 78 31  |dx1<256 . x1+dx1|
000001c0  3e 31 30 32 34 20 64 78  31 3d b3 28 31 36 29 2a  |>1024 dx1=.(16)*|
000001d0  b4 28 2d 64 78 31 29 0d  00 fa 30 20 e7 20 79 31  |.(-dx1)...0 . y1|
000001e0  2b 64 79 31 3c 32 35 36  20 84 20 79 31 2b 64 79  |+dy1<256 . y1+dy|
000001f0  31 3e 37 30 34 20 64 79  31 3d b3 28 31 36 29 2a  |1>704 dy1=.(16)*|
00000200  b4 28 2d 64 79 31 29 0d  01 04 0c 20 78 31 2b 3d  |.(-dy1).... x1+=|
00000210  64 78 31 0d 01 0e 0c 20  79 31 2b 3d 64 79 31 0d  |dx1.... y1+=dy1.|
00000220  01 18 1d 20 e7 20 78 32  3c 78 31 20 80 20 64 78  |... . x2<x1 . dx|
00000230  32 3c 32 34 20 20 64 78  32 2b 3d 31 0d 01 22 1d  |2<24  dx2+=1..".|
00000240  20 e7 20 78 32 3e 78 31  20 80 20 64 78 32 3e 2d  | . x2>x1 . dx2>-|
00000250  32 34 20 64 78 32 2d 3d  31 0d 01 2c 1d 20 e7 20  |24 dx2-=1..,. . |
00000260  79 32 3c 79 31 20 80 20  64 79 32 3c 32 34 20 20  |y2<y1 . dy2<24  |
00000270  64 79 32 2b 3d 31 0d 01  36 1d 20 e7 20 79 32 3e  |dy2+=1..6. . y2>|
00000280  79 31 20 80 20 64 79 32  3e 2d 32 34 20 64 79 32  |y1 . dy2>-24 dy2|
00000290  2d 3d 31 0d 01 40 0c 20  78 32 2b 3d 64 78 32 0d  |-=1..@. x2+=dx2.|
000002a0  01 4a 0c 20 79 32 2b 3d  64 79 32 0d 01 54 11 20  |.J. y2+=dy2..T. |
000002b0  61 3d 28 61 2b 31 30 29  83 33 36 30 0d 01 5e 14  |a=(a+10).360..^.|
000002c0  20 72 3d 28 72 2b b3 28  31 32 29 29 83 33 36 30  | r=(r+.(12)).360|
000002d0  0d 01 68 14 20 67 3d 28  67 2b b3 28 31 32 29 29  |..h. g=(g+.(12))|
000002e0  83 33 36 30 0d 01 72 14  20 62 3d 28 62 2b b3 28  |.360..r. b=(b+.(|
000002f0  31 32 29 29 83 33 36 30  0d 01 7c 0f 20 e3 20 69  |12)).360..|. . i|
00000300  3d 32 20 b8 20 31 35 0d  01 86 11 20 20 78 28 69  |=2 . 15....  x(i|
00000310  2d 31 29 3d 78 28 69 29  0d 01 90 11 20 20 79 28  |-1)=x(i)....  y(|
00000320  69 2d 31 29 3d 79 28 69  29 0d 01 9a 11 20 20 7a  |i-1)=y(i)....  z|
00000330  28 69 2d 31 29 3d 7a 28  69 29 0d 01 a4 11 20 20  |(i-1)=z(i)....  |
00000340  72 28 69 2d 31 29 3d 72  28 69 29 0d 01 ae 11 20  |r(i-1)=r(i).... |
00000350  20 67 28 69 2d 31 29 3d  67 28 69 29 0d 01 b8 11  | g(i-1)=g(i)....|
00000360  20 20 62 28 69 2d 31 29  3d 62 28 69 29 0d 01 c2  |  b(i-1)=b(i)...|
00000370  06 20 ed 0d 01 cc 0d 20  78 28 31 35 29 3d 78 32  |. ..... x(15)=x2|
00000380  0d 01 d6 0d 20 79 28 31  35 29 3d 79 32 0d 01 e0  |.... y(15)=y2...|
00000390  14 20 7a 28 31 35 29 3d  28 31 2b b5 b2 61 29 2b  |. z(15)=(1+..a)+|
000003a0  32 0d 01 ea 14 20 72 28  31 35 29 3d 28 31 2b b5  |2.... r(15)=(1+.|
000003b0  b2 72 29 2f 32 0d 01 f4  14 20 67 28 31 35 29 3d  |.r)/2.... g(15)=|
000003c0  28 31 2b b5 b2 67 29 2f  32 0d 01 fe 14 20 62 28  |(1+..g)/2.... b(|
000003d0  31 35 29 3d 28 31 2b b5  b2 62 29 2f 32 0d 02 08  |15)=(1+..b)/2...|
000003e0  0f 20 e3 20 69 3d 31 20  b8 20 31 35 0d 02 12 1d  |. . i=1 . 15....|
000003f0  20 20 72 72 3d 32 35 35  2a 28 31 2d 69 2f 31 35  |  rr=255*(1-i/15|
00000400  2a 72 28 69 29 29 3c 3c  38 0d 02 1c 1e 20 20 67  |*r(i))<<8....  g|
00000410  67 3d 32 35 35 2a 28 31  2d 69 2f 31 35 2a 67 28  |g=255*(1-i/15*g(|
00000420  69 29 29 3c 3c 31 36 0d  02 26 1e 20 20 62 62 3d  |i))<<16..&.  bb=|
00000430  32 35 35 2a 28 31 2d 69  2f 31 35 2a 62 28 69 29  |255*(1-i/15*b(i)|
00000440  29 3c 3c 32 34 0d 02 30  23 20 20 c8 99 20 67 63  |)<<24..0#  .. gc|
00000450  6f 6c 2c 62 62 20 84 20  67 67 20 84 20 72 72 2c  |ol,bb . gg . rr,|
00000460  2c 2c 26 31 30 30 2c 30  0d 02 3a 1c 20 20 c8 8f  |,,&100,0..:.  ..|
00000470  20 c8 90 20 78 28 69 29  2c 79 28 69 29 2c 69 2a  | .. x(i),y(i),i*|
00000480  7a 28 69 29 0d 02 44 06  20 ed 0d 02 4e 06 fd 30  |z(i)..D. ...N..0|
00000490  0d 02 58 05 3a 0d 02 62  0c dd 20 f2 65 72 72 6f  |..X.:..b.. .erro|
000004a0  72 0d 02 6c 09 ee 20 85  20 87 0d 02 76 13 e3 20  |r..l.. . ...v.. |
000004b0  69 3d 31 35 20 b8 20 31  20 88 20 2d 31 0d 02 80  |i=15 . 1 . -1...|
000004c0  0f 20 e3 20 6a 3d 69 20  b8 20 31 35 0d 02 8a 1d  |. . j=i . 15....|
000004d0  20 20 72 72 3d 32 35 35  2a 28 31 2d 69 2f 31 35  |  rr=255*(1-i/15|
000004e0  2a 72 28 6a 29 29 3c 3c  38 0d 02 94 1e 20 20 67  |*r(j))<<8....  g|
000004f0  67 3d 32 35 35 2a 28 31  2d 69 2f 31 35 2a 67 28  |g=255*(1-i/15*g(|
00000500  6a 29 29 3c 3c 31 36 0d  02 9e 1e 20 20 62 62 3d  |j))<<16....  bb=|
00000510  32 35 35 2a 28 31 2d 69  2f 31 35 2a 62 28 6a 29  |255*(1-i/15*b(j)|
00000520  29 3c 3c 32 34 0d 02 a8  23 20 20 c8 99 20 67 63  |)<<24...#  .. gc|
00000530  6f 6c 2c 62 62 20 84 20  67 67 20 84 20 72 72 2c  |ol,bb . gg . rr,|
00000540  2c 2c 26 31 30 30 2c 30  0d 02 b2 1c 20 20 c8 8f  |,,&100,0....  ..|
00000550  20 c8 90 20 78 28 6a 29  2c 79 28 6a 29 2c 69 2a  | .. x(j),y(j),i*|
00000560  7a 28 6a 29 0d 02 bc 06  20 ed 0d 02 c6 05 ed 0d  |z(j).... .......|
00000570  02 d0 05 e0 0d ff                                 |......|
00000576