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