Home » Personal collection » Commodore disks » disk65a_programs_1.d64 » spider
spider
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 » Personal collection » Commodore disks » disk65a_programs_1.d64 |
Filename: | spider |
Read OK: | ✔ |
File size: | 1594 bytes |
Load address: | 0801 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Commodore disks » disk65a_programs_1.d64 » spider
- Personal collection » Commodore disks » disk50a2_progs1.d64 » spider
File contents
100 REM SPIDER 110 TRUE=-1:FALSE=0 120 GOSUB 1010 130 X=12:Y=10:STRING$=" ♥PIDER":GOSUB4510 140 GOSUB 2010 150 STRING$=" ":GOSUB4510 160 : 180 X1=159:Y1=0:WEB=TRUE 190 SNUM=0:X2=159:Y2=89:GOSUB3010:T=TIME 200 IF TIME-T<180 THEN 200 210 Y2=199:GOSUB 3010 220 WEB=FALSE:SNUM=3:Y1=220:Y2=199:GOSUB 3010 230 SNUM=6:X1=154:Y1=190:X2=299:Y2=190:GOSUB3010 240 SNUM=3:X1=310:Y1=199:X2=310:Y2=184:GOSUB3010 250 WEB=TRUE:SNUM=4 260 X1=319:Y1=179:X2=0:Y2=19:GOSUB3010 270 WEB=FALSE:SNUM=1 280 X1=-16:Y1=11:X2=0:Y2=19:GOSUB3010 290 SNUM=0:X1=10:X2=10:Y2=169:GOSUB3010 300 WEB=TRUE:SNUM=2 310 X1=0:Y1=179:X2=319:Y2=19:GOSUB3010 320 WEB=FALSE:SNUM=5 330 X1=335:Y1=11:X2=163:Y2=97:GOSUB3010 340 X1=159:Y1=99:X2=159:Y2=99 350 : 370 FORCIRC=1TO10 380 SNUM=7:GOSUB3010 390 SNUM=4:X2=X1-10:Y2=Y1-5:GOSUB3010 400 SNUM=7:GOSUB3010 410 WEB=TRUE 420 FOR SNUM=0TO5 430 X2=X1+CIRC*XDRN(SNUM):Y2=Y1+CIRC*YDRN(SNUM):GOSUB3010 440 NEXT:WEB=FALSE 450 NEXT 460 SNUM=0:GOSUB3010 470 SNUM=1:X2=151:Y2=95:GOSUB3010 480 SNUM=0:X1=159:Y1=93:X2=159:Y2=93:GOSUB3010 500 X=0:Y=0:STRING$="ðŸ¾RESS ANY KEY TO STOP . . .":GOSUB4510 510 GOSUB1510 520 GOSUB5010 530 END 1010 BASE=24576: 1020 POKE 53280,0 1040 POKE53272,24:POKE53265,PEEK(53265) OR 32 1060 POKE 56578,PEEK(56578) OR 3:POKE 56576,(PEEK(56576) AND 252) OR 2 1080 FORI=0TO25:READX:POKE49152+I,X:NEXT 1090 DATA 169,0,162,0,160,0,145,2,200,208,6,230,3,232 1100 DATA 76,6,192,192,64,208,241,224,31,208,237,96 1120 POKE2,0:POKE3,96:SYS49152 1140 POKE49153,21:POKE49170,232:POKE49174,3 1150 POKE3,68:SYS49152 1180 FORI=0TO61:READN:POKE50000+I,N:NEXT 1190 DATA 160,0,173,182,195,208,7,177,253,13,183,195,145,253 1200 DATA 165,2,145,251,230,2,230,253,208,2,230,254,165,253 1210 DATA 41,7,208,13,24,165,253,105,56,133,253,165,254,105 1220 DATA 1,133,254,165,254,205,181,195,48,206,208,7 1230 DATA 173,180,195,197,253,16,197,96 1240 RETURN 1510 SC=54272 1520 POKESC+24,15:POKESC+5,9:POKESC+4,17 1530 POKESC+1,34:POKESC,75 1540 FORI=0TO300:NEXT 1550 POKESC+4,0:POKESC+1,0:POKESC,0 1570 POKE17435,65:FORI=1TO300 1580 POKE17435,21:FORI=1TO300:NEXT 1590 GETA$:IF A$="" THEN 1570 1600 RETURN 2010 VC=53248 2020 FORI=0TO7:POKE18424+I,32+I:POKEVC+39+I,0:NEXT 2030 POKEVC+23,0:POKEVC+29,0 2040 POKE VC,173:POKEVC+16,0:POKEVC+1,48 2050 DIM SX(7),SY(7) 2060 FORI=0TO7:READSX(I),SY(I):NEXT 2070 DATA 10,2,5,7,5,13,10,19,18,13,18,7,4,10,19,10 2080 DIM XDRN(7),YDRN(7) 2090 FORI=0TO7:READXDRN(I),YDRN(I):NEXT 2100 DATA 0,10,10,5,10,-5,0,-10,-10,-5,-10,5,-10,0,10,0 2130 FORI=0TO7:FORJ=0TO62 2140 READN:POKE18432+64*I+J,N 2150 NEXT:IFI=0THENPOKEVC+21,1 2160 NEXT 2170 RETURN 2210 DATA0,0,0,60,1,224,102,35,48 2220 DATA3,118,0,1,252,0,57,252,224 2230 DATA109,253,176,199,255,24,3,254,0 2240 DATA3,254,0,31,255,192,49,252,96 2250 DATA99,254,48,198,251,24,6,115,0 2260 DATA6,3,0,6,3,0,6,3,0 2270 DATA0,0,0,0,0,0,0,0,0 2310 DATA0,192,0,1,142,0,1,152,0 2320 DATA1,152,0,0,216,248,0,217,128 2330 DATA0,249,128,3,255,0,3,254,0 2340 DATA3,255,240,31,255,24,51,255,140 2350 DATA97,255,134,193,255,128,199,63,0 2360 DATA204,60,0,12,118,0,12,99,0 2370 DATA6,97,192,0,96,96,0,48,0 2410 DATA0,48,0,0,96,96,6,97,192 2420 DATA12,99,0,12,118,0,204,60,0 2430 DATA199,63,0,193,255,128,97,255,134 2440 DATA51,255,140,31,255,24,3,255,240 2450 DATA3,254,0,3,255,0,0,249,128 2460 DATA0,217,128,0,216,248,1,152,0 2470 DATA1,152,0,1,142,0,0,192,0 2510 DATA0,0,0,0,0,0,0,0,0 2520 DATA6,3,0,6,3,0,6,3,0 2530 DATA6,115,0,198,251,24,99,254,48 2540 DATA49,252,96,31,255,192,3,254,0 2550 DATA3,254,0,199,255,24,109,253,176 2560 DATA57,252,224,1,252,0,3,118,0 2570 DATA102,35,48,60,1,224,0,0,0 2610 DATA0,12,0,6,6,0,3,134,96 2620 DATA0,198,48,0,110,48,0,60,51 2630 DATA0,252,227,1,255,131,97,255,134 2640 DATA49,255,204,24,255,248,15,255,192 2650 DATA0,127,192,0,255,192,1,159,0 2660 DATA1,155,0,31,27,0,0,25,128 2670 DATA0,25,128,0,113,128,0,3,0 2710 DATA0,3,0,0,113,128,0,25,128 2720 DATA0,25,128,31,27,0,1,155,0 2730 DATA1,159,0,0,255,192,0,127,192 2740 DATA15,255,192,24,255,248,49,255,204 2750 DATA97,255,134,1,255,131,0,252,227 2760 DATA0,60,51,0,110,48,0,198,48 2770 DATA3,134,96,6,6,0,0,12,0 2810 DATA0,48,192,6,97,128,12,195,0 2820 DATA25,134,0,24,204,0,12,108,248 2830 DATA6,61,128,3,255,0,1,255,128 2840 DATA3,255,192,7,255,192,3,255,192 2850 DATA1,255,128,3,255,0,6,61,128 2860 DATA12,108,248,24,204,0,25,134,0 2870 DATA12,195,0,6,97,128,0,48,192 2910 DATA3,12,0,1,134,96,0,195,48 2920 DATA0,97,152,0,51,24,31,54,48 2930 DATA1,188,96,0,255,192,1,255,128 2940 DATA3,255,192,3,255,224,3,255,192 2950 DATA1,255,128,0,255,192,1,188,96 2960 DATA31,54,48,0,51,24,0,97,152 2970 DATA0,195,48,1,134,96,3,12,0 3010 IF PEEK(VC+21)<>2^SNUM THEN POKEVC+21,0 3020 POKEVC+2*SNUM,(X1+24-SX(SNUM)) AND 255 3030 IF X1+24-SX(SNUM)>255 THEN POKEVC+16,2^SNUM 3040 POKEVC+1+2*SNUM,Y1+50-SY(SNUM) 3050 POKEVC+21,2^SNUM 3060 REM IF SNUM=0 AND WEB THEN GOSUB 4010:RETURN 3090 IF X1<>X2 THEN M=(Y2-Y1)/(X2-X1):C=Y1-M*X1 3100 IF ABS(X2-X1)<ABS(Y2-Y1) THEN 3210 3130 IF X1=X2 THEN RETURN 3140 FORX=X1 TO X2 STEP 2*SGN(X2-X1) 3150 Y=M*X+C 3160 GOSUB 3310 3170 NEXT:X1=X2:Y1=Y2 3180 RETURN 3210 FORY=Y1 TO Y2 STEP SGN(Y2-Y1) 3220 X=X1:IF X1<>X2 THEN X=(Y-C)/M 3230 GOSUB 3310 3240 NEXT:X1=X2:Y1=Y2 3250 RETURN 3310 REM 3320 NX=X+24-SX(SNUM):POKEVC+2*SNUM,NX AND 255 3330 IF NX>255 AND OX<=255 THEN POKEVC+16,2^SNUM 3340 IF NX<256 AND OX>=256 THEN POKE VC+16,0 3350 POKEVC+1+2*SNUM,Y+50-SY(SNUM) 3360 OX=NX:IF NOT WEB THEN RETURN 3390 CH=INT(X/8):RO=INT(Y/8):LN=Y AND 7 3400 BY=BASE+RO*320+8*CH+LN:BI=7-(X AND 7) 3410 POKE BY,PEEK(BY) OR (2^BI) 3420 RETURN 4010 L1=BASE+320*INT(Y1/8)+8*INT(X1/8)+(Y1 AND 7) 4020 L2=BASE+320*INT(Y2/8)+8*INT(X1/8)+(Y2 AND 7) 4030 POKE2,Y1+48 4040 POKE 252,INT((VC+1)/256):POKE251,VC+1-256*PEEK(252) 4050 POKE253,L1 AND 255:POKE254,INT(L1/256) 4060 POKE 50100,L2 AND 255:POKE50101,INT(L2/256) 4070 POKE 50102,1:IF WEB THEN POKE50102,0 4080 POKE 50103,2^(7-(X1 AND 7)) 4090 SYS 50000 4100 X1=X2:Y1=Y2:RETURN 4510 POKE 56334,PEEK(56334) AND 254 4520 POKE1,PEEK(1) AND 251 4530 DST=BASE+(Y*40+X)*8:SRC=53248+2048 4540 FORI=1 TO LEN(ST$) 4550 NDST=DST+(I-1)*8 4560 CH=ASC(MID$(ST$,I,1)) 4570 IF CH>191 THEN CH=CH-64 4580 IF CH>63 THEN CH=CH-64:IF CH>31 AND CH<64 THEN CH=CH+32 4590 NS=SR+8*CH 4600 IF MID$(ST$,I,1)=" " THEN NS=SR+8*32 4620 FOR J=0 TO 7:POKEND+J,PEEK(NS+J):NEXT 4630 NEXT 4640 POKE1,PEEK(1) OR 4:POKE56334,PEEK(56334) OR 1 4650 RETURN 5000 REM 5010 REM 5020 POKE 56578,PEEK(56578) OR 3 5030 POKE 56576,(PEEK(56576) AND 252) OR 3 5050 POKE 53265,PEEK(53265) AND 223 5060 POKE 53272,21 5080 POKE 53281,9:POKE53280,9:PRINT"<yellow>" 5100 POKE VC+21,0 5110 RETURN
d � SPIDER "n TRUE��1:FALSE�0 -x � 1010 V� X�12:Y�10:STRING$�" �PIDER":�4510 a� � 2010 �� STRING$�" ":�4510 �� : �� X1�159:Y1�0:WEB�TRUE �� SNUM�0:X2�159:Y2�89:�3010:T�TIME �� � TIME�T�180 � 200 �� Y2�199:� 3010 � WEB�FALSE:SNUM�3:Y1�220:Y2�199:� 3010 J � SNUM�6:X1�154:Y1�190:X2�299:Y2�190:�3010 w � SNUM�3:X1�310:Y1�199:X2�310:Y2�184:�3010 � � WEB�TRUE:SNUM�4 � X1�319:Y1�179:X2�0:Y2�19:�3010 � WEB�FALSE:SNUM�1 � X1��16:Y1�11:X2�0:Y2�19:�3010 "SNUM�0:X1�10:X2�10:Y2�169:�3010 ,WEB�TRUE:SNUM�2 @ 6X1�0:Y1�179:X2�319:Y2�19:�3010 U @WEB�FALSE:SNUM�5 y JX1�335:Y1�11:X2�163:Y2�97:�3010 � TX1�159:Y1�99:X2�159:Y2�99 � ^: � r�CIRC�1�10 � |SNUM�7:�3010 � �SNUM�4:X2�X1�10:Y2�Y1�5:�3010 � �SNUM�7:�3010 � �WEB�TRUE �� SNUM�0�5 B�X2�X1�CIRC�XDRN(SNUM):Y2�Y1�CIRC�YDRN(SNUM):�3010 R��:WEB�FALSE X�� i�SNUM�0:�3010 ��SNUM�1:X2�151:Y2�95:�3010 ��SNUM�0:X1�159:Y1�93:X2�159:Y2�93:�3010 ��X�0:Y�0:STRING$�"�RESS ANY KEY TO STOP . . .":�4510 ���1510 ��5010 � �BASE�24576: "�� 53280,0 E�53272,24:�53265,�(53265) � 32 {$� 56578,�(56578) � 3:� 56576,(�(56576) � 252) � 2 �8�I�0�25:�X:�49152�I,X:� �B� 169,0,162,0,160,0,145,2,200,208,6,230,3,232 �L� 76,6,192,192,64,208,241,224,31,208,237,96 `�2,0:�3,96:�49152 1 t�49153,21:�49170,232:�49174,3 B ~�3,68:�49152 ^ ��I�0�61:�N:�50000�I,N:� � �� 160,0,173,182,195,208,7,177,253,13,183,195,145,253 � �� 165,2,145,251,230,2,230,253,208,2,230,254,165,253 �� 41,7,208,13,24,165,253,105,56,133,253,165,254,105 8�� 1,133,254,165,254,205,181,195,48,206,208,7 \�� 173,180,195,197,253,16,197,96 b�� o�SC�54272 ���SC�24,15:�SC�5,9:�SC�4,17 ���SC�1,34:�SC,75 ��I�0�300:� ��SC�4,0:�SC�1,0:�SC,0 �"�17435,65:�I�1�300 �,�17435,21:�I�1�300:� 6�A$:� A$�"" � 1570 @� %�VC�53248 K��I�0�7:�18424�I,32�I:�VC�39�I,0:� a��VC�23,0:�VC�29,0 ��� VC,173:�VC�16,0:�VC�1,48 �� SX(7),SY(7) ��I�0�7:�SX(I),SY(I):� �� 10,2,5,7,5,13,10,19,18,13,18,7,4,10,19,10 � � XDRN(7),YDRN(7) *�I�0�7:�XDRN(I),YDRN(I):� D4� 0,10,10,5,10,-5,0,-10,-10,-5,-10,5,-10,0,10,0 WR�I�0�7:�J�0�62 n\�N:�18432�64�I�J,N �f�:�I�0��VC�21,1 �p� �z� ���0,0,0,60,1,224,102,35,48 ���3,118,0,1,252,0,57,252,224 ���109,253,176,199,255,24,3,254,0 ��3,254,0,31,255,192,49,252,96 4��99,254,48,198,251,24,6,115,0 K��6,3,0,6,3,0,6,3,0 b��0,0,0,0,0,0,0,0,0 �0,192,0,1,142,0,1,152,0 � �1,152,0,0,216,248,0,217,128 � �0,249,128,3,255,0,3,254,0 �$ �3,255,240,31,255,24,51,255,140 . �97,255,134,193,255,128,199,63,0 '8 �204,60,0,12,118,0,12,99,0 DB �6,97,192,0,96,96,0,48,0 aj �0,48,0,0,96,96,6,97,192 �t �12,99,0,12,118,0,204,60,0 �~ �199,63,0,193,255,128,97,255,134 �� �51,255,140,31,255,24,3,255,240 �� �3,254,0,3,255,0,0,249,128 � �0,217,128,0,216,248,1,152,0 &� �1,152,0,1,142,0,0,192,0 =� �0,0,0,0,0,0,0,0,0 T� �6,3,0,6,3,0,6,3,0 v� �6,115,0,198,251,24,99,254,48 �� �49,252,96,31,255,192,3,254,0 �� �3,254,0,199,255,24,109,253,176 � �57,252,224,1,252,0,3,118,0 � �102,35,48,60,1,224,0,0,0 2 �0,12,0,6,6,0,3,134,96 4< �0,198,48,0,110,48,0,60,51 XF �0,252,227,1,255,131,97,255,134 ~P �49,255,204,24,255,248,15,255,192 �Z �0,127,192,0,255,192,1,159,0 �d �1,155,0,31,27,0,0,25,128 �n �0,25,128,0,113,128,0,3,0 �� �0,3,0,0,113,128,0,25,128 � �0,25,128,31,27,0,1,155,0 8� �1,159,0,0,255,192,0,127,192 ^� �15,255,192,24,255,248,49,255,204 �� �97,255,134,1,255,131,0,252,227 �� �0,60,51,0,110,48,0,198,48 �� �3,134,96,6,6,0,0,12,0 �� �0,48,192,6,97,128,12,195,0 ��25,134,0,24,204,0,12,108,248 �6,61,128,3,255,0,1,255,128 A�3,255,192,7,255,192,3,255,192 a"�1,255,128,3,255,0,6,61,128 �,�12,108,248,24,204,0,25,134,0 �6�12,195,0,6,97,128,0,48,192 �^�3,12,0,1,134,96,0,195,48 �h�0,97,152,0,51,24,31,54,48 r�1,188,96,0,255,192,1,255,128 %|�3,255,192,3,255,224,3,255,192 G��1,255,128,0,255,192,1,188,96 f��31,54,48,0,51,24,0,97,152 ���0,195,48,1,134,96,3,12,0 ��� �(VC�21)��2�SNUM � �VC�21,0 ���VC�2�SNUM,(X1�24�SX(SNUM)) � 255 ��� X1�24�SX(SNUM)�255 � �VC�16,2�SNUM ��VC�1�2�SNUM,Y1�50�SY(SNUM) '��VC�21,2�SNUM V�� IF SNUM=0 AND WEB THEN GOSUB 4010:RETURN �� X1��X2 � M�(Y2�Y1)�(X2�X1):C�Y1�M�X1 �� �(X2�X1)��(Y2�Y1) � 3210 �:� X1�X2 � � �D�X�X1 � X2 � 2��(X2�X1) �NY�M�X�C �X� 3310 �b�:X1�X2:Y1�Y2 �l� ��Y�Y1 � Y2 � �(Y2�Y1) 3�X�X1:� X1��X2 � X�(Y�C)�M >�� 3310 P��:X1�X2:Y1�Y2 V�� \�� ��NX�X�24�SX(SNUM):�VC�2�SNUM,NX � 255 � � NX�255 � OX��255 � �VC�16,2�SNUM � � NX�256 � OX��256 � � VC�16,0 � �VC�1�2�SNUM,Y�50�SY(SNUM) OX�NX:� � WEB � � %> CH��(X�8):RO��(Y�8):LN�Y � 7 MH BY�BASE�RO�320�8�CH�LN:BI�7�(X � 7) eR � BY,�(BY) � (2�BI) k\ � ��L1�BASE�320��(Y1�8)�8��(X1�8)�(Y1 � 7) ��L2�BASE�320��(Y2�8)�8��(X1�8)�(Y2 � 7) ���2,Y1�48 ��� 252,�((VC�1)�256):�251,VC�1�256��(252) ��253,L1 � 255:�254,�(L1�256) B�� 50100,L2 � 255:�50101,�(L2�256) a�� 50102,1:� WEB � �50102,0 |�� 50103,2�(7�(X1 � 7)) ��� 50000 �X1�X2:Y1�Y2:� ��� 56334,�(56334) � 254 ���1,�(1) � 251 ��DST�BASE�(Y�40�X)�8:SRC�53248�2048 ��I�1 � �(ST$) �NDST�DST�(I�1)�8 *�CH��(�(ST$,I,1)) B�� CH�191 � CH�CH�64 t�� CH�63 � CH�CH�64:� CH�31 � CH�64 � CH�CH�32 ��NS�SR�8�CH ��� �(ST$,I,1)�" " � NS�SR�8�32 �� J�0 � 7:�ND�J,�(NS�J):� �� � �1,�(1) � 4:�56334,�(56334) � 1 �*� ��� ��� �� 56578,�(56578) � 3 9�� 56576,(�(56576) � 252) � 3 T�� 53265,�(53265) � 223 c�� 53272,21 �� 53281,9:�53280,9:�"�"