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