Home » Personal collection » Acorn DFS disks » dfs_box03_disk06b_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_disk06b_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:

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
ARTIST.m0
ARTIST.m1
ARTIST.m2
ARTIST.m4
ARTIST.m5