Home » Archimedes archive » Acorn User » AU 1994-09.adf » !StarInfo_Star » Vibe/Dramatic

Vibe/Dramatic

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 1994-09.adf » !StarInfo_Star
Filename: Vibe/Dramatic
Read OK:
File size: 05D4 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Dramatic
   20
   30PRINT " 1) 320x256 VidC1"
   40PRINT " 2) 640x480 VidC1"
   50PRINT " 3) 320x256 VidC20"
   60PRINT " 4) 640x480 VidC20"
   70PRINT'"Select mode:";
   80REPEAT
   90 mode=VALGET$
  100UNTIL mode>=1 AND mode<=4
  110
  120CASE mode OF
  130 WHEN 1 : xs=320:ys=256:zs=4:vidc=1:MODE 13:OFF
  140 WHEN 2 : xs=640:ys=480:zs=2:vidc=1:MODE 28:OFF
  150 WHEN 3 : xs=320:ys=256:zs=4:vidc=20:MODE "X320 Y256 C16M EX2 EY2":OFF
  160 WHEN 4 : xs=640:ys=480:zs=2:vidc=20:MODE "X640 Y480 C16M":OFF
  170ENDCASE
  180
  190IF vidc=20 CLS
  200
  210SYS "OS_SWINumberFromString",,"ColourTrans_SetGCOL" TO gcol
  220DIM R1%(xs),G1%(xs),B1%(xs)
  230DIM R2%(xs),G2%(xs),B2%(xs)
  240R1%(0)=RND(255):G1%(0)=RND(255):B1%(0)=RND(255)
  250FOR N%=1TOxs
  260 R1%(N%)=R1%(N%-1):R1%(N%)=FNL(R1%(N%))
  270 G1%(N%)=G1%(N%-1):G1%(N%)=FNL(G1%(N%))
  280 B1%(N%)=B1%(N%-1):B1%(N%)=FNL(B1%(N%))
  290NEXT
  300FOR Y%=0 TO ys*zs-1 STEP zs
  310 FOR X%=0 TO xs-1
  320  PROCP(zs*X%,Y%,R1%(X%),G1%(X%),B1%(X%))
  330 NEXT
  340 R2%()=R1%():G2%()=G1%():B2%()=B1%()
  350 R1%(0)=R2%(0):R1%(0)=FNL(R1%(0))
  360 G1%(0)=G2%(0):G1%(0)=FNL(G1%(0))
  370 B1%(0)=B2%(0):B1%(0)=FNL(B1%(0))
  380 FOR N%=1 TO xs-1
  390  R1%(N%)=(R1%(N%-1)+R2%(N%-1)+R2%(N%)+R2%(N%+1))/4
  400  G1%(N%)=(G1%(N%-1)+G2%(N%-1)+G2%(N%)+G2%(N%+1))/4
  410  B1%(N%)=(B1%(N%-1)+B2%(N%-1)+B2%(N%)+B2%(N%+1))/4
  420  R1%(N%)=FNL(R1%(N%)):G1%(N%)=FNL(G1%(N%)):B1%(N%)=FNL(B1%(N%))
  430 NEXT
  440NEXT
  450END
  460
  470DEF FNL(X%)
  480X%=X%+RND(64)-32
  490IFX%>255 X%=255
  500IFX%<=0 X%=0
  510=X%
  520
  530DEFPROCP(X%,Y%,R%,G%,B%)
  540CASE vidc OF
  550 WHEN 1:
  560  C%=(R%<<8)+(G%<<16)+(B%<<24)
  570  SYS gcol,C%,,,&100,0
  580 WHEN 20:
  590  GCOL R%,G%,B%
  600ENDCASE
  610IF POINT(X%,Y%)=0 POINT X%,Y%
  620ENDPROC

� >Dramatic

� " 1) 320x256 VidC1"
(� " 2) 640x480 VidC1"
2� " 3) 320x256 VidC20"
<� " 4) 640x480 VidC20"
F�'"Select mode:";
P�
Z mode=��
d� mode>=1 � mode<=4
n
x
Ȏ mode �
�+ � 1 : xs=320:ys=256:zs=4:vidc=1:� 13:�
�+ � 2 : xs=640:ys=480:zs=2:vidc=1:� 28:�
�B � 3 : xs=320:ys=256:zs=4:vidc=20:� "X320 Y256 C16M EX2 EY2":�
�: � 4 : xs=640:ys=480:zs=2:vidc=20:� "X640 Y480 C16M":�
��
�
�� vidc=20 �
�
�=ș "OS_SWINumberFromString",,"ColourTrans_SetGCOL" � gcol
�� R1%(xs),G1%(xs),B1%(xs)
�� R2%(xs),G2%(xs),B2%(xs)
�-R1%(0)=�(255):G1%(0)=�(255):B1%(0)=�(255)
�
� N%=1�xs
* R1%(N%)=R1%(N%-1):R1%(N%)=�L(R1%(N%))
* G1%(N%)=G1%(N%-1):G1%(N%)=�L(G1%(N%))
* B1%(N%)=B1%(N%-1):B1%(N%)=�L(B1%(N%))
"�
,� Y%=0 � ys*zs-1 � zs
6 � X%=0 � xs-1
@*  �P(zs*X%,Y%,R1%(X%),G1%(X%),B1%(X%))
J �
T( R2%()=R1%():G2%()=G1%():B2%()=B1%()
^$ R1%(0)=R2%(0):R1%(0)=�L(R1%(0))
h$ G1%(0)=G2%(0):G1%(0)=�L(G1%(0))
r$ B1%(0)=B2%(0):B1%(0)=�L(B1%(0))
| � N%=1 � xs-1
�7  R1%(N%)=(R1%(N%-1)+R2%(N%-1)+R2%(N%)+R2%(N%+1))/4
�7  G1%(N%)=(G1%(N%-1)+G2%(N%-1)+G2%(N%)+G2%(N%+1))/4
�7  B1%(N%)=(B1%(N%-1)+B2%(N%-1)+B2%(N%)+B2%(N%+1))/4
�A  R1%(N%)=�L(R1%(N%)):G1%(N%)=�L(G1%(N%)):B1%(N%)=�L(B1%(N%))
� �
��
��
�
�� �L(X%)
�X%=X%+�(64)-32
��X%>255 X%=255
��X%<=0 X%=0
�=X%

��P(X%,Y%,R%,G%,B%)

Ȏ vidc �
&	 � 1:
0"  C%=(R%<<8)+(G%<<16)+(B%<<24)
:  ș gcol,C%,,,&100,0
D
 � 20:
N  � R%,G%,B%
X�
b� �X%,Y%)=0 Ȓ X%,Y%
l�
�
00000000  0d 00 0a 0f f4 20 3e 44  72 61 6d 61 74 69 63 0d  |..... >Dramatic.|
00000010  00 14 04 0d 00 1e 19 f1  20 22 20 31 29 20 33 32  |........ " 1) 32|
00000020  30 78 32 35 36 20 56 69  64 43 31 22 0d 00 28 19  |0x256 VidC1"..(.|
00000030  f1 20 22 20 32 29 20 36  34 30 78 34 38 30 20 56  |. " 2) 640x480 V|
00000040  69 64 43 31 22 0d 00 32  1a f1 20 22 20 33 29 20  |idC1"..2.. " 3) |
00000050  33 32 30 78 32 35 36 20  56 69 64 43 32 30 22 0d  |320x256 VidC20".|
00000060  00 3c 1a f1 20 22 20 34  29 20 36 34 30 78 34 38  |.<.. " 4) 640x48|
00000070  30 20 56 69 64 43 32 30  22 0d 00 46 15 f1 27 22  |0 VidC20"..F..'"|
00000080  53 65 6c 65 63 74 20 6d  6f 64 65 3a 22 3b 0d 00  |Select mode:";..|
00000090  50 05 f5 0d 00 5a 0c 20  6d 6f 64 65 3d bb be 0d  |P....Z. mode=...|
000000a0  00 64 17 fd 20 6d 6f 64  65 3e 3d 31 20 80 20 6d  |.d.. mode>=1 . m|
000000b0  6f 64 65 3c 3d 34 0d 00  6e 04 0d 00 78 0d c8 8e  |ode<=4..n...x...|
000000c0  20 6d 6f 64 65 20 ca 0d  00 82 2b 20 c9 20 31 20  | mode ....+ . 1 |
000000d0  3a 20 78 73 3d 33 32 30  3a 79 73 3d 32 35 36 3a  |: xs=320:ys=256:|
000000e0  7a 73 3d 34 3a 76 69 64  63 3d 31 3a eb 20 31 33  |zs=4:vidc=1:. 13|
000000f0  3a 87 0d 00 8c 2b 20 c9  20 32 20 3a 20 78 73 3d  |:....+ . 2 : xs=|
00000100  36 34 30 3a 79 73 3d 34  38 30 3a 7a 73 3d 32 3a  |640:ys=480:zs=2:|
00000110  76 69 64 63 3d 31 3a eb  20 32 38 3a 87 0d 00 96  |vidc=1:. 28:....|
00000120  42 20 c9 20 33 20 3a 20  78 73 3d 33 32 30 3a 79  |B . 3 : xs=320:y|
00000130  73 3d 32 35 36 3a 7a 73  3d 34 3a 76 69 64 63 3d  |s=256:zs=4:vidc=|
00000140  32 30 3a eb 20 22 58 33  32 30 20 59 32 35 36 20  |20:. "X320 Y256 |
00000150  43 31 36 4d 20 45 58 32  20 45 59 32 22 3a 87 0d  |C16M EX2 EY2":..|
00000160  00 a0 3a 20 c9 20 34 20  3a 20 78 73 3d 36 34 30  |..: . 4 : xs=640|
00000170  3a 79 73 3d 34 38 30 3a  7a 73 3d 32 3a 76 69 64  |:ys=480:zs=2:vid|
00000180  63 3d 32 30 3a eb 20 22  58 36 34 30 20 59 34 38  |c=20:. "X640 Y48|
00000190  30 20 43 31 36 4d 22 3a  87 0d 00 aa 05 cb 0d 00  |0 C16M":........|
000001a0  b4 04 0d 00 be 0f e7 20  76 69 64 63 3d 32 30 20  |....... vidc=20 |
000001b0  db 0d 00 c8 04 0d 00 d2  3d c8 99 20 22 4f 53 5f  |........=.. "OS_|
000001c0  53 57 49 4e 75 6d 62 65  72 46 72 6f 6d 53 74 72  |SWINumberFromStr|
000001d0  69 6e 67 22 2c 2c 22 43  6f 6c 6f 75 72 54 72 61  |ing",,"ColourTra|
000001e0  6e 73 5f 53 65 74 47 43  4f 4c 22 20 b8 20 67 63  |ns_SetGCOL" . gc|
000001f0  6f 6c 0d 00 dc 1d de 20  52 31 25 28 78 73 29 2c  |ol..... R1%(xs),|
00000200  47 31 25 28 78 73 29 2c  42 31 25 28 78 73 29 0d  |G1%(xs),B1%(xs).|
00000210  00 e6 1d de 20 52 32 25  28 78 73 29 2c 47 32 25  |.... R2%(xs),G2%|
00000220  28 78 73 29 2c 42 32 25  28 78 73 29 0d 00 f0 2d  |(xs),B2%(xs)...-|
00000230  52 31 25 28 30 29 3d b3  28 32 35 35 29 3a 47 31  |R1%(0)=.(255):G1|
00000240  25 28 30 29 3d b3 28 32  35 35 29 3a 42 31 25 28  |%(0)=.(255):B1%(|
00000250  30 29 3d b3 28 32 35 35  29 0d 00 fa 0d e3 20 4e  |0)=.(255)..... N|
00000260  25 3d 31 b8 78 73 0d 01  04 2a 20 52 31 25 28 4e  |%=1.xs...* R1%(N|
00000270  25 29 3d 52 31 25 28 4e  25 2d 31 29 3a 52 31 25  |%)=R1%(N%-1):R1%|
00000280  28 4e 25 29 3d a4 4c 28  52 31 25 28 4e 25 29 29  |(N%)=.L(R1%(N%))|
00000290  0d 01 0e 2a 20 47 31 25  28 4e 25 29 3d 47 31 25  |...* G1%(N%)=G1%|
000002a0  28 4e 25 2d 31 29 3a 47  31 25 28 4e 25 29 3d a4  |(N%-1):G1%(N%)=.|
000002b0  4c 28 47 31 25 28 4e 25  29 29 0d 01 18 2a 20 42  |L(G1%(N%))...* B|
000002c0  31 25 28 4e 25 29 3d 42  31 25 28 4e 25 2d 31 29  |1%(N%)=B1%(N%-1)|
000002d0  3a 42 31 25 28 4e 25 29  3d a4 4c 28 42 31 25 28  |:B1%(N%)=.L(B1%(|
000002e0  4e 25 29 29 0d 01 22 05  ed 0d 01 2c 19 e3 20 59  |N%)).."....,.. Y|
000002f0  25 3d 30 20 b8 20 79 73  2a 7a 73 2d 31 20 88 20  |%=0 . ys*zs-1 . |
00000300  7a 73 0d 01 36 12 20 e3  20 58 25 3d 30 20 b8 20  |zs..6. . X%=0 . |
00000310  78 73 2d 31 0d 01 40 2a  20 20 f2 50 28 7a 73 2a  |xs-1..@*  .P(zs*|
00000320  58 25 2c 59 25 2c 52 31  25 28 58 25 29 2c 47 31  |X%,Y%,R1%(X%),G1|
00000330  25 28 58 25 29 2c 42 31  25 28 58 25 29 29 0d 01  |%(X%),B1%(X%))..|
00000340  4a 06 20 ed 0d 01 54 28  20 52 32 25 28 29 3d 52  |J. ...T( R2%()=R|
00000350  31 25 28 29 3a 47 32 25  28 29 3d 47 31 25 28 29  |1%():G2%()=G1%()|
00000360  3a 42 32 25 28 29 3d 42  31 25 28 29 0d 01 5e 24  |:B2%()=B1%()..^$|
00000370  20 52 31 25 28 30 29 3d  52 32 25 28 30 29 3a 52  | R1%(0)=R2%(0):R|
00000380  31 25 28 30 29 3d a4 4c  28 52 31 25 28 30 29 29  |1%(0)=.L(R1%(0))|
00000390  0d 01 68 24 20 47 31 25  28 30 29 3d 47 32 25 28  |..h$ G1%(0)=G2%(|
000003a0  30 29 3a 47 31 25 28 30  29 3d a4 4c 28 47 31 25  |0):G1%(0)=.L(G1%|
000003b0  28 30 29 29 0d 01 72 24  20 42 31 25 28 30 29 3d  |(0))..r$ B1%(0)=|
000003c0  42 32 25 28 30 29 3a 42  31 25 28 30 29 3d a4 4c  |B2%(0):B1%(0)=.L|
000003d0  28 42 31 25 28 30 29 29  0d 01 7c 12 20 e3 20 4e  |(B1%(0))..|. . N|
000003e0  25 3d 31 20 b8 20 78 73  2d 31 0d 01 86 37 20 20  |%=1 . xs-1...7  |
000003f0  52 31 25 28 4e 25 29 3d  28 52 31 25 28 4e 25 2d  |R1%(N%)=(R1%(N%-|
00000400  31 29 2b 52 32 25 28 4e  25 2d 31 29 2b 52 32 25  |1)+R2%(N%-1)+R2%|
00000410  28 4e 25 29 2b 52 32 25  28 4e 25 2b 31 29 29 2f  |(N%)+R2%(N%+1))/|
00000420  34 0d 01 90 37 20 20 47  31 25 28 4e 25 29 3d 28  |4...7  G1%(N%)=(|
00000430  47 31 25 28 4e 25 2d 31  29 2b 47 32 25 28 4e 25  |G1%(N%-1)+G2%(N%|
00000440  2d 31 29 2b 47 32 25 28  4e 25 29 2b 47 32 25 28  |-1)+G2%(N%)+G2%(|
00000450  4e 25 2b 31 29 29 2f 34  0d 01 9a 37 20 20 42 31  |N%+1))/4...7  B1|
00000460  25 28 4e 25 29 3d 28 42  31 25 28 4e 25 2d 31 29  |%(N%)=(B1%(N%-1)|
00000470  2b 42 32 25 28 4e 25 2d  31 29 2b 42 32 25 28 4e  |+B2%(N%-1)+B2%(N|
00000480  25 29 2b 42 32 25 28 4e  25 2b 31 29 29 2f 34 0d  |%)+B2%(N%+1))/4.|
00000490  01 a4 41 20 20 52 31 25  28 4e 25 29 3d a4 4c 28  |..A  R1%(N%)=.L(|
000004a0  52 31 25 28 4e 25 29 29  3a 47 31 25 28 4e 25 29  |R1%(N%)):G1%(N%)|
000004b0  3d a4 4c 28 47 31 25 28  4e 25 29 29 3a 42 31 25  |=.L(G1%(N%)):B1%|
000004c0  28 4e 25 29 3d a4 4c 28  42 31 25 28 4e 25 29 29  |(N%)=.L(B1%(N%))|
000004d0  0d 01 ae 06 20 ed 0d 01  b8 05 ed 0d 01 c2 05 e0  |.... ...........|
000004e0  0d 01 cc 04 0d 01 d6 0c  dd 20 a4 4c 28 58 25 29  |......... .L(X%)|
000004f0  0d 01 e0 12 58 25 3d 58  25 2b b3 28 36 34 29 2d  |....X%=X%+.(64)-|
00000500  33 32 0d 01 ea 12 e7 58  25 3e 32 35 35 20 58 25  |32.....X%>255 X%|
00000510  3d 32 35 35 0d 01 f4 0f  e7 58 25 3c 3d 30 20 58  |=255.....X%<=0 X|
00000520  25 3d 30 0d 01 fe 07 3d  58 25 0d 02 08 04 0d 02  |%=0....=X%......|
00000530  12 17 dd f2 50 28 58 25  2c 59 25 2c 52 25 2c 47  |....P(X%,Y%,R%,G|
00000540  25 2c 42 25 29 0d 02 1c  0d c8 8e 20 76 69 64 63  |%,B%)...... vidc|
00000550  20 ca 0d 02 26 09 20 c9  20 31 3a 0d 02 30 22 20  | ...&. . 1:..0" |
00000560  20 43 25 3d 28 52 25 3c  3c 38 29 2b 28 47 25 3c  | C%=(R%<<8)+(G%<|
00000570  3c 31 36 29 2b 28 42 25  3c 3c 32 34 29 0d 02 3a  |<16)+(B%<<24)..:|
00000580  19 20 20 c8 99 20 67 63  6f 6c 2c 43 25 2c 2c 2c  |.  .. gcol,C%,,,|
00000590  26 31 30 30 2c 30 0d 02  44 0a 20 c9 20 32 30 3a  |&100,0..D. . 20:|
000005a0  0d 02 4e 10 20 20 e6 20  52 25 2c 47 25 2c 42 25  |..N.  . R%,G%,B%|
000005b0  0d 02 58 05 cb 0d 02 62  18 e7 20 b0 58 25 2c 59  |..X....b.. .X%,Y|
000005c0  25 29 3d 30 20 c8 92 20  58 25 2c 59 25 0d 02 6c  |%)=0 .. X%,Y%..l|
000005d0  05 e1 0d ff                                       |....|
000005d4