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) Px()=-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