Home » Archimedes archive » Acorn User » AU 1996-08.adf » Regulars » StarInfo/Goatly/NeonFrog32

StarInfo/Goatly/NeonFrog32

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 1996-08.adf » Regulars
Filename: StarInfo/Goatly/NeonFrog32
Read OK:
File size: 0C8E bytes
Load address: 0000
Exec address: 0000
File contents
   10ON ERROR PRINT REPORT$+" at line "+STR$(ERL):STOP
   20PROCmode("X800 Y600 C32T")
   30OFF
   40CLS
   50
   60REM The background
   70PROCCircle(40,30,90,800,600,800,600,0)
   80PROCCircle(40,60,30,800,250,800,250,1)
   90
  100REM The body
  110PROCCircle(10,80,10,800,600,250,200,0)
  120PROCCircle(10,80,10,800,450,300,200,0)
  130PROCCircle(90,50,30,800,425,224,150,0)
  140
  150REM The head
  160PROCCircle(10,80,10,800,800,200,150,0)
  170PROCCircle(80,80,80,700,950,80,80,0)
  180PROCCircle(80,80,80,900,950,80,80,0)
  190PROCCircle(20,20,20,700,950,10,10,0)
  200PROCCircle(20,20,20,900,950,10,10,0)
  210PROCCircle(10,80,10,770,800,15,10,0)
  220PROCCircle(10,80,10,830,800,15,10,0)
  230PROCCircle(20,20,20,800,700,145,10,1)
  240PROCCircle(110,50,50,800,690,35,15,0)
  250
  260REM Arm 1
  270PROCCircle(10,80,10,1070,600,70,130,28)
  280PROCCircle(10,80,10,980,425,80,180,-60)
  290PROCCircle(10,80,10,815,420,25,25,0)
  300PROCCircle(10,80,10,810,410,25,25,0)
  310PROCCircle(10,80,10,760,360,25,25,0)
  320PROCCircle(10,80,10,770,330,25,25,0)
  330PROCCircle(10,80,10,780,300,25,25,0)
  340PROCCircle(10,80,10,830,350,70,70,0)
  350
  360REM Arm 2
  370PROCCircle(10,80,10,530,600,70,130,-28)
  380PROCCircle(10,80,10,620,425,80,180,60)
  390PROCCircle(10,80,10,785,420,25,25,0)
  400PROCCircle(10,80,10,790,410,25,25,0)
  410PROCCircle(10,80,10,840,360,25,25,0)
  420PROCCircle(10,80,10,830,330,25,25,0)
  430PROCCircle(10,80,10,820,300,25,25,0)
  440PROCCircle(10,80,10,770,350,70,70,0)
  450
  460REM Foot 1
  470PROCCircle(10,80,10,600,250,120,70,0)
  480PROCCircle(10,80,10,500,300,90,140,45)
  490PROCCircle(40,80,40,500,290,70,80,45)
  500PROCCircle(10,80,10,450,420,35,35,0)
  510PROCCircle(10,80,10,425,395,25,25,0)
  520PROCCircle(10,80,10,400,370,25,25,0)
  530PROCCircle(10,80,10,385,340,18,18,0)
  540
  550REM Foot 2
  560PROCCircle(10,80,10,1000,250,120,70,0)
  570PROCCircle(10,80,10,1100,300,90,140,-45)
  580PROCCircle(40,80,40,1100,290,70,80,-45)
  590PROCCircle(10,80,10,1150,420,35,35,0)
  600PROCCircle(10,80,10,1175,395,25,25,0)
  610PROCCircle(10,80,10,1200,370,25,25,0)
  620PROCCircle(10,80,10,1215,340,18,18,0)
  630
  640IFGET
  690
  700END
  710
  720DEF PROCCircle(r,g,b,x,y,w,h,a)
  730    a=RAD(a)
  740    LOCAL max,min,steps,sub,hicol,coldiff
  750    IF w>h THEN max=w:min=h ELSE max=h:min=w
  760    steps=max:sub=min/max
  770    hicol=127-r
  780    IF 127-g>hicol THEN hicol=127-g
  790    IF 127-b>hicol THEN hicol=127-b
  800    coldiff=hicol/steps
  810    FOR loop=1 TO steps-2
  820        GCOL r,g,b
  830        ELLIPSE FILL x,y,w,h,a
  840        IF w>h THEN w-=1:h-=sub ELSE w-=sub:h-=1
  850        r+=coldiff:g+=coldiff:b+=coldiff
  860    NEXT loop
  870ENDPROC
  880
  890
  900REM The following three procedures/functions were released in Acorn user,
  910REM and are not by me!
  920DEF PROCmode(mode$)
  930LOCAL c$,ex,ey,mode,end
  940DIM mode 64
  950end=mode+20
  960!mode=1
  970mode!4=VAL FN_m(mode$,"X","")
  980mode!8=VAL FN_m(mode$,"Y","")
  990c$=FN_m(mode$,"C","*")
 1000IF c$="*" THEN
 1010 c$=FN_m(mode$,"G","")
 1020 IF c$="256" !end=3:end!4=255:end+=8
 1030ENDIF
 1040mode!12=FN_bpp(c$)
 1050mode!16=VAL FN_m(mode$,"F","-1")
 1060ex=VAL FN_m(mode$,"EX","-1")
 1070IF ex<>-1 !end=4:end!4=ex:end+=8
 1080ey=VAL FN_m(mode$,"EY","-1")
 1090IF ey<>-1 !end=5:end!4=ey:end+=8
 1100!end=-1
 1110MODE mode
 1120ENDPROC
 1130
 1140DEF FN_m(s$,p$,d$)
 1150LOCAL i,j
 1160i=INSTR(s$,p$)
 1170IF i<1 AND d$="" ERROR 490,"Missing "+p$
 1180IF i<1 THEN =d$
 1190j=INSTR(s$+" "," ",i+1)
 1200=MID$(s$,i+1,j-i-1)
 1210
 1220DEF FN_bpp(n$)
 1230CASE n$ OF
 1240 WHEN "2":=0
 1250 WHEN "4":=1
 1260 WHEN "16":=2
 1270 WHEN "256":=3
 1280 WHEN "32T","32t","32K","32k":=4
 1290 WHEN "16M","16m":=5
 1300 OTHERWISE: ERROR 490,"Bad parameter "+n$
 1310ENDCASE

� � � �$+" at line "+�(�):�
�mode("X800 Y600 C32T")
�
(�
2
<� The background
F'�Circle(40,30,90,800,600,800,600,0)
P'�Circle(40,60,30,800,250,800,250,1)
Z
d� The body
n'�Circle(10,80,10,800,600,250,200,0)
x'�Circle(10,80,10,800,450,300,200,0)
�'�Circle(90,50,30,800,425,224,150,0)
�
�� The head
�'�Circle(10,80,10,800,800,200,150,0)
�%�Circle(80,80,80,700,950,80,80,0)
�%�Circle(80,80,80,900,950,80,80,0)
�%�Circle(20,20,20,700,950,10,10,0)
�%�Circle(20,20,20,900,950,10,10,0)
�%�Circle(10,80,10,770,800,15,10,0)
�%�Circle(10,80,10,830,800,15,10,0)
�&�Circle(20,20,20,800,700,145,10,1)
�&�Circle(110,50,50,800,690,35,15,0)
�
� Arm 1
(�Circle(10,80,10,1070,600,70,130,28)
(�Circle(10,80,10,980,425,80,180,-60)
"%�Circle(10,80,10,815,420,25,25,0)
,%�Circle(10,80,10,810,410,25,25,0)
6%�Circle(10,80,10,760,360,25,25,0)
@%�Circle(10,80,10,770,330,25,25,0)
J%�Circle(10,80,10,780,300,25,25,0)
T%�Circle(10,80,10,830,350,70,70,0)
^
h� Arm 2
r(�Circle(10,80,10,530,600,70,130,-28)
|'�Circle(10,80,10,620,425,80,180,60)
�%�Circle(10,80,10,785,420,25,25,0)
�%�Circle(10,80,10,790,410,25,25,0)
�%�Circle(10,80,10,840,360,25,25,0)
�%�Circle(10,80,10,830,330,25,25,0)
�%�Circle(10,80,10,820,300,25,25,0)
�%�Circle(10,80,10,770,350,70,70,0)
�
�� Foot 1
�&�Circle(10,80,10,600,250,120,70,0)
�'�Circle(10,80,10,500,300,90,140,45)
�&�Circle(40,80,40,500,290,70,80,45)
�%�Circle(10,80,10,450,420,35,35,0)
�%�Circle(10,80,10,425,395,25,25,0)
%�Circle(10,80,10,400,370,25,25,0)
%�Circle(10,80,10,385,340,18,18,0)

&� Foot 2
0'�Circle(10,80,10,1000,250,120,70,0)
:)�Circle(10,80,10,1100,300,90,140,-45)
D(�Circle(40,80,40,1100,290,70,80,-45)
N&�Circle(10,80,10,1150,420,35,35,0)
X&�Circle(10,80,10,1175,395,25,25,0)
b&�Circle(10,80,10,1200,370,25,25,0)
l&�Circle(10,80,10,1215,340,18,18,0)
v
��
�
��
�
�� �Circle(r,g,b,x,y,w,h,a)
�    a=�(a)
�)    � max,min,steps,sub,hicol,coldiff
�)    � w>h � max=w:min=h � max=h:min=w
�    steps=max:sub=min/max
    hicol=127-r
#    � 127-g>hicol � hicol=127-g
#    � 127-b>hicol � hicol=127-b
     coldiff=hicol/steps
*    � loop=1 � steps-2
4        � r,g,b
>        ȝ Ȑ x,y,w,h,a
H-        � w>h � w-=1:h-=sub � w-=sub:h-=1
R,        r+=coldiff:g+=coldiff:b+=coldiff
\    � loop
f�
p
z
�K� The following three procedures/functions were released in Acorn user,
�� and are not by me!
�� �mode(mode$)
�� c$,ex,ey,mode,end
�
� mode 64
�end=mode+20
�!mode=1
�mode!4=� �_m(mode$,"X","")
�mode!8=� �_m(mode$,"Y","")
�c$=�_m(mode$,"C","*")
�� c$="*" �
� c$=�_m(mode$,"G","")
�' � c$="256" !end=3:end!4=255:end+=8
�
mode!12=�_bpp(c$)
!mode!16=� �_m(mode$,"F","-1")
$ex=� �_m(mode$,"EX","-1")
.#� ex<>-1 !end=4:end!4=ex:end+=8
8ey=� �_m(mode$,"EY","-1")
B#� ey<>-1 !end=5:end!4=ey:end+=8
L!end=-1
V
� mode
`�
j
t� �_m(s$,p$,d$)
~	� i,j
�
i=�s$,p$)
�%� i<1 � d$="" � 490,"Missing "+p$
�� i<1 � =d$
�j=�s$+" "," ",i+1)
�=�s$,i+1,j-i-1)
�
�� �_bpp(n$)
�Ȏ n$ �
�
 � "2":=0
�
 � "4":=1
� � "16":=2
� � "256":=3
! � "32T","32t","32K","32k":=4

 � "16M","16m":=5
! : � 490,"Bad parameter "+n$
�
�
00000000  0d 00 0a 1f ee 20 85 20  f1 20 f6 24 2b 22 20 61  |..... . . .$+" a|
00000010  74 20 6c 69 6e 65 20 22  2b c3 28 9e 29 3a fa 0d  |t line "+.(.):..|
00000020  00 14 1b f2 6d 6f 64 65  28 22 58 38 30 30 20 59  |....mode("X800 Y|
00000030  36 30 30 20 43 33 32 54  22 29 0d 00 1e 05 87 0d  |600 C32T")......|
00000040  00 28 05 db 0d 00 32 04  0d 00 3c 14 f4 20 54 68  |.(....2...<.. Th|
00000050  65 20 62 61 63 6b 67 72  6f 75 6e 64 0d 00 46 27  |e background..F'|
00000060  f2 43 69 72 63 6c 65 28  34 30 2c 33 30 2c 39 30  |.Circle(40,30,90|
00000070  2c 38 30 30 2c 36 30 30  2c 38 30 30 2c 36 30 30  |,800,600,800,600|
00000080  2c 30 29 0d 00 50 27 f2  43 69 72 63 6c 65 28 34  |,0)..P'.Circle(4|
00000090  30 2c 36 30 2c 33 30 2c  38 30 30 2c 32 35 30 2c  |0,60,30,800,250,|
000000a0  38 30 30 2c 32 35 30 2c  31 29 0d 00 5a 04 0d 00  |800,250,1)..Z...|
000000b0  64 0e f4 20 54 68 65 20  62 6f 64 79 0d 00 6e 27  |d.. The body..n'|
000000c0  f2 43 69 72 63 6c 65 28  31 30 2c 38 30 2c 31 30  |.Circle(10,80,10|
000000d0  2c 38 30 30 2c 36 30 30  2c 32 35 30 2c 32 30 30  |,800,600,250,200|
000000e0  2c 30 29 0d 00 78 27 f2  43 69 72 63 6c 65 28 31  |,0)..x'.Circle(1|
000000f0  30 2c 38 30 2c 31 30 2c  38 30 30 2c 34 35 30 2c  |0,80,10,800,450,|
00000100  33 30 30 2c 32 30 30 2c  30 29 0d 00 82 27 f2 43  |300,200,0)...'.C|
00000110  69 72 63 6c 65 28 39 30  2c 35 30 2c 33 30 2c 38  |ircle(90,50,30,8|
00000120  30 30 2c 34 32 35 2c 32  32 34 2c 31 35 30 2c 30  |00,425,224,150,0|
00000130  29 0d 00 8c 04 0d 00 96  0e f4 20 54 68 65 20 68  |)......... The h|
00000140  65 61 64 0d 00 a0 27 f2  43 69 72 63 6c 65 28 31  |ead...'.Circle(1|
00000150  30 2c 38 30 2c 31 30 2c  38 30 30 2c 38 30 30 2c  |0,80,10,800,800,|
00000160  32 30 30 2c 31 35 30 2c  30 29 0d 00 aa 25 f2 43  |200,150,0)...%.C|
00000170  69 72 63 6c 65 28 38 30  2c 38 30 2c 38 30 2c 37  |ircle(80,80,80,7|
00000180  30 30 2c 39 35 30 2c 38  30 2c 38 30 2c 30 29 0d  |00,950,80,80,0).|
00000190  00 b4 25 f2 43 69 72 63  6c 65 28 38 30 2c 38 30  |..%.Circle(80,80|
000001a0  2c 38 30 2c 39 30 30 2c  39 35 30 2c 38 30 2c 38  |,80,900,950,80,8|
000001b0  30 2c 30 29 0d 00 be 25  f2 43 69 72 63 6c 65 28  |0,0)...%.Circle(|
000001c0  32 30 2c 32 30 2c 32 30  2c 37 30 30 2c 39 35 30  |20,20,20,700,950|
000001d0  2c 31 30 2c 31 30 2c 30  29 0d 00 c8 25 f2 43 69  |,10,10,0)...%.Ci|
000001e0  72 63 6c 65 28 32 30 2c  32 30 2c 32 30 2c 39 30  |rcle(20,20,20,90|
000001f0  30 2c 39 35 30 2c 31 30  2c 31 30 2c 30 29 0d 00  |0,950,10,10,0)..|
00000200  d2 25 f2 43 69 72 63 6c  65 28 31 30 2c 38 30 2c  |.%.Circle(10,80,|
00000210  31 30 2c 37 37 30 2c 38  30 30 2c 31 35 2c 31 30  |10,770,800,15,10|
00000220  2c 30 29 0d 00 dc 25 f2  43 69 72 63 6c 65 28 31  |,0)...%.Circle(1|
00000230  30 2c 38 30 2c 31 30 2c  38 33 30 2c 38 30 30 2c  |0,80,10,830,800,|
00000240  31 35 2c 31 30 2c 30 29  0d 00 e6 26 f2 43 69 72  |15,10,0)...&.Cir|
00000250  63 6c 65 28 32 30 2c 32  30 2c 32 30 2c 38 30 30  |cle(20,20,20,800|
00000260  2c 37 30 30 2c 31 34 35  2c 31 30 2c 31 29 0d 00  |,700,145,10,1)..|
00000270  f0 26 f2 43 69 72 63 6c  65 28 31 31 30 2c 35 30  |.&.Circle(110,50|
00000280  2c 35 30 2c 38 30 30 2c  36 39 30 2c 33 35 2c 31  |,50,800,690,35,1|
00000290  35 2c 30 29 0d 00 fa 04  0d 01 04 0b f4 20 41 72  |5,0)......... Ar|
000002a0  6d 20 31 0d 01 0e 28 f2  43 69 72 63 6c 65 28 31  |m 1...(.Circle(1|
000002b0  30 2c 38 30 2c 31 30 2c  31 30 37 30 2c 36 30 30  |0,80,10,1070,600|
000002c0  2c 37 30 2c 31 33 30 2c  32 38 29 0d 01 18 28 f2  |,70,130,28)...(.|
000002d0  43 69 72 63 6c 65 28 31  30 2c 38 30 2c 31 30 2c  |Circle(10,80,10,|
000002e0  39 38 30 2c 34 32 35 2c  38 30 2c 31 38 30 2c 2d  |980,425,80,180,-|
000002f0  36 30 29 0d 01 22 25 f2  43 69 72 63 6c 65 28 31  |60).."%.Circle(1|
00000300  30 2c 38 30 2c 31 30 2c  38 31 35 2c 34 32 30 2c  |0,80,10,815,420,|
00000310  32 35 2c 32 35 2c 30 29  0d 01 2c 25 f2 43 69 72  |25,25,0)..,%.Cir|
00000320  63 6c 65 28 31 30 2c 38  30 2c 31 30 2c 38 31 30  |cle(10,80,10,810|
00000330  2c 34 31 30 2c 32 35 2c  32 35 2c 30 29 0d 01 36  |,410,25,25,0)..6|
00000340  25 f2 43 69 72 63 6c 65  28 31 30 2c 38 30 2c 31  |%.Circle(10,80,1|
00000350  30 2c 37 36 30 2c 33 36  30 2c 32 35 2c 32 35 2c  |0,760,360,25,25,|
00000360  30 29 0d 01 40 25 f2 43  69 72 63 6c 65 28 31 30  |0)..@%.Circle(10|
00000370  2c 38 30 2c 31 30 2c 37  37 30 2c 33 33 30 2c 32  |,80,10,770,330,2|
00000380  35 2c 32 35 2c 30 29 0d  01 4a 25 f2 43 69 72 63  |5,25,0)..J%.Circ|
00000390  6c 65 28 31 30 2c 38 30  2c 31 30 2c 37 38 30 2c  |le(10,80,10,780,|
000003a0  33 30 30 2c 32 35 2c 32  35 2c 30 29 0d 01 54 25  |300,25,25,0)..T%|
000003b0  f2 43 69 72 63 6c 65 28  31 30 2c 38 30 2c 31 30  |.Circle(10,80,10|
000003c0  2c 38 33 30 2c 33 35 30  2c 37 30 2c 37 30 2c 30  |,830,350,70,70,0|
000003d0  29 0d 01 5e 04 0d 01 68  0b f4 20 41 72 6d 20 32  |)..^...h.. Arm 2|
000003e0  0d 01 72 28 f2 43 69 72  63 6c 65 28 31 30 2c 38  |..r(.Circle(10,8|
000003f0  30 2c 31 30 2c 35 33 30  2c 36 30 30 2c 37 30 2c  |0,10,530,600,70,|
00000400  31 33 30 2c 2d 32 38 29  0d 01 7c 27 f2 43 69 72  |130,-28)..|'.Cir|
00000410  63 6c 65 28 31 30 2c 38  30 2c 31 30 2c 36 32 30  |cle(10,80,10,620|
00000420  2c 34 32 35 2c 38 30 2c  31 38 30 2c 36 30 29 0d  |,425,80,180,60).|
00000430  01 86 25 f2 43 69 72 63  6c 65 28 31 30 2c 38 30  |..%.Circle(10,80|
00000440  2c 31 30 2c 37 38 35 2c  34 32 30 2c 32 35 2c 32  |,10,785,420,25,2|
00000450  35 2c 30 29 0d 01 90 25  f2 43 69 72 63 6c 65 28  |5,0)...%.Circle(|
00000460  31 30 2c 38 30 2c 31 30  2c 37 39 30 2c 34 31 30  |10,80,10,790,410|
00000470  2c 32 35 2c 32 35 2c 30  29 0d 01 9a 25 f2 43 69  |,25,25,0)...%.Ci|
00000480  72 63 6c 65 28 31 30 2c  38 30 2c 31 30 2c 38 34  |rcle(10,80,10,84|
00000490  30 2c 33 36 30 2c 32 35  2c 32 35 2c 30 29 0d 01  |0,360,25,25,0)..|
000004a0  a4 25 f2 43 69 72 63 6c  65 28 31 30 2c 38 30 2c  |.%.Circle(10,80,|
000004b0  31 30 2c 38 33 30 2c 33  33 30 2c 32 35 2c 32 35  |10,830,330,25,25|
000004c0  2c 30 29 0d 01 ae 25 f2  43 69 72 63 6c 65 28 31  |,0)...%.Circle(1|
000004d0  30 2c 38 30 2c 31 30 2c  38 32 30 2c 33 30 30 2c  |0,80,10,820,300,|
000004e0  32 35 2c 32 35 2c 30 29  0d 01 b8 25 f2 43 69 72  |25,25,0)...%.Cir|
000004f0  63 6c 65 28 31 30 2c 38  30 2c 31 30 2c 37 37 30  |cle(10,80,10,770|
00000500  2c 33 35 30 2c 37 30 2c  37 30 2c 30 29 0d 01 c2  |,350,70,70,0)...|
00000510  04 0d 01 cc 0c f4 20 46  6f 6f 74 20 31 0d 01 d6  |...... Foot 1...|
00000520  26 f2 43 69 72 63 6c 65  28 31 30 2c 38 30 2c 31  |&.Circle(10,80,1|
00000530  30 2c 36 30 30 2c 32 35  30 2c 31 32 30 2c 37 30  |0,600,250,120,70|
00000540  2c 30 29 0d 01 e0 27 f2  43 69 72 63 6c 65 28 31  |,0)...'.Circle(1|
00000550  30 2c 38 30 2c 31 30 2c  35 30 30 2c 33 30 30 2c  |0,80,10,500,300,|
00000560  39 30 2c 31 34 30 2c 34  35 29 0d 01 ea 26 f2 43  |90,140,45)...&.C|
00000570  69 72 63 6c 65 28 34 30  2c 38 30 2c 34 30 2c 35  |ircle(40,80,40,5|
00000580  30 30 2c 32 39 30 2c 37  30 2c 38 30 2c 34 35 29  |00,290,70,80,45)|
00000590  0d 01 f4 25 f2 43 69 72  63 6c 65 28 31 30 2c 38  |...%.Circle(10,8|
000005a0  30 2c 31 30 2c 34 35 30  2c 34 32 30 2c 33 35 2c  |0,10,450,420,35,|
000005b0  33 35 2c 30 29 0d 01 fe  25 f2 43 69 72 63 6c 65  |35,0)...%.Circle|
000005c0  28 31 30 2c 38 30 2c 31  30 2c 34 32 35 2c 33 39  |(10,80,10,425,39|
000005d0  35 2c 32 35 2c 32 35 2c  30 29 0d 02 08 25 f2 43  |5,25,25,0)...%.C|
000005e0  69 72 63 6c 65 28 31 30  2c 38 30 2c 31 30 2c 34  |ircle(10,80,10,4|
000005f0  30 30 2c 33 37 30 2c 32  35 2c 32 35 2c 30 29 0d  |00,370,25,25,0).|
00000600  02 12 25 f2 43 69 72 63  6c 65 28 31 30 2c 38 30  |..%.Circle(10,80|
00000610  2c 31 30 2c 33 38 35 2c  33 34 30 2c 31 38 2c 31  |,10,385,340,18,1|
00000620  38 2c 30 29 0d 02 1c 04  0d 02 26 0c f4 20 46 6f  |8,0)......&.. Fo|
00000630  6f 74 20 32 0d 02 30 27  f2 43 69 72 63 6c 65 28  |ot 2..0'.Circle(|
00000640  31 30 2c 38 30 2c 31 30  2c 31 30 30 30 2c 32 35  |10,80,10,1000,25|
00000650  30 2c 31 32 30 2c 37 30  2c 30 29 0d 02 3a 29 f2  |0,120,70,0)..:).|
00000660  43 69 72 63 6c 65 28 31  30 2c 38 30 2c 31 30 2c  |Circle(10,80,10,|
00000670  31 31 30 30 2c 33 30 30  2c 39 30 2c 31 34 30 2c  |1100,300,90,140,|
00000680  2d 34 35 29 0d 02 44 28  f2 43 69 72 63 6c 65 28  |-45)..D(.Circle(|
00000690  34 30 2c 38 30 2c 34 30  2c 31 31 30 30 2c 32 39  |40,80,40,1100,29|
000006a0  30 2c 37 30 2c 38 30 2c  2d 34 35 29 0d 02 4e 26  |0,70,80,-45)..N&|
000006b0  f2 43 69 72 63 6c 65 28  31 30 2c 38 30 2c 31 30  |.Circle(10,80,10|
000006c0  2c 31 31 35 30 2c 34 32  30 2c 33 35 2c 33 35 2c  |,1150,420,35,35,|
000006d0  30 29 0d 02 58 26 f2 43  69 72 63 6c 65 28 31 30  |0)..X&.Circle(10|
000006e0  2c 38 30 2c 31 30 2c 31  31 37 35 2c 33 39 35 2c  |,80,10,1175,395,|
000006f0  32 35 2c 32 35 2c 30 29  0d 02 62 26 f2 43 69 72  |25,25,0)..b&.Cir|
00000700  63 6c 65 28 31 30 2c 38  30 2c 31 30 2c 31 32 30  |cle(10,80,10,120|
00000710  30 2c 33 37 30 2c 32 35  2c 32 35 2c 30 29 0d 02  |0,370,25,25,0)..|
00000720  6c 26 f2 43 69 72 63 6c  65 28 31 30 2c 38 30 2c  |l&.Circle(10,80,|
00000730  31 30 2c 31 32 31 35 2c  33 34 30 2c 31 38 2c 31  |10,1215,340,18,1|
00000740  38 2c 30 29 0d 02 76 04  0d 02 80 06 e7 a5 0d 02  |8,0)..v.........|
00000750  b2 04 0d 02 bc 05 e0 0d  02 c6 04 0d 02 d0 1e dd  |................|
00000760  20 f2 43 69 72 63 6c 65  28 72 2c 67 2c 62 2c 78  | .Circle(r,g,b,x|
00000770  2c 79 2c 77 2c 68 2c 61  29 0d 02 da 0e 20 20 20  |,y,w,h,a)....   |
00000780  20 61 3d b2 28 61 29 0d  02 e4 29 20 20 20 20 ea  | a=.(a)...)    .|
00000790  20 6d 61 78 2c 6d 69 6e  2c 73 74 65 70 73 2c 73  | max,min,steps,s|
000007a0  75 62 2c 68 69 63 6f 6c  2c 63 6f 6c 64 69 66 66  |ub,hicol,coldiff|
000007b0  0d 02 ee 29 20 20 20 20  e7 20 77 3e 68 20 8c 20  |...)    . w>h . |
000007c0  6d 61 78 3d 77 3a 6d 69  6e 3d 68 20 8b 20 6d 61  |max=w:min=h . ma|
000007d0  78 3d 68 3a 6d 69 6e 3d  77 0d 02 f8 1d 20 20 20  |x=h:min=w....   |
000007e0  20 73 74 65 70 73 3d 6d  61 78 3a 73 75 62 3d 6d  | steps=max:sub=m|
000007f0  69 6e 2f 6d 61 78 0d 03  02 13 20 20 20 20 68 69  |in/max....    hi|
00000800  63 6f 6c 3d 31 32 37 2d  72 0d 03 0c 23 20 20 20  |col=127-r...#   |
00000810  20 e7 20 31 32 37 2d 67  3e 68 69 63 6f 6c 20 8c  | . 127-g>hicol .|
00000820  20 68 69 63 6f 6c 3d 31  32 37 2d 67 0d 03 16 23  | hicol=127-g...#|
00000830  20 20 20 20 e7 20 31 32  37 2d 62 3e 68 69 63 6f  |    . 127-b>hico|
00000840  6c 20 8c 20 68 69 63 6f  6c 3d 31 32 37 2d 62 0d  |l . hicol=127-b.|
00000850  03 20 1b 20 20 20 20 63  6f 6c 64 69 66 66 3d 68  |. .    coldiff=h|
00000860  69 63 6f 6c 2f 73 74 65  70 73 0d 03 2a 1a 20 20  |icol/steps..*.  |
00000870  20 20 e3 20 6c 6f 6f 70  3d 31 20 b8 20 73 74 65  |  . loop=1 . ste|
00000880  70 73 2d 32 0d 03 34 13  20 20 20 20 20 20 20 20  |ps-2..4.        |
00000890  e6 20 72 2c 67 2c 62 0d  03 3e 1b 20 20 20 20 20  |. r,g,b..>.     |
000008a0  20 20 20 c8 9d 20 c8 90  20 78 2c 79 2c 77 2c 68  |   .. .. x,y,w,h|
000008b0  2c 61 0d 03 48 2d 20 20  20 20 20 20 20 20 e7 20  |,a..H-        . |
000008c0  77 3e 68 20 8c 20 77 2d  3d 31 3a 68 2d 3d 73 75  |w>h . w-=1:h-=su|
000008d0  62 20 8b 20 77 2d 3d 73  75 62 3a 68 2d 3d 31 0d  |b . w-=sub:h-=1.|
000008e0  03 52 2c 20 20 20 20 20  20 20 20 72 2b 3d 63 6f  |.R,        r+=co|
000008f0  6c 64 69 66 66 3a 67 2b  3d 63 6f 6c 64 69 66 66  |ldiff:g+=coldiff|
00000900  3a 62 2b 3d 63 6f 6c 64  69 66 66 0d 03 5c 0e 20  |:b+=coldiff..\. |
00000910  20 20 20 ed 20 6c 6f 6f  70 0d 03 66 05 e1 0d 03  |   . loop..f....|
00000920  70 04 0d 03 7a 04 0d 03  84 4b f4 20 54 68 65 20  |p...z....K. The |
00000930  66 6f 6c 6c 6f 77 69 6e  67 20 74 68 72 65 65 20  |following three |
00000940  70 72 6f 63 65 64 75 72  65 73 2f 66 75 6e 63 74  |procedures/funct|
00000950  69 6f 6e 73 20 77 65 72  65 20 72 65 6c 65 61 73  |ions were releas|
00000960  65 64 20 69 6e 20 41 63  6f 72 6e 20 75 73 65 72  |ed in Acorn user|
00000970  2c 0d 03 8e 18 f4 20 61  6e 64 20 61 72 65 20 6e  |,..... and are n|
00000980  6f 74 20 62 79 20 6d 65  21 0d 03 98 12 dd 20 f2  |ot by me!..... .|
00000990  6d 6f 64 65 28 6d 6f 64  65 24 29 0d 03 a2 17 ea  |mode(mode$).....|
000009a0  20 63 24 2c 65 78 2c 65  79 2c 6d 6f 64 65 2c 65  | c$,ex,ey,mode,e|
000009b0  6e 64 0d 03 ac 0d de 20  6d 6f 64 65 20 36 34 0d  |nd..... mode 64.|
000009c0  03 b6 0f 65 6e 64 3d 6d  6f 64 65 2b 32 30 0d 03  |...end=mode+20..|
000009d0  c0 0b 21 6d 6f 64 65 3d  31 0d 03 ca 1e 6d 6f 64  |..!mode=1....mod|
000009e0  65 21 34 3d bb 20 a4 5f  6d 28 6d 6f 64 65 24 2c  |e!4=. ._m(mode$,|
000009f0  22 58 22 2c 22 22 29 0d  03 d4 1e 6d 6f 64 65 21  |"X","")....mode!|
00000a00  38 3d bb 20 a4 5f 6d 28  6d 6f 64 65 24 2c 22 59  |8=. ._m(mode$,"Y|
00000a10  22 2c 22 22 29 0d 03 de  19 63 24 3d a4 5f 6d 28  |","")....c$=._m(|
00000a20  6d 6f 64 65 24 2c 22 43  22 2c 22 2a 22 29 0d 03  |mode$,"C","*")..|
00000a30  e8 0e e7 20 63 24 3d 22  2a 22 20 8c 0d 03 f2 19  |... c$="*" .....|
00000a40  20 63 24 3d a4 5f 6d 28  6d 6f 64 65 24 2c 22 47  | c$=._m(mode$,"G|
00000a50  22 2c 22 22 29 0d 03 fc  27 20 e7 20 63 24 3d 22  |","")...' . c$="|
00000a60  32 35 36 22 20 21 65 6e  64 3d 33 3a 65 6e 64 21  |256" !end=3:end!|
00000a70  34 3d 32 35 35 3a 65 6e  64 2b 3d 38 0d 04 06 05  |4=255:end+=8....|
00000a80  cd 0d 04 10 15 6d 6f 64  65 21 31 32 3d a4 5f 62  |.....mode!12=._b|
00000a90  70 70 28 63 24 29 0d 04  1a 21 6d 6f 64 65 21 31  |pp(c$)...!mode!1|
00000aa0  36 3d bb 20 a4 5f 6d 28  6d 6f 64 65 24 2c 22 46  |6=. ._m(mode$,"F|
00000ab0  22 2c 22 2d 31 22 29 0d  04 24 1d 65 78 3d bb 20  |","-1")..$.ex=. |
00000ac0  a4 5f 6d 28 6d 6f 64 65  24 2c 22 45 58 22 2c 22  |._m(mode$,"EX","|
00000ad0  2d 31 22 29 0d 04 2e 23  e7 20 65 78 3c 3e 2d 31  |-1")...#. ex<>-1|
00000ae0  20 21 65 6e 64 3d 34 3a  65 6e 64 21 34 3d 65 78  | !end=4:end!4=ex|
00000af0  3a 65 6e 64 2b 3d 38 0d  04 38 1d 65 79 3d bb 20  |:end+=8..8.ey=. |
00000b00  a4 5f 6d 28 6d 6f 64 65  24 2c 22 45 59 22 2c 22  |._m(mode$,"EY","|
00000b10  2d 31 22 29 0d 04 42 23  e7 20 65 79 3c 3e 2d 31  |-1")..B#. ey<>-1|
00000b20  20 21 65 6e 64 3d 35 3a  65 6e 64 21 34 3d 65 79  | !end=5:end!4=ey|
00000b30  3a 65 6e 64 2b 3d 38 0d  04 4c 0b 21 65 6e 64 3d  |:end+=8..L.!end=|
00000b40  2d 31 0d 04 56 0a eb 20  6d 6f 64 65 0d 04 60 05  |-1..V.. mode..`.|
00000b50  e1 0d 04 6a 04 0d 04 74  13 dd 20 a4 5f 6d 28 73  |...j...t.. ._m(s|
00000b60  24 2c 70 24 2c 64 24 29  0d 04 7e 09 ea 20 69 2c  |$,p$,d$)..~.. i,|
00000b70  6a 0d 04 88 0d 69 3d a7  73 24 2c 70 24 29 0d 04  |j....i=.s$,p$)..|
00000b80  92 25 e7 20 69 3c 31 20  80 20 64 24 3d 22 22 20  |.%. i<1 . d$="" |
00000b90  85 20 34 39 30 2c 22 4d  69 73 73 69 6e 67 20 22  |. 490,"Missing "|
00000ba0  2b 70 24 0d 04 9c 0f e7  20 69 3c 31 20 8c 20 3d  |+p$..... i<1 . =|
00000bb0  64 24 0d 04 a6 16 6a 3d  a7 73 24 2b 22 20 22 2c  |d$....j=.s$+" ",|
00000bc0  22 20 22 2c 69 2b 31 29  0d 04 b0 13 3d c1 73 24  |" ",i+1)....=.s$|
00000bd0  2c 69 2b 31 2c 6a 2d 69  2d 31 29 0d 04 ba 04 0d  |,i+1,j-i-1).....|
00000be0  04 c4 0f dd 20 a4 5f 62  70 70 28 6e 24 29 0d 04  |.... ._bpp(n$)..|
00000bf0  ce 0b c8 8e 20 6e 24 20  ca 0d 04 d8 0d 20 c9 20  |.... n$ ..... . |
00000c00  22 32 22 3a 3d 30 0d 04  e2 0d 20 c9 20 22 34 22  |"2":=0.... . "4"|
00000c10  3a 3d 31 0d 04 ec 0e 20  c9 20 22 31 36 22 3a 3d  |:=1.... . "16":=|
00000c20  32 0d 04 f6 0f 20 c9 20  22 32 35 36 22 3a 3d 33  |2.... . "256":=3|
00000c30  0d 05 00 21 20 c9 20 22  33 32 54 22 2c 22 33 32  |...! . "32T","32|
00000c40  74 22 2c 22 33 32 4b 22  2c 22 33 32 6b 22 3a 3d  |t","32K","32k":=|
00000c50  34 0d 05 0a 15 20 c9 20  22 31 36 4d 22 2c 22 31  |4.... . "16M","1|
00000c60  36 6d 22 3a 3d 35 0d 05  14 21 20 7f 3a 20 85 20  |6m":=5...! .: . |
00000c70  34 39 30 2c 22 42 61 64  20 70 61 72 61 6d 65 74  |490,"Bad paramet|
00000c80  65 72 20 22 2b 6e 24 0d  05 1e 05 cb 0d ff        |er "+n$.......|
00000c8e