Home » Archimedes archive » Acorn User » AU 1997-08 B.adf » Regulars » starinfo/Tunnel/Adcock/Plug
starinfo/Tunnel/Adcock/Plug
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 1997-08 B.adf » Regulars |
Filename: | starinfo/Tunnel/Adcock/Plug |
Read OK: | ✔ |
File size: | 0386 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10MODE 12:OFF 20ON ERROR PRINT ERL:REPORT:END 30DIM X(50),Y(50) 40NO_OF_LINES=180 50CLOCKWISE=1 60STP=360/NO_OF_LINES 70ORIGIN 640,512 80X(1)=900 90Y(1)=0 100FOR L = 2 TO 50 110 PROCROT(X(L-1),Y(L-1),3.6) 120 X(L)=NX*0.9 130 Y(L)=NY*0.9 140NEXT L 150: 160SHADE=0 170FOR C = 1 TO NO_OF_LINES 180SHADE+=1*CLOCKWISE 190IF SHADE>15 THEN SHADE=1 200IF SHADE<1 THEN SHADE=15 210GCOL SHADE 220FOR L = 2 TO 50 230PROCROT(X(L),Y(L),C*STP) 240X1=NX 250Y1=NY 260PROCROT(X(L),Y(L),C*STP+STP) 270X2=NX 280Y2=NY 290: 300PROCROT(X(L-1),Y(L-1),C*STP) 310X3=NX 320Y3=NY 330PROCROT(X(L-1),Y(L-1),C*STP+STP) 340X4=NX 350Y4=NY 360: 370MOVE X1,Y1 380MOVE X2,Y2 390PLOT &55,X3,Y3 400PLOT &55,X4,Y4 410NEXT L 420NEXT C 430: 440CC=1 450REPEAT 460: 470CS=CC 480 COLOUR 0,0,0,180 490 FOR C = 1 TO 15 500 COLOUR CS,0,C*8,C*5+180 510 CS+=1 520 IF CS>15 THEN CS=1 530 NEXT C 540 CC+=1 550 IF CC>15 THEN CC=1 560WAIT 570: 580UNTIL FALSE 590: 600END 610DEF PROCROT(RX,RY,RD) 620R=RAD(-RD) 630NX=RX*COS(R)-RY*SIN(R) 640NY=RX*SIN(R)+RY*COS(R) 650ENDPROC
� 12:� � � � �:�:� � X(50),Y(50) (NO_OF_LINES=180 2CLOCKWISE=1 <STP=360/NO_OF_LINES Fȑ 640,512 PX(1)=900 Z Y(1)=0 d� L = 2 � 50 n �ROT(X(L-1),Y(L-1),3.6) x X(L)=NX*0.9 � Y(L)=NY*0.9 �� L �: �SHADE=0 �� C = 1 � NO_OF_LINES �SHADE+=1*CLOCKWISE �� SHADE>15 � SHADE=1 �� SHADE<1 � SHADE=15 �� SHADE �� L = 2 � 50 ��ROT(X(L),Y(L),C*STP) � X1=NX � Y1=NY �ROT(X(L),Y(L),C*STP+STP) X2=NX Y2=NY ": ,�ROT(X(L-1),Y(L-1),C*STP) 6 X3=NX @ Y3=NY J!�ROT(X(L-1),Y(L-1),C*STP+STP) T X4=NX ^ Y4=NY h: r� X1,Y1 |� X2,Y2 �� &55,X3,Y3 �� &55,X4,Y4 �� L �� C �: �CC=1 �� �: � CS=CC � � 0,0,0,180 � � C = 1 � 15 � � CS,0,C*8,C*5+180 � CS+=1 � CS>15 � CS=1 � C CC+=1 & � CC>15 � CC=1 0Ȗ :: D� � N: X� b� �ROT(RX,RY,RD) lR=�(-RD) vNX=RX*�(R)-RY*�(R) �NY=RX*�(R)+RY*�(R) �� �
00000000 0d 00 0a 0a eb 20 31 32 3a 87 0d 00 14 0f ee 20 |..... 12:...... | 00000010 85 20 f1 20 9e 3a f6 3a e0 0d 00 1e 11 de 20 58 |. . .:.:...... X| 00000020 28 35 30 29 2c 59 28 35 30 29 0d 00 28 13 4e 4f |(50),Y(50)..(.NO| 00000030 5f 4f 46 5f 4c 49 4e 45 53 3d 31 38 30 0d 00 32 |_OF_LINES=180..2| 00000040 0f 43 4c 4f 43 4b 57 49 53 45 3d 31 0d 00 3c 17 |.CLOCKWISE=1..<.| 00000050 53 54 50 3d 33 36 30 2f 4e 4f 5f 4f 46 5f 4c 49 |STP=360/NO_OF_LI| 00000060 4e 45 53 0d 00 46 0e c8 91 20 36 34 30 2c 35 31 |NES..F... 640,51| 00000070 32 0d 00 50 0c 58 28 31 29 3d 39 30 30 0d 00 5a |2..P.X(1)=900..Z| 00000080 0a 59 28 31 29 3d 30 0d 00 64 10 e3 20 4c 20 3d |.Y(1)=0..d.. L =| 00000090 20 32 20 b8 20 35 30 0d 00 6e 1d 20 20 f2 52 4f | 2 . 50..n. .RO| 000000a0 54 28 58 28 4c 2d 31 29 2c 59 28 4c 2d 31 29 2c |T(X(L-1),Y(L-1),| 000000b0 33 2e 36 29 0d 00 78 11 20 20 58 28 4c 29 3d 4e |3.6)..x. X(L)=N| 000000c0 58 2a 30 2e 39 0d 00 82 11 20 20 59 28 4c 29 3d |X*0.9.... Y(L)=| 000000d0 4e 59 2a 30 2e 39 0d 00 8c 07 ed 20 4c 0d 00 96 |NY*0.9..... L...| 000000e0 05 3a 0d 00 a0 0b 53 48 41 44 45 3d 30 0d 00 aa |.:....SHADE=0...| 000000f0 19 e3 20 43 20 3d 20 31 20 b8 20 4e 4f 5f 4f 46 |.. C = 1 . NO_OF| 00000100 5f 4c 49 4e 45 53 0d 00 b4 16 53 48 41 44 45 2b |_LINES....SHADE+| 00000110 3d 31 2a 43 4c 4f 43 4b 57 49 53 45 0d 00 be 18 |=1*CLOCKWISE....| 00000120 e7 20 53 48 41 44 45 3e 31 35 20 8c 20 53 48 41 |. SHADE>15 . SHA| 00000130 44 45 3d 31 0d 00 c8 18 e7 20 53 48 41 44 45 3c |DE=1..... SHADE<| 00000140 31 20 8c 20 53 48 41 44 45 3d 31 35 0d 00 d2 0b |1 . SHADE=15....| 00000150 e6 20 53 48 41 44 45 0d 00 dc 10 e3 20 4c 20 3d |. SHADE..... L =| 00000160 20 32 20 b8 20 35 30 0d 00 e6 19 f2 52 4f 54 28 | 2 . 50.....ROT(| 00000170 58 28 4c 29 2c 59 28 4c 29 2c 43 2a 53 54 50 29 |X(L),Y(L),C*STP)| 00000180 0d 00 f0 09 58 31 3d 4e 58 0d 00 fa 09 59 31 3d |....X1=NX....Y1=| 00000190 4e 59 0d 01 04 1d f2 52 4f 54 28 58 28 4c 29 2c |NY.....ROT(X(L),| 000001a0 59 28 4c 29 2c 43 2a 53 54 50 2b 53 54 50 29 0d |Y(L),C*STP+STP).| 000001b0 01 0e 09 58 32 3d 4e 58 0d 01 18 09 59 32 3d 4e |...X2=NX....Y2=N| 000001c0 59 0d 01 22 05 3a 0d 01 2c 1d f2 52 4f 54 28 58 |Y..".:..,..ROT(X| 000001d0 28 4c 2d 31 29 2c 59 28 4c 2d 31 29 2c 43 2a 53 |(L-1),Y(L-1),C*S| 000001e0 54 50 29 0d 01 36 09 58 33 3d 4e 58 0d 01 40 09 |TP)..6.X3=NX..@.| 000001f0 59 33 3d 4e 59 0d 01 4a 21 f2 52 4f 54 28 58 28 |Y3=NY..J!.ROT(X(| 00000200 4c 2d 31 29 2c 59 28 4c 2d 31 29 2c 43 2a 53 54 |L-1),Y(L-1),C*ST| 00000210 50 2b 53 54 50 29 0d 01 54 09 58 34 3d 4e 58 0d |P+STP)..T.X4=NX.| 00000220 01 5e 09 59 34 3d 4e 59 0d 01 68 05 3a 0d 01 72 |.^.Y4=NY..h.:..r| 00000230 0b ec 20 58 31 2c 59 31 0d 01 7c 0b ec 20 58 32 |.. X1,Y1..|.. X2| 00000240 2c 59 32 0d 01 86 0f f0 20 26 35 35 2c 58 33 2c |,Y2..... &55,X3,| 00000250 59 33 0d 01 90 0f f0 20 26 35 35 2c 58 34 2c 59 |Y3..... &55,X4,Y| 00000260 34 0d 01 9a 07 ed 20 4c 0d 01 a4 07 ed 20 43 0d |4..... L..... C.| 00000270 01 ae 05 3a 0d 01 b8 08 43 43 3d 31 0d 01 c2 05 |...:....CC=1....| 00000280 f5 0d 01 cc 05 3a 0d 01 d6 09 43 53 3d 43 43 0d |.....:....CS=CC.| 00000290 01 e0 11 20 20 fb 20 30 2c 30 2c 30 2c 31 38 30 |... . 0,0,0,180| 000002a0 0d 01 ea 12 20 20 e3 20 43 20 3d 20 31 20 b8 20 |.... . C = 1 . | 000002b0 31 35 0d 01 f4 1a 20 20 20 20 fb 20 43 53 2c 30 |15.... . CS,0| 000002c0 2c 43 2a 38 2c 43 2a 35 2b 31 38 30 0d 01 fe 0d |,C*8,C*5+180....| 000002d0 20 20 20 20 43 53 2b 3d 31 0d 02 08 16 20 20 20 | CS+=1.... | 000002e0 20 e7 20 43 53 3e 31 35 20 8c 20 43 53 3d 31 0d | . CS>15 . CS=1.| 000002f0 02 12 09 20 20 ed 20 43 0d 02 1c 0b 20 20 43 43 |... . C.... CC| 00000300 2b 3d 31 0d 02 26 14 20 20 e7 20 43 43 3e 31 35 |+=1..&. . CC>15| 00000310 20 8c 20 43 43 3d 31 0d 02 30 06 c8 96 0d 02 3a | . CC=1..0.....:| 00000320 05 3a 0d 02 44 07 fd 20 a3 0d 02 4e 05 3a 0d 02 |.:..D.. ...N.:..| 00000330 58 05 e0 0d 02 62 14 dd 20 f2 52 4f 54 28 52 58 |X....b.. .ROT(RX| 00000340 2c 52 59 2c 52 44 29 0d 02 6c 0c 52 3d b2 28 2d |,RY,RD)..l.R=.(-| 00000350 52 44 29 0d 02 76 16 4e 58 3d 52 58 2a 9b 28 52 |RD)..v.NX=RX*.(R| 00000360 29 2d 52 59 2a b5 28 52 29 0d 02 80 16 4e 59 3d |)-RY*.(R)....NY=| 00000370 52 58 2a b5 28 52 29 2b 52 59 2a 9b 28 52 29 0d |RX*.(R)+RY*.(R).| 00000380 02 8a 05 e1 0d ff |......| 00000386