Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199801_2.adf » Regulars2 » StarInfo/Fletcher/Tanner/Vibe/DRAWWOOD
StarInfo/Fletcher/Tanner/Vibe/DRAWWOOD
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_199801_2.adf » Regulars2 |
Filename: | StarInfo/Fletcher/Tanner/Vibe/DRAWWOOD |
Read OK: | ✔ |
File size: | 0482 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > DRAWWOOD 20 30MODE21:OFF 40REPEAT 50PROCL(RND(1280),RND(1024),RND(1280),RND(1024),RND(64)+32) 60UNTIL0 70 80DEFPROCL(X1,Y1,X2,Y2,W) 90LOCAL L,T1,T2,XA,YA,XB,YB,XC,YC,XD,YD 100L=SQR((X1-X2)^2+(Y1-Y2)^2):IF X1>X2 L=-L 110T1=ASN((Y1-Y2)/L):T2=T1+PI:W=W/2 120T3=T2+PI:T4=T3+PI 130XA=X1+W*SINT3:YA=Y1+W*COST3:XB=X1+W*SINT4:YB=Y1+W*COST4 140XC=X2+W*SINT4:YC=Y2+W*COST4:XD=X2+W*SINT3:YD=Y2+W*COST3 150T1=RND(255):T2=255-T1 160PROCRGB((254*T1+112*T2)/255,(126*T1+22*T2)/255,0) 170MOVEXA,YA:MOVEXB,YB:PLOT85,XD,YD:PLOT85,XC,YC 180W=INT(SQR((XA-XB)^2+(YA-YB)^2)/2):IF W=0 W=1 190FOR L=0 TO W 200X1=(XA*L+XB*(W-L))/W:Y1=(YA*L+YB*(W-L))/W 210X2=(XD*L+XC*(W-L))/W:Y2=(YD*L+YC*(W-L))/W 220PROCBARK(X1,Y1,X2,Y2) 230NEXT 240ENDPROC 250 260DEFPROCBARK(X1,Y1,X3,Y3) 270LOCAL X2,Y2,R,T1,T2 280R=RND(1):X2=R*X1+(1-R)*X3:Y2=R*Y1+(1-R)*Y3 290POINT X2,Y2 300IF (X2-X1)^2+(Y2-Y1)^2>2000THEN 310PROCBARK(X1,Y1,X2,Y2) 320ELSE 330T1=RND(255):T2=255-T1 340PROCRGB((254*T1+112*T2)/255,(126*T1+22*T2)/255,0) 350LINE X1,Y1,X2,Y2 360ENDIF 370IF (X3-X2)^2+(Y3-Y2)^2>2000THEN 380PROCBARK(X2,Y2,X3,Y3) 390ELSE 400T1=RND(255):T2=255-T1 410PROCRGB((254*T1+112*T2)/255,(126*T1+22*T2)/255,0) 420LINE X2,Y2,X3,Y3 430ENDIF 440ENDPROC 450 460DEFPROCRGB(R%,G%,B%) 470LOCAL C%:C%=(R%<<8)+(G%<<16)+(B%<<24) 480SYS "ColourTrans_SetGCOL",C%,,,&100,0 490ENDPROC
� > DRAWWOOD �21:� (� 20�L(�(1280),�(1024),�(1280),�(1024),�(64)+32) <�0 F P��L(X1,Y1,X2,Y2,W) Z%� L,T1,T2,XA,YA,XB,YB,XC,YC,XD,YD d)L=�((X1-X2)^2+(Y1-Y2)^2):� X1>X2 L=-L n!T1=�((Y1-Y2)/L):T2=T1+�:W=W/2 xT3=T2+�:T4=T3+� �3XA=X1+W*�T3:YA=Y1+W*�T3:XB=X1+W*�T4:YB=Y1+W*�T4 �3XC=X2+W*�T4:YC=Y2+W*�T4:XD=X2+W*�T3:YD=Y2+W*�T3 �T1=�(255):T2=255-T1 �2�RGB((254*T1+112*T2)/255,(126*T1+22*T2)/255,0) �%�XA,YA:�XB,YB:�85,XD,YD:�85,XC,YC �+W=�(�((XA-XB)^2+(YA-YB)^2)/2):� W=0 W=1 � � L=0 � W �-X1=(XA*L+XB*(W-L))/W:Y1=(YA*L+YB*(W-L))/W �-X2=(XD*L+XC*(W-L))/W:Y2=(YD*L+YC*(W-L))/W ��BARK(X1,Y1,X2,Y2) �� �� � ��BARK(X1,Y1,X3,Y3) � X2,Y2,R,T1,T2 ,R=�(1):X2=R*X1+(1-R)*X3:Y2=R*Y1+(1-R)*Y3 "Ȓ X2,Y2 ,� (X2-X1)^2+(Y2-Y1)^2>2000� 6�BARK(X1,Y1,X2,Y2) @� JT1=�(255):T2=255-T1 T2�RGB((254*T1+112*T2)/255,(126*T1+22*T2)/255,0) ^� X1,Y1,X2,Y2 h� r� (X3-X2)^2+(Y3-Y2)^2>2000� |�BARK(X2,Y2,X3,Y3) �� �T1=�(255):T2=255-T1 �2�RGB((254*T1+112*T2)/255,(126*T1+22*T2)/255,0) �� X2,Y2,X3,Y3 �� �� � ���RGB(R%,G%,B%) �%� C%:C%=(R%<<8)+(G%<<16)+(B%<<24) �(ș "ColourTrans_SetGCOL",C%,,,&100,0 �� �
00000000 0d 00 0a 10 f4 20 3e 20 44 52 41 57 57 4f 4f 44 |..... > DRAWWOOD| 00000010 0d 00 14 04 0d 00 1e 09 eb 32 31 3a 87 0d 00 28 |.........21:...(| 00000020 05 f5 0d 00 32 30 f2 4c 28 b3 28 31 32 38 30 29 |....20.L(.(1280)| 00000030 2c b3 28 31 30 32 34 29 2c b3 28 31 32 38 30 29 |,.(1024),.(1280)| 00000040 2c b3 28 31 30 32 34 29 2c b3 28 36 34 29 2b 33 |,.(1024),.(64)+3| 00000050 32 29 0d 00 3c 06 fd 30 0d 00 46 04 0d 00 50 16 |2)..<..0..F...P.| 00000060 dd f2 4c 28 58 31 2c 59 31 2c 58 32 2c 59 32 2c |..L(X1,Y1,X2,Y2,| 00000070 57 29 0d 00 5a 25 ea 20 4c 2c 54 31 2c 54 32 2c |W)..Z%. L,T1,T2,| 00000080 58 41 2c 59 41 2c 58 42 2c 59 42 2c 58 43 2c 59 |XA,YA,XB,YB,XC,Y| 00000090 43 2c 58 44 2c 59 44 0d 00 64 29 4c 3d b6 28 28 |C,XD,YD..d)L=.((| 000000a0 58 31 2d 58 32 29 5e 32 2b 28 59 31 2d 59 32 29 |X1-X2)^2+(Y1-Y2)| 000000b0 5e 32 29 3a e7 20 58 31 3e 58 32 20 4c 3d 2d 4c |^2):. X1>X2 L=-L| 000000c0 0d 00 6e 21 54 31 3d 98 28 28 59 31 2d 59 32 29 |..n!T1=.((Y1-Y2)| 000000d0 2f 4c 29 3a 54 32 3d 54 31 2b af 3a 57 3d 57 2f |/L):T2=T1+.:W=W/| 000000e0 32 0d 00 78 13 54 33 3d 54 32 2b af 3a 54 34 3d |2..x.T3=T2+.:T4=| 000000f0 54 33 2b af 0d 00 82 33 58 41 3d 58 31 2b 57 2a |T3+....3XA=X1+W*| 00000100 b5 54 33 3a 59 41 3d 59 31 2b 57 2a 9b 54 33 3a |.T3:YA=Y1+W*.T3:| 00000110 58 42 3d 58 31 2b 57 2a b5 54 34 3a 59 42 3d 59 |XB=X1+W*.T4:YB=Y| 00000120 31 2b 57 2a 9b 54 34 0d 00 8c 33 58 43 3d 58 32 |1+W*.T4...3XC=X2| 00000130 2b 57 2a b5 54 34 3a 59 43 3d 59 32 2b 57 2a 9b |+W*.T4:YC=Y2+W*.| 00000140 54 34 3a 58 44 3d 58 32 2b 57 2a b5 54 33 3a 59 |T4:XD=X2+W*.T3:Y| 00000150 44 3d 59 32 2b 57 2a 9b 54 33 0d 00 96 17 54 31 |D=Y2+W*.T3....T1| 00000160 3d b3 28 32 35 35 29 3a 54 32 3d 32 35 35 2d 54 |=.(255):T2=255-T| 00000170 31 0d 00 a0 32 f2 52 47 42 28 28 32 35 34 2a 54 |1...2.RGB((254*T| 00000180 31 2b 31 31 32 2a 54 32 29 2f 32 35 35 2c 28 31 |1+112*T2)/255,(1| 00000190 32 36 2a 54 31 2b 32 32 2a 54 32 29 2f 32 35 35 |26*T1+22*T2)/255| 000001a0 2c 30 29 0d 00 aa 25 ec 58 41 2c 59 41 3a ec 58 |,0)...%.XA,YA:.X| 000001b0 42 2c 59 42 3a f0 38 35 2c 58 44 2c 59 44 3a f0 |B,YB:.85,XD,YD:.| 000001c0 38 35 2c 58 43 2c 59 43 0d 00 b4 2b 57 3d a8 28 |85,XC,YC...+W=.(| 000001d0 b6 28 28 58 41 2d 58 42 29 5e 32 2b 28 59 41 2d |.((XA-XB)^2+(YA-| 000001e0 59 42 29 5e 32 29 2f 32 29 3a e7 20 57 3d 30 20 |YB)^2)/2):. W=0 | 000001f0 57 3d 31 0d 00 be 0d e3 20 4c 3d 30 20 b8 20 57 |W=1..... L=0 . W| 00000200 0d 00 c8 2d 58 31 3d 28 58 41 2a 4c 2b 58 42 2a |...-X1=(XA*L+XB*| 00000210 28 57 2d 4c 29 29 2f 57 3a 59 31 3d 28 59 41 2a |(W-L))/W:Y1=(YA*| 00000220 4c 2b 59 42 2a 28 57 2d 4c 29 29 2f 57 0d 00 d2 |L+YB*(W-L))/W...| 00000230 2d 58 32 3d 28 58 44 2a 4c 2b 58 43 2a 28 57 2d |-X2=(XD*L+XC*(W-| 00000240 4c 29 29 2f 57 3a 59 32 3d 28 59 44 2a 4c 2b 59 |L))/W:Y2=(YD*L+Y| 00000250 43 2a 28 57 2d 4c 29 29 2f 57 0d 00 dc 16 f2 42 |C*(W-L))/W.....B| 00000260 41 52 4b 28 58 31 2c 59 31 2c 58 32 2c 59 32 29 |ARK(X1,Y1,X2,Y2)| 00000270 0d 00 e6 05 ed 0d 00 f0 05 e1 0d 00 fa 04 0d 01 |................| 00000280 04 17 dd f2 42 41 52 4b 28 58 31 2c 59 31 2c 58 |....BARK(X1,Y1,X| 00000290 33 2c 59 33 29 0d 01 0e 13 ea 20 58 32 2c 59 32 |3,Y3)..... X2,Y2| 000002a0 2c 52 2c 54 31 2c 54 32 0d 01 18 2c 52 3d b3 28 |,R,T1,T2...,R=.(| 000002b0 31 29 3a 58 32 3d 52 2a 58 31 2b 28 31 2d 52 29 |1):X2=R*X1+(1-R)| 000002c0 2a 58 33 3a 59 32 3d 52 2a 59 31 2b 28 31 2d 52 |*X3:Y2=R*Y1+(1-R| 000002d0 29 2a 59 33 0d 01 22 0c c8 92 20 58 32 2c 59 32 |)*Y3.."... X2,Y2| 000002e0 0d 01 2c 1f e7 20 28 58 32 2d 58 31 29 5e 32 2b |..,.. (X2-X1)^2+| 000002f0 28 59 32 2d 59 31 29 5e 32 3e 32 30 30 30 8c 0d |(Y2-Y1)^2>2000..| 00000300 01 36 16 f2 42 41 52 4b 28 58 31 2c 59 31 2c 58 |.6..BARK(X1,Y1,X| 00000310 32 2c 59 32 29 0d 01 40 05 cc 0d 01 4a 17 54 31 |2,Y2)..@....J.T1| 00000320 3d b3 28 32 35 35 29 3a 54 32 3d 32 35 35 2d 54 |=.(255):T2=255-T| 00000330 31 0d 01 54 32 f2 52 47 42 28 28 32 35 34 2a 54 |1..T2.RGB((254*T| 00000340 31 2b 31 31 32 2a 54 32 29 2f 32 35 35 2c 28 31 |1+112*T2)/255,(1| 00000350 32 36 2a 54 31 2b 32 32 2a 54 32 29 2f 32 35 35 |26*T1+22*T2)/255| 00000360 2c 30 29 0d 01 5e 11 86 20 58 31 2c 59 31 2c 58 |,0)..^.. X1,Y1,X| 00000370 32 2c 59 32 0d 01 68 05 cd 0d 01 72 1f e7 20 28 |2,Y2..h....r.. (| 00000380 58 33 2d 58 32 29 5e 32 2b 28 59 33 2d 59 32 29 |X3-X2)^2+(Y3-Y2)| 00000390 5e 32 3e 32 30 30 30 8c 0d 01 7c 16 f2 42 41 52 |^2>2000...|..BAR| 000003a0 4b 28 58 32 2c 59 32 2c 58 33 2c 59 33 29 0d 01 |K(X2,Y2,X3,Y3)..| 000003b0 86 05 cc 0d 01 90 17 54 31 3d b3 28 32 35 35 29 |.......T1=.(255)| 000003c0 3a 54 32 3d 32 35 35 2d 54 31 0d 01 9a 32 f2 52 |:T2=255-T1...2.R| 000003d0 47 42 28 28 32 35 34 2a 54 31 2b 31 31 32 2a 54 |GB((254*T1+112*T| 000003e0 32 29 2f 32 35 35 2c 28 31 32 36 2a 54 31 2b 32 |2)/255,(126*T1+2| 000003f0 32 2a 54 32 29 2f 32 35 35 2c 30 29 0d 01 a4 11 |2*T2)/255,0)....| 00000400 86 20 58 32 2c 59 32 2c 58 33 2c 59 33 0d 01 ae |. X2,Y2,X3,Y3...| 00000410 05 cd 0d 01 b8 05 e1 0d 01 c2 04 0d 01 cc 13 dd |................| 00000420 f2 52 47 42 28 52 25 2c 47 25 2c 42 25 29 0d 01 |.RGB(R%,G%,B%)..| 00000430 d6 25 ea 20 43 25 3a 43 25 3d 28 52 25 3c 3c 38 |.%. C%:C%=(R%<<8| 00000440 29 2b 28 47 25 3c 3c 31 36 29 2b 28 42 25 3c 3c |)+(G%<<16)+(B%<<| 00000450 32 34 29 0d 01 e0 28 c8 99 20 22 43 6f 6c 6f 75 |24)...(.. "Colou| 00000460 72 54 72 61 6e 73 5f 53 65 74 47 43 4f 4c 22 2c |rTrans_SetGCOL",| 00000470 43 25 2c 2c 2c 26 31 30 30 2c 30 0d 01 ea 05 e1 |C%,,,&100,0.....| 00000480 0d ff |..| 00000482