Home » Personal collection » Acorn DFS disks » dfs_box03_disk06_games_4_backup.scp » ARTIST
ARTIST
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 » Acorn DFS disks » dfs_box03_disk06_games_4_backup.scp |
Filename: | ARTIST |
Read OK: | ✔ |
File size: | 0CF6 bytes |
Load address: | FF1900 |
Exec address: | FF801F |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Acorn DFS disks » dfs_box03_disk06_games_4_backup.scp » ARTIST
- Personal collection » Acorn DFS disks » dfs_box03_disk06b_games_4_backup.scp » ARTIST
File contents
10 REM 20 REM 30REM 50MODE 7 55*OPT1,0 60PROCintro 70 MODE 2 80VDU 23;8202;0;0;0; 90PROCconstants 100PROCinitscreen 110REPEAT 120REPEAT 130PROCjoystick 140UNTIL ADVAL(0) AND 1 150IF y%>toppicture% THEN PROCfunction ELSE PROCplot 160UNTIL FALSE 170END 190DEF PROCconstants 200LOCAL I 210points%=1 :line%=2 :triangle%=3 220rectangle%=4:circle%=5 230toppicture%=960 240cellwidth%=85 :ncell%=15 250 logic%=0 :colour%=7 260lasttime%=TIME 270shape%=points% 280x%=640:x1%=x%:x2%=x% 290y%=toppicture%DIV 2 300y1%=y%:y2%=y% 330FOR I=8 TO 15 340VDU 19,I,I-8;0; :NEXT I 380VDU 23,224,0,0,0,24,24,0,0,0 390VDU 23,225,1,2,4,8,16,32,64,128 400VDU 23,226,128,192,160,144,136,132,130,255 410 VDU 23,227,0,126,66,66,66,66,126,0 415VDU 23,228,60,66,129,129,129,129,66,60 420VDU 23,253,0,68,40,16,40,68,0,0 430VDU 23,254,16,16,16,254,16,16,16,0 440VDU 23,255,255,255,255,255,255,255,255,255 450ENDPROC 470DEF PROCinitscreen 480LOCAL I 485IF load THEN *LOAD"SCREEN" 500GCOL 0,7 510MOVE 0,toppicture%+4 520DRAW ncell%*cellwidth%,toppicture%+4 530FOR I=0 TO ncell% 540MOVE I*cellwidth%,toppicture%+4 550DRAW I*cellwidth%,1020 560NEXT I 570DRAW 0,1020 610FOR I=0 TO 7 620PROCprintcell(I,I,255) 630NEXT I 650FOR I=8 TO 12 660 PROCprintcell(I,7,216+I) 670NEXT I 680PROCprintcell(13,7,ASC("C")) 690PROCprintcell(14,7,ASC("S")) 710PROCcursor(x%,y%) 720ENDPROC 740DEF PROCprintcell(N,colour,char) 750VDU 5 760MOVE N*cellwidth%+16,toppicture%+48 770GCOL 0,colour 780PRINT CHR$(char); 790VDU 4 800ENDPROC 820DEF PROCcursor(x%,y%) 850GCOL 4,0 860MOVE x%-24,y%+12 870 VDU 5,254,4 880ENDPROC 910DEFPROCmarker(x%,y%) 920GCOL 4,0:MOVE x%-24,y%+12 930VDU 5,253,4 950GCOL logic%,colour% 960MOVE x2%,y2% :MOVE x1%,y1% 970ENDPROC 990DEF PROCjoystick 1020oldx%=x%:oldy%=y% 1030x%=1920-(x%+ADVAL(1)DIV 16)DIV 2 1040y%=(y%+ADVAL(2)DIV 64)DIV 2 1050IF x%DIV8=oldx%DIV8 AND y%DIV4=oldy%DIV4 ENDPROC 1060PROCcursor(oldx%,oldy%) 1070PROCcursor(x%,y%) 1080ENDPROC 1110DEF PROCbuttonrelease 1120REPEAT UNTIL (ADVAL(0)AND 1)=0 1130ENDPROC 1150DEF PROCfunction 1180LOCAL cell 1190SOUND 1,-15,50,2 1200cell=x%DIV cellwidth% 1210IF cell<8 THEN colour%=cell 1220 IF cell=8 THEN shape%=points% 1230 IF cell=9 THEN shape%=line% 1240IF cell=10 THEN shape%=triangle% 1250IF cell=11 THEN shape%=rectangle% 1260IF cell=14 THEN PROCfile 1270IF cell=13 THEN PROCclearscreen 1271IF cell=12 THEN shape%=circle% 1280IF cell>7 THEN count%=0 1290PROCbuttonrelease 1300ENDPROC 1330DEF PROCplot 1340PROCcursor(x%,y%) 1350IF shape%<>points% SOUND 1,-15,100,2 1360MOVE x2%,y2% :MOVE x1%,y1% 1370GCOL logic%,colour% 1380ON shape% GOTO 1390,1400,1410,1420,1430 1390PROCpoints :GOTO 1440 1400PROCline :GOTO 1440 1410PROCtriangle :GOTO 1440 1420PROCrectangle :GOTO 1440 1430PROCcircle 1440PROCcursor(x%,y%) 1450IF shape%<>points% PROCbuttonrelease 1460x2%=x1% :y2%=y1% 1470x1%=x% :y1%=y% 1480ENDPROC 1510DEF PROCpoints 1520 IF lasttime%>TIME-20 PLOT 5,x%,y% ELSE SOUND1,-15,100,2:PLOT 69,x%,y% 1530lasttime%=TIME 1540ENDPROC 1560REM Line 1570DEF PROCline 1580count%=count%EOR 1 1590 IF count% PROCmarker(x%,y%) ELSE PROCmarker(x1%,y1%):PLOT5,x%,y% 1600ENDPROC 1620REM trianglw 1630DEF PROCtriangle 1640count%=(count%+1)MOD 3 1650IF count%<>0 PROCmarker(x%,y%) ELSE PROCmarker(x2%,y2%):PROCmarker(x1%,y1%):PLOT 85,x%,y% 1660ENDPROC 1690DEF PROCrectangle 1700count%=count%EOR 1 1710IF count% PROCmarker(x%,y%):GOTO1750 1720PROCmarker(x1%,y1%) 1730MOVE x%,y1%:PLOT 85,x%,y% 1740MOVE x1%,y1%:PLOT 85,x1%,y% 1750ENDPROC 1770DEFPROCclearscreen 1790GCOL 0,colour% 1800MOVE0,0:MOVE0,toppicture% 1810PLOT 85,1280,0 1820PLOT 85,1280,toppicture% 1830ENDPROC 1850DEFPROCintro 1860PRINTTAB(10,10)"�JOYSTICK�ARTIST" 1870POO=INKEY(300) 1880CLS 1890PRINTTAB(4,15)"�LOAD PICTURE FROM FILE (Y/N)?"; 2074load=((GET AND &DF)=ASC("Y")) 2080ENDPROC 2150DEFPROCfile 2160*SAVE"SCREEN" 3280 7FFF 2170ENDPROC 5000DEF PROCcircle 5010count%=count%EOR 1 5020IF count% PROCmarker(x%,y%):GOTO5060 5030PROCmarker(x1%,y1%) 5041R=SQR((x1%-x%)^2+(y1%-y%)^2):VDU29,x1%;y1%; 5042FOR ANGLE=0 TO 2*PI STEP PI/24:MOVE 0,0:MOVE R*(COS(ANGLE)),R*SIN(ANGLE):PLOT85,R*(COS(ANGLE+PI/24)),R*SIN(ANGLE+PI/24):NEXT 5043VDU29,0;0; 5060ENDPROC
� � � 2� 7 7*OPT1,0 < �intro F � 2 P� 23;8202;0;0;0; Z�constants d�initscreen n� x� � �joystick �� �(0) � 1 �(� y%>toppicture% � �function � �plot �� � �� �� �constants �� I �#points%=1 :line%=2 :triangle%=3 �rectangle%=4:circle%=5 �toppicture%=960 �cellwidth%=85 :ncell%=15 � logic%=0 :colour%=7 lasttime%=� shape%=points% x%=640:x1%=x%:x2%=x% "y%=toppicture%� 2 ,y1%=y%:y2%=y% J� I=8 � 15 T� 19,I,I-8;0; :� I |� 23,224,0,0,0,24,24,0,0,0 �!� 23,225,1,2,4,8,16,32,64,128 �,� 23,226,128,192,160,144,136,132,130,255 �% � 23,227,0,126,66,66,66,66,126,0 �(� 23,228,60,66,129,129,129,129,66,60 �!� 23,253,0,68,40,16,40,68,0,0 �$� 23,254,16,16,16,254,16,16,16,0 �,� 23,255,255,255,255,255,255,255,255,255 �� �� �initscreen �� I �� load � *LOAD"SCREEN" � � 0,7 �� 0,toppicture%+4 %� ncell%*cellwidth%,toppicture%+4 � I=0 � ncell% � I*cellwidth%,toppicture%+4 &� I*cellwidth%,1020 0� I :� 0,1020 b � I=0 � 7 l�printcell(I,I,255) v� I �� I=8 � 12 � �printcell(I,7,216+I) �� I ��printcell(13,7,�("C")) ��printcell(14,7,�("S")) ��cursor(x%,y%) �� �� �printcell(N,colour,char) �� 5 �$� N*cellwidth%+16,toppicture%+48 � 0,colour � �(char); � 4 � 4� �cursor(x%,y%) R � 4,0 \� x%-24,y%+12 f � 5,254,4 p� ���marker(x%,y%) �� 4,0:� x%-24,y%+12 � � 5,253,4 �� logic%,colour% �� x2%,y2% :� x1%,y1% �� �� �joystick �oldx%=x%:oldy%=y% x%=1920-(x%+�(1)� 16)� 2 y%=(y%+�(2)� 64)� 2 #� x%�8=oldx%�8 � y%�4=oldy%�4 � $�cursor(oldx%,oldy%) .�cursor(x%,y%) 8� V� �buttonrelease `� � (�(0)� 1)=0 j� ~� �function � � cell �� 1,-15,50,2 �cell=x%� cellwidth% �� cell<8 � colour%=cell � � cell=8 � shape%=points% � � cell=9 � shape%=line% � � cell=10 � shape%=triangle% �!� cell=11 � shape%=rectangle% �� cell=14 � �file �� cell=13 � �clearscreen �� cell=12 � shape%=circle% � cell>7 � count%=0 �buttonrelease � 2� �plot <�cursor(x%,y%) F#� shape%<>points% � 1,-15,100,2 P� x2%,y2% :� x1%,y1% Z� logic%,colour% d'� shape% � �DnE,�DxE,�tBE,�tLE,�tVE n�points :� �t`E x�line :� �t`E ��triangle :� �t`E ��rectangle :� �t`E ��circle ��cursor(x%,y%) �$� shape%<>points% �buttonrelease �x2%=x1% :y2%=y1% �x1%=x% :y1%=y% �� � � �points �9 � lasttime%>�-20 � 5,x%,y% � �1,-15,100,2:� 69,x%,y% �lasttime%=� � � Line "� �line ,count%=count%� 1 68 � count% �marker(x%,y%) � �marker(x1%,y1%):�5,x%,y% @� T� trianglw ^� �triangle hcount%=(count%+1)� 3 rM� count%<>0 �marker(x%,y%) � �marker(x2%,y2%):�marker(x1%,y1%):� 85,x%,y% |� �� �rectangle �count%=count%� 1 �!� count% �marker(x%,y%):�dVF ��marker(x1%,y1%) �� x%,y1%:� 85,x%,y% �� x1%,y1%:� 85,x1%,y% �� ���clearscreen �� 0,colour% �0,0:�0,toppicture% � 85,1280,0 � 85,1280,toppicture% &� :��intro D�10,10)"�JOYSTICK�ARTIST" NPOO=�(300) X� b,�4,15)"�LOAD PICTURE FROM FILE (Y/N)?"; load=((� � &DF)=�("Y")) � f ��file p*SAVE"SCREEN" 3280 7FFF z� � � �circle �count%=count%� 1 �!� count% �marker(x%,y%):�dDS ��marker(x1%,y1%) �+R=�((x1%-x%)^2+(y1%-y%)^2):�29,x1%;y1%; �b� ANGLE=0 � 2*� � �/24:� 0,0:� R*(�(ANGLE)),R*�(ANGLE):�85,R*(�(ANGLE+�/24)),R*�(ANGLE+�/24):� ��29,0;0; �� �
00000000 0d 00 0a 06 20 f4 0d 00 14 06 20 f4 0d 00 1e 05 |.... ..... .....| 00000010 f4 0d 00 32 07 eb 20 37 0d 00 37 0b 2a 4f 50 54 |...2.. 7..7.*OPT| 00000020 31 2c 30 0d 00 3c 0a f2 69 6e 74 72 6f 0d 00 46 |1,0..<..intro..F| 00000030 08 20 eb 20 32 0d 00 50 14 ef 20 32 33 3b 38 32 |. . 2..P.. 23;82| 00000040 30 32 3b 30 3b 30 3b 30 3b 0d 00 5a 0e f2 63 6f |02;0;0;0;..Z..co| 00000050 6e 73 74 61 6e 74 73 0d 00 64 0f f2 69 6e 69 74 |nstants..d..init| 00000060 73 63 72 65 65 6e 0d 00 6e 05 f5 0d 00 78 05 f5 |screen..n....x..| 00000070 0d 00 82 0d f2 6a 6f 79 73 74 69 63 6b 0d 00 8c |.....joystick...| 00000080 0e fd 20 96 28 30 29 20 80 20 31 0d 00 96 28 e7 |.. .(0) . 1...(.| 00000090 20 79 25 3e 74 6f 70 70 69 63 74 75 72 65 25 20 | y%>toppicture% | 000000a0 8c 20 f2 66 75 6e 63 74 69 6f 6e 20 8b 20 f2 70 |. .function . .p| 000000b0 6c 6f 74 0d 00 a0 07 fd 20 a3 0d 00 aa 05 e0 0d |lot..... .......| 000000c0 00 be 10 dd 20 f2 63 6f 6e 73 74 61 6e 74 73 0d |.... .constants.| 000000d0 00 c8 07 ea 20 49 0d 00 d2 23 70 6f 69 6e 74 73 |.... I...#points| 000000e0 25 3d 31 20 3a 6c 69 6e 65 25 3d 32 20 3a 74 72 |%=1 :line%=2 :tr| 000000f0 69 61 6e 67 6c 65 25 3d 33 0d 00 dc 1a 72 65 63 |iangle%=3....rec| 00000100 74 61 6e 67 6c 65 25 3d 34 3a 63 69 72 63 6c 65 |tangle%=4:circle| 00000110 25 3d 35 0d 00 e6 13 74 6f 70 70 69 63 74 75 72 |%=5....toppictur| 00000120 65 25 3d 39 36 30 0d 00 f0 1c 63 65 6c 6c 77 69 |e%=960....cellwi| 00000130 64 74 68 25 3d 38 35 20 3a 6e 63 65 6c 6c 25 3d |dth%=85 :ncell%=| 00000140 31 35 0d 00 fa 18 20 6c 6f 67 69 63 25 3d 30 20 |15.... logic%=0 | 00000150 3a 63 6f 6c 6f 75 72 25 3d 37 0d 01 04 0f 6c 61 |:colour%=7....la| 00000160 73 74 74 69 6d 65 25 3d 91 0d 01 0e 12 73 68 61 |sttime%=.....sha| 00000170 70 65 25 3d 70 6f 69 6e 74 73 25 0d 01 18 18 78 |pe%=points%....x| 00000180 25 3d 36 34 30 3a 78 31 25 3d 78 25 3a 78 32 25 |%=640:x1%=x%:x2%| 00000190 3d 78 25 0d 01 22 15 79 25 3d 74 6f 70 70 69 63 |=x%..".y%=toppic| 000001a0 74 75 72 65 25 81 20 32 0d 01 2c 11 79 31 25 3d |ture%. 2..,.y1%=| 000001b0 79 25 3a 79 32 25 3d 79 25 0d 01 4a 0e e3 20 49 |y%:y2%=y%..J.. I| 000001c0 3d 38 20 b8 20 31 35 0d 01 54 16 ef 20 31 39 2c |=8 . 15..T.. 19,| 000001d0 49 2c 49 2d 38 3b 30 3b 20 3a ed 20 49 0d 01 7c |I,I-8;0; :. I..|| 000001e0 1e ef 20 32 33 2c 32 32 34 2c 30 2c 30 2c 30 2c |.. 23,224,0,0,0,| 000001f0 32 34 2c 32 34 2c 30 2c 30 2c 30 0d 01 86 21 ef |24,24,0,0,0...!.| 00000200 20 32 33 2c 32 32 35 2c 31 2c 32 2c 34 2c 38 2c | 23,225,1,2,4,8,| 00000210 31 36 2c 33 32 2c 36 34 2c 31 32 38 0d 01 90 2c |16,32,64,128...,| 00000220 ef 20 32 33 2c 32 32 36 2c 31 32 38 2c 31 39 32 |. 23,226,128,192| 00000230 2c 31 36 30 2c 31 34 34 2c 31 33 36 2c 31 33 32 |,160,144,136,132| 00000240 2c 31 33 30 2c 32 35 35 0d 01 9a 25 20 ef 20 32 |,130,255...% . 2| 00000250 33 2c 32 32 37 2c 30 2c 31 32 36 2c 36 36 2c 36 |3,227,0,126,66,6| 00000260 36 2c 36 36 2c 36 36 2c 31 32 36 2c 30 0d 01 9f |6,66,66,126,0...| 00000270 28 ef 20 32 33 2c 32 32 38 2c 36 30 2c 36 36 2c |(. 23,228,60,66,| 00000280 31 32 39 2c 31 32 39 2c 31 32 39 2c 31 32 39 2c |129,129,129,129,| 00000290 36 36 2c 36 30 0d 01 a4 21 ef 20 32 33 2c 32 35 |66,60...!. 23,25| 000002a0 33 2c 30 2c 36 38 2c 34 30 2c 31 36 2c 34 30 2c |3,0,68,40,16,40,| 000002b0 36 38 2c 30 2c 30 0d 01 ae 24 ef 20 32 33 2c 32 |68,0,0...$. 23,2| 000002c0 35 34 2c 31 36 2c 31 36 2c 31 36 2c 32 35 34 2c |54,16,16,16,254,| 000002d0 31 36 2c 31 36 2c 31 36 2c 30 0d 01 b8 2c ef 20 |16,16,16,0...,. | 000002e0 32 33 2c 32 35 35 2c 32 35 35 2c 32 35 35 2c 32 |23,255,255,255,2| 000002f0 35 35 2c 32 35 35 2c 32 35 35 2c 32 35 35 2c 32 |55,255,255,255,2| 00000300 35 35 2c 32 35 35 0d 01 c2 05 e1 0d 01 d6 11 dd |55,255..........| 00000310 20 f2 69 6e 69 74 73 63 72 65 65 6e 0d 01 e0 07 | .initscreen....| 00000320 ea 20 49 0d 01 e5 1a e7 20 6c 6f 61 64 20 8c 20 |. I..... load . | 00000330 2a 4c 4f 41 44 22 53 43 52 45 45 4e 22 0d 01 f4 |*LOAD"SCREEN"...| 00000340 09 e6 20 30 2c 37 0d 01 fe 15 ec 20 30 2c 74 6f |.. 0,7..... 0,to| 00000350 70 70 69 63 74 75 72 65 25 2b 34 0d 02 08 25 df |ppicture%+4...%.| 00000360 20 6e 63 65 6c 6c 25 2a 63 65 6c 6c 77 69 64 74 | ncell%*cellwidt| 00000370 68 25 2c 74 6f 70 70 69 63 74 75 72 65 25 2b 34 |h%,toppicture%+4| 00000380 0d 02 12 12 e3 20 49 3d 30 20 b8 20 6e 63 65 6c |..... I=0 . ncel| 00000390 6c 25 0d 02 1c 20 ec 20 49 2a 63 65 6c 6c 77 69 |l%... . I*cellwi| 000003a0 64 74 68 25 2c 74 6f 70 70 69 63 74 75 72 65 25 |dth%,toppicture%| 000003b0 2b 34 0d 02 26 17 df 20 49 2a 63 65 6c 6c 77 69 |+4..&.. I*cellwi| 000003c0 64 74 68 25 2c 31 30 32 30 0d 02 30 07 ed 20 49 |dth%,1020..0.. I| 000003d0 0d 02 3a 0c df 20 30 2c 31 30 32 30 0d 02 62 0d |..:.. 0,1020..b.| 000003e0 e3 20 49 3d 30 20 b8 20 37 0d 02 6c 17 f2 70 72 |. I=0 . 7..l..pr| 000003f0 69 6e 74 63 65 6c 6c 28 49 2c 49 2c 32 35 35 29 |intcell(I,I,255)| 00000400 0d 02 76 07 ed 20 49 0d 02 8a 0e e3 20 49 3d 38 |..v.. I..... I=8| 00000410 20 b8 20 31 32 0d 02 94 1a 20 f2 70 72 69 6e 74 | . 12.... .print| 00000420 63 65 6c 6c 28 49 2c 37 2c 32 31 36 2b 49 29 0d |cell(I,7,216+I).| 00000430 02 9e 07 ed 20 49 0d 02 a8 1b f2 70 72 69 6e 74 |.... I.....print| 00000440 63 65 6c 6c 28 31 33 2c 37 2c 97 28 22 43 22 29 |cell(13,7,.("C")| 00000450 29 0d 02 b2 1b f2 70 72 69 6e 74 63 65 6c 6c 28 |).....printcell(| 00000460 31 34 2c 37 2c 97 28 22 53 22 29 29 0d 02 c6 12 |14,7,.("S"))....| 00000470 f2 63 75 72 73 6f 72 28 78 25 2c 79 25 29 0d 02 |.cursor(x%,y%)..| 00000480 d0 05 e1 0d 02 e4 1f dd 20 f2 70 72 69 6e 74 63 |........ .printc| 00000490 65 6c 6c 28 4e 2c 63 6f 6c 6f 75 72 2c 63 68 61 |ell(N,colour,cha| 000004a0 72 29 0d 02 ee 07 ef 20 35 0d 02 f8 24 ec 20 4e |r)..... 5...$. N| 000004b0 2a 63 65 6c 6c 77 69 64 74 68 25 2b 31 36 2c 74 |*cellwidth%+16,t| 000004c0 6f 70 70 69 63 74 75 72 65 25 2b 34 38 0d 03 02 |oppicture%+48...| 000004d0 0e e6 20 30 2c 63 6f 6c 6f 75 72 0d 03 0c 0e f1 |.. 0,colour.....| 000004e0 20 bd 28 63 68 61 72 29 3b 0d 03 16 07 ef 20 34 | .(char);..... 4| 000004f0 0d 03 20 05 e1 0d 03 34 14 dd 20 f2 63 75 72 73 |.. ....4.. .curs| 00000500 6f 72 28 78 25 2c 79 25 29 0d 03 52 09 e6 20 34 |or(x%,y%)..R.. 4| 00000510 2c 30 0d 03 5c 11 ec 20 78 25 2d 32 34 2c 79 25 |,0..\.. x%-24,y%| 00000520 2b 31 32 0d 03 66 0e 20 ef 20 35 2c 32 35 34 2c |+12..f. . 5,254,| 00000530 34 0d 03 70 05 e1 0d 03 8e 13 dd f2 6d 61 72 6b |4..p........mark| 00000540 65 72 28 78 25 2c 79 25 29 0d 03 98 17 e6 20 34 |er(x%,y%)..... 4| 00000550 2c 30 3a ec 20 78 25 2d 32 34 2c 79 25 2b 31 32 |,0:. x%-24,y%+12| 00000560 0d 03 a2 0d ef 20 35 2c 32 35 33 2c 34 0d 03 b6 |..... 5,253,4...| 00000570 14 e6 20 6c 6f 67 69 63 25 2c 63 6f 6c 6f 75 72 |.. logic%,colour| 00000580 25 0d 03 c0 19 ec 20 78 32 25 2c 79 32 25 20 3a |%..... x2%,y2% :| 00000590 ec 20 78 31 25 2c 79 31 25 20 0d 03 ca 05 e1 0d |. x1%,y1% ......| 000005a0 03 de 0f dd 20 f2 6a 6f 79 73 74 69 63 6b 0d 03 |.... .joystick..| 000005b0 fc 15 6f 6c 64 78 25 3d 78 25 3a 6f 6c 64 79 25 |..oldx%=x%:oldy%| 000005c0 3d 79 25 0d 04 06 1c 78 25 3d 31 39 32 30 2d 28 |=y%....x%=1920-(| 000005d0 78 25 2b 96 28 31 29 81 20 31 36 29 81 20 32 0d |x%+.(1). 16). 2.| 000005e0 04 10 17 79 25 3d 28 79 25 2b 96 28 32 29 81 20 |...y%=(y%+.(2). | 000005f0 36 34 29 81 20 32 0d 04 1a 23 e7 20 78 25 81 38 |64). 2...#. x%.8| 00000600 3d 6f 6c 64 78 25 81 38 20 80 20 79 25 81 34 3d |=oldx%.8 . y%.4=| 00000610 6f 6c 64 79 25 81 34 20 e1 0d 04 24 18 f2 63 75 |oldy%.4 ...$..cu| 00000620 72 73 6f 72 28 6f 6c 64 78 25 2c 6f 6c 64 79 25 |rsor(oldx%,oldy%| 00000630 29 0d 04 2e 12 f2 63 75 72 73 6f 72 28 78 25 2c |).....cursor(x%,| 00000640 79 25 29 0d 04 38 05 e1 0d 04 56 14 dd 20 f2 62 |y%)..8....V.. .b| 00000650 75 74 74 6f 6e 72 65 6c 65 61 73 65 0d 04 60 13 |uttonrelease..`.| 00000660 f5 20 fd 20 28 96 28 30 29 80 20 31 29 3d 30 0d |. . (.(0). 1)=0.| 00000670 04 6a 05 e1 0d 04 7e 0f dd 20 f2 66 75 6e 63 74 |.j....~.. .funct| 00000680 69 6f 6e 0d 04 9c 0a ea 20 63 65 6c 6c 0d 04 a6 |ion..... cell...| 00000690 10 d4 20 31 2c 2d 31 35 2c 35 30 2c 32 0d 04 b0 |.. 1,-15,50,2...| 000006a0 17 63 65 6c 6c 3d 78 25 81 20 63 65 6c 6c 77 69 |.cell=x%. cellwi| 000006b0 64 74 68 25 0d 04 ba 1b e7 20 63 65 6c 6c 3c 38 |dth%..... cell<8| 000006c0 20 8c 20 63 6f 6c 6f 75 72 25 3d 63 65 6c 6c 0d | . colour%=cell.| 000006d0 04 c4 1e 20 e7 20 63 65 6c 6c 3d 38 20 8c 20 73 |... . cell=8 . s| 000006e0 68 61 70 65 25 3d 70 6f 69 6e 74 73 25 0d 04 ce |hape%=points%...| 000006f0 1c 20 e7 20 63 65 6c 6c 3d 39 20 8c 20 73 68 61 |. . cell=9 . sha| 00000700 70 65 25 3d 6c 69 6e 65 25 0d 04 d8 20 e7 20 63 |pe%=line%... . c| 00000710 65 6c 6c 3d 31 30 20 8c 20 73 68 61 70 65 25 3d |ell=10 . shape%=| 00000720 74 72 69 61 6e 67 6c 65 25 0d 04 e2 21 e7 20 63 |triangle%...!. c| 00000730 65 6c 6c 3d 31 31 20 8c 20 73 68 61 70 65 25 3d |ell=11 . shape%=| 00000740 72 65 63 74 61 6e 67 6c 65 25 0d 04 ec 15 e7 20 |rectangle%..... | 00000750 63 65 6c 6c 3d 31 34 20 8c 20 f2 66 69 6c 65 0d |cell=14 . .file.| 00000760 04 f6 1c e7 20 63 65 6c 6c 3d 31 33 20 8c 20 f2 |.... cell=13 . .| 00000770 63 6c 65 61 72 73 63 72 65 65 6e 0d 04 f7 1e e7 |clearscreen.....| 00000780 20 63 65 6c 6c 3d 31 32 20 8c 20 73 68 61 70 65 | cell=12 . shape| 00000790 25 3d 63 69 72 63 6c 65 25 0d 05 00 17 e7 20 63 |%=circle%..... c| 000007a0 65 6c 6c 3e 37 20 8c 20 63 6f 75 6e 74 25 3d 30 |ell>7 . count%=0| 000007b0 0d 05 0a 12 f2 62 75 74 74 6f 6e 72 65 6c 65 61 |.....buttonrelea| 000007c0 73 65 0d 05 14 05 e1 0d 05 32 0b dd 20 f2 70 6c |se.......2.. .pl| 000007d0 6f 74 0d 05 3c 12 f2 63 75 72 73 6f 72 28 78 25 |ot..<..cursor(x%| 000007e0 2c 79 25 29 0d 05 46 23 e7 20 73 68 61 70 65 25 |,y%)..F#. shape%| 000007f0 3c 3e 70 6f 69 6e 74 73 25 20 d4 20 31 2c 2d 31 |<>points% . 1,-1| 00000800 35 2c 31 30 30 2c 32 0d 05 50 18 ec 20 78 32 25 |5,100,2..P.. x2%| 00000810 2c 79 32 25 20 3a ec 20 78 31 25 2c 79 31 25 0d |,y2% :. x1%,y1%.| 00000820 05 5a 14 e6 20 6c 6f 67 69 63 25 2c 63 6f 6c 6f |.Z.. logic%,colo| 00000830 75 72 25 0d 05 64 27 ee 20 73 68 61 70 65 25 20 |ur%..d'. shape% | 00000840 e5 20 8d 44 6e 45 2c 8d 44 78 45 2c 8d 74 42 45 |. .DnE,.DxE,.tBE| 00000850 2c 8d 74 4c 45 2c 8d 74 56 45 0d 05 6e 13 f2 70 |,.tLE,.tVE..n..p| 00000860 6f 69 6e 74 73 20 3a e5 20 8d 74 60 45 0d 05 78 |oints :. .t`E..x| 00000870 11 f2 6c 69 6e 65 20 3a e5 20 8d 74 60 45 0d 05 |..line :. .t`E..| 00000880 82 15 f2 74 72 69 61 6e 67 6c 65 20 3a e5 20 8d |...triangle :. .| 00000890 74 60 45 0d 05 8c 16 f2 72 65 63 74 61 6e 67 6c |t`E.....rectangl| 000008a0 65 20 3a e5 20 8d 74 60 45 0d 05 96 0b f2 63 69 |e :. .t`E.....ci| 000008b0 72 63 6c 65 0d 05 a0 12 f2 63 75 72 73 6f 72 28 |rcle.....cursor(| 000008c0 78 25 2c 79 25 29 0d 05 aa 24 e7 20 73 68 61 70 |x%,y%)...$. shap| 000008d0 65 25 3c 3e 70 6f 69 6e 74 73 25 20 f2 62 75 74 |e%<>points% .but| 000008e0 74 6f 6e 72 65 6c 65 61 73 65 0d 05 b4 14 78 32 |tonrelease....x2| 000008f0 25 3d 78 31 25 20 3a 79 32 25 3d 79 31 25 0d 05 |%=x1% :y2%=y1%..| 00000900 be 12 78 31 25 3d 78 25 20 3a 79 31 25 3d 79 25 |..x1%=x% :y1%=y%| 00000910 0d 05 c8 05 e1 0d 05 e6 0d dd 20 f2 70 6f 69 6e |.......... .poin| 00000920 74 73 0d 05 f0 39 20 e7 20 6c 61 73 74 74 69 6d |ts...9 . lasttim| 00000930 65 25 3e 91 2d 32 30 20 f0 20 35 2c 78 25 2c 79 |e%>.-20 . 5,x%,y| 00000940 25 20 8b 20 d4 31 2c 2d 31 35 2c 31 30 30 2c 32 |% . .1,-15,100,2| 00000950 3a f0 20 36 39 2c 78 25 2c 79 25 0d 05 fa 0f 6c |:. 69,x%,y%....l| 00000960 61 73 74 74 69 6d 65 25 3d 91 0d 06 04 05 e1 0d |asttime%=.......| 00000970 06 18 0a f4 20 4c 69 6e 65 0d 06 22 0b dd 20 f2 |.... Line..".. .| 00000980 6c 69 6e 65 0d 06 2c 14 63 6f 75 6e 74 25 3d 63 |line..,.count%=c| 00000990 6f 75 6e 74 25 82 20 31 0d 06 36 38 20 e7 20 63 |ount%. 1..68 . c| 000009a0 6f 75 6e 74 25 20 f2 6d 61 72 6b 65 72 28 78 25 |ount% .marker(x%| 000009b0 2c 79 25 29 20 8b 20 f2 6d 61 72 6b 65 72 28 78 |,y%) . .marker(x| 000009c0 31 25 2c 79 31 25 29 3a f0 35 2c 78 25 2c 79 25 |1%,y1%):.5,x%,y%| 000009d0 0d 06 40 05 e1 0d 06 54 0e f4 20 74 72 69 61 6e |..@....T.. trian| 000009e0 67 6c 77 0d 06 5e 0f dd 20 f2 74 72 69 61 6e 67 |glw..^.. .triang| 000009f0 6c 65 0d 06 68 18 63 6f 75 6e 74 25 3d 28 63 6f |le..h.count%=(co| 00000a00 75 6e 74 25 2b 31 29 83 20 33 0d 06 72 4d e7 20 |unt%+1). 3..rM. | 00000a10 63 6f 75 6e 74 25 3c 3e 30 20 f2 6d 61 72 6b 65 |count%<>0 .marke| 00000a20 72 28 78 25 2c 79 25 29 20 8b 20 f2 6d 61 72 6b |r(x%,y%) . .mark| 00000a30 65 72 28 78 32 25 2c 79 32 25 29 3a f2 6d 61 72 |er(x2%,y2%):.mar| 00000a40 6b 65 72 28 78 31 25 2c 79 31 25 29 3a f0 20 38 |ker(x1%,y1%):. 8| 00000a50 35 2c 78 25 2c 79 25 0d 06 7c 05 e1 0d 06 9a 10 |5,x%,y%..|......| 00000a60 dd 20 f2 72 65 63 74 61 6e 67 6c 65 0d 06 a4 14 |. .rectangle....| 00000a70 63 6f 75 6e 74 25 3d 63 6f 75 6e 74 25 82 20 31 |count%=count%. 1| 00000a80 0d 06 ae 21 e7 20 63 6f 75 6e 74 25 20 f2 6d 61 |...!. count% .ma| 00000a90 72 6b 65 72 28 78 25 2c 79 25 29 3a e5 8d 64 56 |rker(x%,y%):..dV| 00000aa0 46 0d 06 b8 14 f2 6d 61 72 6b 65 72 28 78 31 25 |F.....marker(x1%| 00000ab0 2c 79 31 25 29 0d 06 c2 17 ec 20 78 25 2c 79 31 |,y1%)..... x%,y1| 00000ac0 25 3a f0 20 38 35 2c 78 25 2c 79 25 0d 06 cc 19 |%:. 85,x%,y%....| 00000ad0 ec 20 78 31 25 2c 79 31 25 3a f0 20 38 35 2c 78 |. x1%,y1%:. 85,x| 00000ae0 31 25 2c 79 25 0d 06 d6 05 e1 0d 06 ea 11 dd f2 |1%,y%...........| 00000af0 63 6c 65 61 72 73 63 72 65 65 6e 0d 06 fe 0f e6 |clearscreen.....| 00000b00 20 30 2c 63 6f 6c 6f 75 72 25 0d 07 08 17 ec 30 | 0,colour%.....0| 00000b10 2c 30 3a ec 30 2c 74 6f 70 70 69 63 74 75 72 65 |,0:.0,toppicture| 00000b20 25 0d 07 12 0f f0 20 38 35 2c 31 32 38 30 2c 30 |%..... 85,1280,0| 00000b30 0d 07 1c 19 f0 20 38 35 2c 31 32 38 30 2c 74 6f |..... 85,1280,to| 00000b40 70 70 69 63 74 75 72 65 25 0d 07 26 05 e1 0d 07 |ppicture%..&....| 00000b50 3a 0b dd f2 69 6e 74 72 6f 0d 07 44 1e f1 8a 31 |:...intro..D...1| 00000b60 30 2c 31 30 29 22 83 4a 4f 59 53 54 49 43 4b 85 |0,10)".JOYSTICK.| 00000b70 41 52 54 49 53 54 22 0d 07 4e 0e 50 4f 4f 3d a6 |ARTIST"..N.POO=.| 00000b80 28 33 30 30 29 0d 07 58 05 db 0d 07 62 2c f1 8a |(300)..X....b,..| 00000b90 34 2c 31 35 29 22 86 4c 4f 41 44 20 50 49 43 54 |4,15)".LOAD PICT| 00000ba0 55 52 45 20 46 52 4f 4d 20 46 49 4c 45 20 28 59 |URE FROM FILE (Y| 00000bb0 2f 4e 29 3f 22 3b 0d 08 1a 1b 6c 6f 61 64 3d 28 |/N)?";....load=(| 00000bc0 28 a5 20 80 20 26 44 46 29 3d 97 28 22 59 22 29 |(. . &DF)=.("Y")| 00000bd0 29 0d 08 20 05 e1 0d 08 66 0a dd f2 66 69 6c 65 |).. ....f...file| 00000be0 0d 08 70 1b 2a 53 41 56 45 22 53 43 52 45 45 4e |..p.*SAVE"SCREEN| 00000bf0 22 20 33 32 38 30 20 37 46 46 46 0d 08 7a 05 e1 |" 3280 7FFF..z..| 00000c00 0d 13 88 0d dd 20 f2 63 69 72 63 6c 65 0d 13 92 |..... .circle...| 00000c10 14 63 6f 75 6e 74 25 3d 63 6f 75 6e 74 25 82 20 |.count%=count%. | 00000c20 31 0d 13 9c 21 e7 20 63 6f 75 6e 74 25 20 f2 6d |1...!. count% .m| 00000c30 61 72 6b 65 72 28 78 25 2c 79 25 29 3a e5 8d 64 |arker(x%,y%):..d| 00000c40 44 53 0d 13 a6 14 f2 6d 61 72 6b 65 72 28 78 31 |DS.....marker(x1| 00000c50 25 2c 79 31 25 29 0d 13 b1 2b 52 3d b6 28 28 78 |%,y1%)...+R=.((x| 00000c60 31 25 2d 78 25 29 5e 32 2b 28 79 31 25 2d 79 25 |1%-x%)^2+(y1%-y%| 00000c70 29 5e 32 29 3a ef 32 39 2c 78 31 25 3b 79 31 25 |)^2):.29,x1%;y1%| 00000c80 3b 0d 13 b2 62 e3 20 41 4e 47 4c 45 3d 30 20 b8 |;...b. ANGLE=0 .| 00000c90 20 32 2a af 20 88 20 af 2f 32 34 3a ec 20 30 2c | 2*. . ./24:. 0,| 00000ca0 30 3a ec 20 52 2a 28 9b 28 41 4e 47 4c 45 29 29 |0:. R*(.(ANGLE))| 00000cb0 2c 52 2a b5 28 41 4e 47 4c 45 29 3a f0 38 35 2c |,R*.(ANGLE):.85,| 00000cc0 52 2a 28 9b 28 41 4e 47 4c 45 2b af 2f 32 34 29 |R*(.(ANGLE+./24)| 00000cd0 29 2c 52 2a b5 28 41 4e 47 4c 45 2b af 2f 32 34 |),R*.(ANGLE+./24| 00000ce0 29 3a ed 0d 13 b3 0c ef 32 39 2c 30 3b 30 3b 0d |):......29,0;0;.| 00000cf0 13 c4 05 e1 0d ff |......| 00000cf6