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

Vibe/Tartan

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/Tartan
Read OK:
File size: 0430 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM >Tartan
   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
  220
  230R1=(RND(1)-.5)*3:R2=(RND(1)-.5)*3
  240G1=(RND(1)-.5)*3:G2=(RND(1)-.5)*3
  250B1=(RND(1)-.5)*3:B2=(RND(1)-.5)*3
  260FOR Y%=0 TO ys*zs-1 STEP zs
  270 FOR X%=0 TO xs*zs-1 STEP zs
  280  R%=(SINRAD(R1*X%+R2*Y%)+1)*127
  290  G%=(SINRAD(G1*X%+G2*Y%)+1)*127
  300  B%=(SINRAD(B1*X%+B2*Y%)+1)*127
  310 PROCP(X%,Y%,R%,G%,B%)
  320 NEXT
  330NEXT
  340END
  350:
  360DEFPROCP(X%,Y%,R%,G%,B%)
  370LOCAL C%
  380R%=FNA(R%):G%=FNA(G%):B%=FNA(B%)
  390CASE vidc OF
  400 WHEN 1:
  410  C%=(R%<<8)+(G%<<16)+(B%<<24)
  420  SYS gcol,C%,,,&100,0
  430 WHEN 20:
  440  GCOL R%,G%,B%
  450ENDCASE
  460IF POINT(X%,Y%)=0 POINT X%,Y%
  470ENDPROC
  480:
  490DEFFNA(A%)
  500A%=A%+RND(32)-16
  510IF A%>255 A%=255
  520IF A%<0 A%=0
  530=A%


� >Tartan

� " 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=(�(1)-.5)*3:R2=(�(1)-.5)*3
�!G1=(�(1)-.5)*3:G2=(�(1)-.5)*3
�!B1=(�(1)-.5)*3:B2=(�(1)-.5)*3
� Y%=0 � ys*zs-1 � zs
 � X%=0 � xs*zs-1 � zs
   R%=(��(R1*X%+R2*Y%)+1)*127
"   G%=(��(G1*X%+G2*Y%)+1)*127
,   B%=(��(B1*X%+B2*Y%)+1)*127
6 �P(X%,Y%,R%,G%,B%)
@ �
J�
T�
^:
h��P(X%,Y%,R%,G%,B%)
r� C%
|!R%=�A(R%):G%=�A(G%):B%=�A(B%)
�
Ȏ vidc �
�	 � 1:
�"  C%=(R%<<8)+(G%<<16)+(B%<<24)
�  ș gcol,C%,,,&100,0
�
 � 20:
�  � R%,G%,B%
��
�� �X%,Y%)=0 Ȓ X%,Y%
��
�:
�ݤA(A%)
�A%=A%+�(32)-16
�� A%>255 A%=255
� A%<0 A%=0
=A%
�
00000000  0d 00 0a 0d f4 20 3e 54  61 72 74 61 6e 0d 00 14  |..... >Tartan...|
00000010  04 0d 00 1e 19 f1 20 22  20 31 29 20 33 32 30 78  |...... " 1) 320x|
00000020  32 35 36 20 56 69 64 43  31 22 0d 00 28 19 f1 20  |256 VidC1"..(.. |
00000030  22 20 32 29 20 36 34 30  78 34 38 30 20 56 69 64  |" 2) 640x480 Vid|
00000040  43 31 22 0d 00 32 1a f1  20 22 20 33 29 20 33 32  |C1"..2.. " 3) 32|
00000050  30 78 32 35 36 20 56 69  64 43 32 30 22 0d 00 3c  |0x256 VidC20"..<|
00000060  1a f1 20 22 20 34 29 20  36 34 30 78 34 38 30 20  |.. " 4) 640x480 |
00000070  56 69 64 43 32 30 22 0d  00 46 15 f1 27 22 53 65  |VidC20"..F..'"Se|
00000080  6c 65 63 74 20 6d 6f 64  65 3a 22 3b 0d 00 50 05  |lect mode:";..P.|
00000090  f5 0d 00 5a 0c 20 6d 6f  64 65 3d bb be 0d 00 64  |...Z. mode=....d|
000000a0  17 fd 20 6d 6f 64 65 3e  3d 31 20 80 20 6d 6f 64  |.. mode>=1 . mod|
000000b0  65 3c 3d 34 0d 00 6e 04  0d 00 78 0d c8 8e 20 6d  |e<=4..n...x... m|
000000c0  6f 64 65 20 ca 0d 00 82  2b 20 c9 20 31 20 3a 20  |ode ....+ . 1 : |
000000d0  78 73 3d 33 32 30 3a 79  73 3d 32 35 36 3a 7a 73  |xs=320:ys=256:zs|
000000e0  3d 34 3a 76 69 64 63 3d  31 3a eb 20 31 33 3a 87  |=4:vidc=1:. 13:.|
000000f0  0d 00 8c 2b 20 c9 20 32  20 3a 20 78 73 3d 36 34  |...+ . 2 : xs=64|
00000100  30 3a 79 73 3d 34 38 30  3a 7a 73 3d 32 3a 76 69  |0:ys=480:zs=2:vi|
00000110  64 63 3d 31 3a eb 20 32  38 3a 87 0d 00 96 42 20  |dc=1:. 28:....B |
00000120  c9 20 33 20 3a 20 78 73  3d 33 32 30 3a 79 73 3d  |. 3 : xs=320:ys=|
00000130  32 35 36 3a 7a 73 3d 34  3a 76 69 64 63 3d 32 30  |256:zs=4:vidc=20|
00000140  3a eb 20 22 58 33 32 30  20 59 32 35 36 20 43 31  |:. "X320 Y256 C1|
00000150  36 4d 20 45 58 32 20 45  59 32 22 3a 87 0d 00 a0  |6M EX2 EY2":....|
00000160  3a 20 c9 20 34 20 3a 20  78 73 3d 36 34 30 3a 79  |: . 4 : xs=640:y|
00000170  73 3d 34 38 30 3a 7a 73  3d 32 3a 76 69 64 63 3d  |s=480:zs=2:vidc=|
00000180  32 30 3a eb 20 22 58 36  34 30 20 59 34 38 30 20  |20:. "X640 Y480 |
00000190  43 31 36 4d 22 3a 87 0d  00 aa 05 cb 0d 00 b4 04  |C16M":..........|
000001a0  0d 00 be 0f e7 20 76 69  64 63 3d 32 30 20 db 0d  |..... vidc=20 ..|
000001b0  00 c8 04 0d 00 d2 3d c8  99 20 22 4f 53 5f 53 57  |......=.. "OS_SW|
000001c0  49 4e 75 6d 62 65 72 46  72 6f 6d 53 74 72 69 6e  |INumberFromStrin|
000001d0  67 22 2c 2c 22 43 6f 6c  6f 75 72 54 72 61 6e 73  |g",,"ColourTrans|
000001e0  5f 53 65 74 47 43 4f 4c  22 20 b8 20 67 63 6f 6c  |_SetGCOL" . gcol|
000001f0  0d 00 dc 04 0d 00 e6 21  52 31 3d 28 b3 28 31 29  |.......!R1=(.(1)|
00000200  2d 2e 35 29 2a 33 3a 52  32 3d 28 b3 28 31 29 2d  |-.5)*3:R2=(.(1)-|
00000210  2e 35 29 2a 33 0d 00 f0  21 47 31 3d 28 b3 28 31  |.5)*3...!G1=(.(1|
00000220  29 2d 2e 35 29 2a 33 3a  47 32 3d 28 b3 28 31 29  |)-.5)*3:G2=(.(1)|
00000230  2d 2e 35 29 2a 33 0d 00  fa 21 42 31 3d 28 b3 28  |-.5)*3...!B1=(.(|
00000240  31 29 2d 2e 35 29 2a 33  3a 42 32 3d 28 b3 28 31  |1)-.5)*3:B2=(.(1|
00000250  29 2d 2e 35 29 2a 33 0d  01 04 19 e3 20 59 25 3d  |)-.5)*3..... Y%=|
00000260  30 20 b8 20 79 73 2a 7a  73 2d 31 20 88 20 7a 73  |0 . ys*zs-1 . zs|
00000270  0d 01 0e 1a 20 e3 20 58  25 3d 30 20 b8 20 78 73  |.... . X%=0 . xs|
00000280  2a 7a 73 2d 31 20 88 20  7a 73 0d 01 18 20 20 20  |*zs-1 . zs...   |
00000290  52 25 3d 28 b5 b2 28 52  31 2a 58 25 2b 52 32 2a  |R%=(..(R1*X%+R2*|
000002a0  59 25 29 2b 31 29 2a 31  32 37 0d 01 22 20 20 20  |Y%)+1)*127.."   |
000002b0  47 25 3d 28 b5 b2 28 47  31 2a 58 25 2b 47 32 2a  |G%=(..(G1*X%+G2*|
000002c0  59 25 29 2b 31 29 2a 31  32 37 0d 01 2c 20 20 20  |Y%)+1)*127..,   |
000002d0  42 25 3d 28 b5 b2 28 42  31 2a 58 25 2b 42 32 2a  |B%=(..(B1*X%+B2*|
000002e0  59 25 29 2b 31 29 2a 31  32 37 0d 01 36 17 20 f2  |Y%)+1)*127..6. .|
000002f0  50 28 58 25 2c 59 25 2c  52 25 2c 47 25 2c 42 25  |P(X%,Y%,R%,G%,B%|
00000300  29 0d 01 40 06 20 ed 0d  01 4a 05 ed 0d 01 54 05  |)..@. ...J....T.|
00000310  e0 0d 01 5e 05 3a 0d 01  68 17 dd f2 50 28 58 25  |...^.:..h...P(X%|
00000320  2c 59 25 2c 52 25 2c 47  25 2c 42 25 29 0d 01 72  |,Y%,R%,G%,B%)..r|
00000330  08 ea 20 43 25 0d 01 7c  21 52 25 3d a4 41 28 52  |.. C%..|!R%=.A(R|
00000340  25 29 3a 47 25 3d a4 41  28 47 25 29 3a 42 25 3d  |%):G%=.A(G%):B%=|
00000350  a4 41 28 42 25 29 0d 01  86 0d c8 8e 20 76 69 64  |.A(B%)...... vid|
00000360  63 20 ca 0d 01 90 09 20  c9 20 31 3a 0d 01 9a 22  |c ..... . 1:..."|
00000370  20 20 43 25 3d 28 52 25  3c 3c 38 29 2b 28 47 25  |  C%=(R%<<8)+(G%|
00000380  3c 3c 31 36 29 2b 28 42  25 3c 3c 32 34 29 0d 01  |<<16)+(B%<<24)..|
00000390  a4 19 20 20 c8 99 20 67  63 6f 6c 2c 43 25 2c 2c  |..  .. gcol,C%,,|
000003a0  2c 26 31 30 30 2c 30 0d  01 ae 0a 20 c9 20 32 30  |,&100,0.... . 20|
000003b0  3a 0d 01 b8 10 20 20 e6  20 52 25 2c 47 25 2c 42  |:....  . R%,G%,B|
000003c0  25 0d 01 c2 05 cb 0d 01  cc 18 e7 20 b0 58 25 2c  |%.......... .X%,|
000003d0  59 25 29 3d 30 20 c8 92  20 58 25 2c 59 25 0d 01  |Y%)=0 .. X%,Y%..|
000003e0  d6 05 e1 0d 01 e0 05 3a  0d 01 ea 0b dd a4 41 28  |.......:......A(|
000003f0  41 25 29 0d 01 f4 12 41  25 3d 41 25 2b b3 28 33  |A%)....A%=A%+.(3|
00000400  32 29 2d 31 36 0d 01 fe  13 e7 20 41 25 3e 32 35  |2)-16..... A%>25|
00000410  35 20 41 25 3d 32 35 35  0d 02 08 0f e7 20 41 25  |5 A%=255..... A%|
00000420  3c 30 20 41 25 3d 30 0d  02 12 07 3d 41 25 0d ff  |<0 A%=0....=A%..|
00000430