Home » Personal collection » Acorn hard disk » files » DomFord » OldMand/!RunImage

OldMand/!RunImage

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 hard disk » files » DomFord
Filename: OldMand/!RunImage
Read OK:
File size: 0FAA bytes
Load address: 0000
Exec address: 0000
Duplicates

There are 3 duplicate copies of this file in the archive:

File contents
   10REM Mandelbrot Set Plotter
   20REM By Dominic Ford
   30:
   40ON ERROR PROCerror:END
   50SYS "OS_ChangeDynamicArea",3,&8000
   60SYS "OS_ChangeDynamicArea",5,&30000
   70*SLOAD <Obey$Dir>.!Sprites
   80*RAM
   90*CDIR MandelWorks
  100*DIR MandelWorks
  110xpix=1024:ypix=1024:maxiters=25:cornster=1
  120XMIN=-2:XMAX=2:YMIN=-2:YMAX=2
  130DIM q% 256
  140SYS "Wimp_Initialise",200,&4B534154,"MandelPlot" TO,task_handle%
  150DIM sp% 256 , err% 256
  160!err%=0:$(err%+4)="WARNING: MandelPlot requires a RAM disc to function. DO NOT delete or alter its contents!"+CHR$0
  170SYS "Wimp_ReportError",err%,3,"MandelPlot" TO result%
  180!sp%=-1
  190sp%!4=0
  200sp%!8=0
  210sp%!12=100
  220sp%!16=68
  230sp%!20=%00010001000000000011000000101010
  240REM                     ^  ^
  250$(sp%+24)="!mandel"+CHR$0
  260SYS "Wimp_CreateIcon",,sp% TO ic%
  270REPEAT
  280SYS "Wimp_Poll",0,q% TO act%
  290CASE act% OF
  300WHEN 17,18
  310 IF q%!16=0 END
  320WHEN 6
  330 IF q%!12=-2 AND q%!16=ic% THEN
  340   PROCmandelplot
  350   SYS "Wimp_ForceRedraw",-1,0,0,1280,1024
  360   IF (result% AND 1) =1 THEN END
  370   IF ACTION=2 THEN END
  380 ENDIF
  390ENDCASE
  400UNTIL FALSE
  410:
  420DEFPROCmandelplot
  430MODE 15
  440REPEAT
  450MOUSE X,Y,C
  460UNTIL C=0
  470TERMINATE=FALSE:ACTION=FALSE
  480REPEAT
  490PROCplotter
  500IF ACTION=3 THEN PROCreposac
  510UNTIL ACTION=1 OR ACTION=2
  520ENDPROC
  530:
  540DEFPROCplotter
  550PROCscreen
  560xpixs=xpix:ypixs=ypix:XMINs=XMIN:YMINs=YMIN
  570X3=(XMAX-XMIN)/xpixs:X4=(YMAX-YMIN)/ypixs
  580stx=xpix:sty=ypix
  590REPEAT
  600stx=stx/2:sty=sty/2
  610FORX=0 TOxpixs STEP stx
  620FORY=0 TOypixs STEP sty
  630IF((X/stx) MOD 2)=0AND((Y/sty) MOD 2)=0THENNEXT,:UNTILTERMINATE=TRUE:ENDPROC
  640PROCsetp
  650MOVE X+282,Y:MOVE X+280+stx,Y
  660PLOT 85,X+282,Y+sty-2:PLOT 85,X+280+stx,Y+sty-2
  670IF TERMINATE=TRUE THEN X=xpixs:Y=ypixs
  680NEXT,
  690UNTIL TERMINATE=TRUE
  700ENDPROC
  710:
  720DEFPROCerror
  730ON ERROR OFF
  740REPORT:PRINT" at line ";ERL
  750ENDPROC
  760:
  770DEFPROCsetp
  780PROCcheckclick
  790XB=XMINs+(X3*X)
  800YB=YMINs+(X4*Y)
  810C=0:U=XB:V=YB
  820REPEAT
  830US=U^2:VS=V^2
  840UN=US-VS+XB
  850VN=2*U*V+YB
  860U=UN:V=VN
  870C=C+1
  880UNTIL US+VS>4 OR C=maxiters
  890IFC=255THENC=0
  900GCOL0,C
  910ENDPROC
  920:
  930DEFPROCscreen
  940MOUSE ON
  950CLS
  960VDU 23,1,0;0;0;
  970GCOL 0,255:MOVE 280,0:DRAW 280,1024
  980*SCHOOSE logo
  990PLOT &ED,0,775
 1000COLOUR 128+127:COLOUR 0
 1010PRINTTAB(0,10);"Resize Plot Area "
 1020PRINTTAB(0,12);"Colour Cycling   "
 1030PRINTTAB(0,14);"Exit Program     "
 1040PRINTTAB(0,16);"Change Iterations"
 1050PRINTTAB(0,18);"Reposition       "
 1060ENDPROC
 1070:
 1080DEFPROCcheckclick
 1090MOUSE XMO,YMO,COL
 1100PRINTTAB(0,0);"        "
 1110IF XMO>282 THEN PROCboxout:ENDPROC
 1120IF COL=0 OR XMO>272 OR YMO>700 THEN ENDPROC
 1130ACTION=(700-YMO)/32
 1140IF (ACTION MOD 2)=1 THEN ENDPROC
 1150ACTION=INT(ACTION/2)
 1160IF ACTION=0 THEN PROCresize:ENDPROC
 1170IF ACTION=1 THEN PROCcolcycle:ENDPROC
 1180IF ACTION=2 THEN PROCexit:ENDPROC
 1190IF ACTION=3 THEN PROCchaniter:ENDPROC
 1200IF ACTION=4 THEN PROCrepos:ENDPROC
 1210ENDPROC
 1220:
 1230DEFPROCresize
 1240*SCREENSAVE screen
 1250MODE 15
 1260REPEAT
 1270REPEAT
 1280INPUT"X Screen Width (1-1024)";xpix
 1290IF xpix<0 OR xpix>1024 THEN PRINT"Out of range!"':UNTIL FALSE
 1300UNTIL TRUE
 1310REPEAT
 1320INPUT"Y Screen Width (1-1024)";ypix
 1330IF ypix<0 OR ypix>1024 THEN PRINT"Out of range!"':UNTIL FALSE
 1340UNTIL TRUE
 1350PRINT"Resize future plots to ";xpix;" X ";ypix;" ? (Y/N)"
 1360PROCask
 1370UNTIL ans=TRUE
 1380*SCREENLOAD screen
 1390MOUSE ON
 1400ENDPROC
 1410:
 1420DEFPROCcolcycle
 1430*SCREENSAVE screen
 1440speed=100:cno=0
 1450tn=TIME+speed
 1460REPEAT
 1470IF TIME>=tn THEN PROCcycle
 1480UNTIL INKEY(-1)
 1490*<Obey$Dir>.!Palette
 1500*SCREENLOAD screen
 1510ENDPROC
 1520:
 1530DEFPROCcycle
 1540tn=TIME+speed
 1550cno=(cno+1) AND 127
 1560FORc=0TOmaxiters
 1570VDU 19,c,c+cno,0;0;
 1580NEXT
 1590ENDPROC
 1600:
 1610DEFPROCexit
 1620*SCREENSAVE screen
 1630MODE 15
 1640PRINT"Quit: Are you sure? (Y/N)"
 1650PROCask
 1660TERMINATE=ans
 1670IF ans=TRUE THEN PRINT"Exit task? (Y/N)":PROCask:IF ans=TRUE THEN ACTION=2 ELSE ACTION=1
 1680*SCREENLOAD screen
 1690MOUSE ON
 1700ENDPROC
 1710:
 1720DEFPROCchaniter
 1730*SCREENSAVE screen
 1740MODE 15
 1750PRINT"Maximum re-iterations at current:";maxiters'
 1760REPEAT
 1770INPUT"New maximum (1-127)";maxiters
 1780IF maxiters<1 OR maxiters>127 THEN PRINT"Out of Range":UNTIL FALSE
 1790UNTIL TRUE
 1800*SCREENLOAD screen
 1810MOUSE ON
 1820ENDPROC
 1830:
 1840DEFPROCask
 1850REPEAT
 1860K$=GET$
 1870IF K$="Y" OR K$="y" THEN ans=TRUE:UNTIL TRUE:ENDPROC
 1880IF K$="N" OR K$="n" THEN ans=FALSE:UNTIL TRUE:ENDPROC
 1890UNTIL FALSE
 1900ENDPROC
 1910:
 1920DEFPROCrepos
 1930*SCREENSAVE screen
 1940MODE 15
 1950PRINT"Reposition MandelPlot ? (Y/N)":PROCask
 1960IF ans=TRUE THEN TERMINATE=TRUE:ACTION=3:ENDPROC
 1970*SCREENLOAD screen
 1980MOUSE ON
 1990ENDPROC
 2000:
 2010DEFPROCreposac
 2020INPUT''"X Minimum";XMIN
 2030INPUT"X Maximum";XMAX
 2040INPUT'"Y Minimum";YMIN
 2050INPUT"Y Maximum";YMAX
 2060*SCREENLOAD screen
 2070MOUSE ON
 2080ACTION=FALSE:TERMINATE=FALSE
 2090ENDPROC
 2100:
 2110DEFPROCboxout
 2120IF Y>ypix OR Y>(xpix+282) THEN ENDPROC
 2130cornster=cornster EOR 1
 2140ENDPROC

� Mandelbrot Set Plotter
� By Dominic Ford
:
(� � �error:�
2%ș "OS_ChangeDynamicArea",3,&8000
<&ș "OS_ChangeDynamicArea",5,&30000
F*SLOAD <Obey$Dir>.!Sprites
P*RAM
Z*CDIR MandelWorks
d*DIR MandelWorks
n.xpix=1024:ypix=1024:maxiters=25:cornster=1
x!XMIN=-2:XMAX=2:YMIN=-2:YMAX=2
�� q% 256
�Bș "Wimp_Initialise",200,&4B534154,"MandelPlot" �,task_handle%
�� sp% 256 , err% 256
�t!err%=0:$(err%+4)="WARNING: MandelPlot requires a RAM disc to function. DO NOT delete or alter its contents!"+�0
�7ș "Wimp_ReportError",err%,3,"MandelPlot" � result%
�!sp%=-1
�sp%!4=0
�sp%!8=0
�sp%!12=100
�
sp%!16=68
�,sp%!20=%00010001000000000011000000101010
��                     ^  ^
�$(sp%+24)="!mandel"+�0
#ș "Wimp_CreateIcon",,sp% � ic%
�
ș "Wimp_Poll",0,q% � act%
"
Ȏ act% �
,� 17,18
6 � q%!16=0 �
@� 6
J � q%!12=-2 � q%!16=ic% �
T   �mandelplot
^-   ș "Wimp_ForceRedraw",-1,0,0,1280,1024
h   � (result% � 1) =1 � �
r   � ACTION=2 � �
| �
��
�� �
�:
���mandelplot
�� 15
��
�ȗ X,Y,C
�	� C=0
�TERMINATE=�:ACTION=�
��
��plotter
�� ACTION=3 � �reposac
�� ACTION=1 � ACTION=2
�
:

��plotter
&�screen
0/xpixs=xpix:ypixs=ypix:XMINs=XMIN:YMINs=YMIN
:-X3=(XMAX-XMIN)/xpixs:X4=(YMAX-YMIN)/ypixs
Dstx=xpix:sty=ypix
N�
Xstx=stx/2:sty=sty/2
b�X=0 �xpixs � stx
l�Y=0 �ypixs � sty
v6�((X/stx) � 2)=0�((Y/sty) � 2)=0��,:�TERMINATE=�:�
�	�setp
�� X+282,Y:� X+280+stx,Y
�-� 85,X+282,Y+sty-2:� 85,X+280+stx,Y+sty-2
�#� TERMINATE=� � X=xpixs:Y=ypixs
��,
�� TERMINATE=�
��
�:
���error
�	� � �
��:�" at line ";�
��
�:

��setp
�checkclick
XB=XMINs+(X3*X)
 YB=YMINs+(X4*Y)
*C=0:U=XB:V=YB
4�
>US=U^2:VS=V^2
HUN=US-VS+XB
RVN=2*U*V+YB
\
U=UN:V=VN
f	C=C+1
p� US+VS>4 � C=maxiters
z�C=255�C=0
��0,C
��
�:
���screen
�ȗ �
��
�� 23,1,0;0;0;
�� 0,255:� 280,0:� 280,1024
�*SCHOOSE logo
�� &ED,0,775
�� 128+127:� 0
��0,10);"Resize Plot Area "
��0,12);"Colour Cycling   "
�0,14);"Exit Program     "
�0,16);"Change Iterations"
�0,18);"Reposition       "
$�
.:
8��checkclick
Bȗ XMO,YMO,COL
L�0,0);"        "
V� XMO>282 � �boxout:�
`#� COL=0 � XMO>272 � YMO>700 � �
jACTION=(700-YMO)/32
t� (ACTION � 2)=1 � �
~ACTION=�(ACTION/2)
�� ACTION=0 � �resize:�
�� ACTION=1 � �colcycle:�
�� ACTION=2 � �exit:�
�� ACTION=3 � �chaniter:�
�� ACTION=4 � �repos:�
��
�:
���resize
�*SCREENSAVE screen
�� 15
��
��
#�"X Screen Width (1-1024)";xpix

0� xpix<0 � xpix>1024 � �"Out of range!"':� �
� �
�
(#�"Y Screen Width (1-1024)";ypix
20� ypix<0 � ypix>1024 � �"Out of range!"':� �
<� �
F9�"Resize future plots to ";xpix;" X ";ypix;" ? (Y/N)"
P�ask
Z� ans=�
d*SCREENLOAD screen
nȗ �
x�
�:
���colcycle
�*SCREENSAVE screen
�speed=100:cno=0
�tn=�+speed
��
�� �>=tn � �cycle
�� �(-1)
�*<Obey$Dir>.!Palette
�*SCREENLOAD screen
��
�:
���cycle
tn=�+speed
cno=(cno+1) � 127
�c=0�maxiters
"� 19,c,c+cno,0;0;
,�
6�
@:
J
��exit
T*SCREENSAVE screen
^� 15
h �"Quit: Are you sure? (Y/N)"
r�ask
|TERMINATE=ans
�D� ans=� � �"Exit task? (Y/N)":�ask:� ans=� � ACTION=2 � ACTION=1
�*SCREENLOAD screen
�ȗ �
��
�:
���chaniter
�*SCREENSAVE screen
�� 15
�2�"Maximum re-iterations at current:";maxiters'
��
�#�"New maximum (1-127)";maxiters
�5� maxiters<1 � maxiters>127 � �"Out of Range":� �
�� �
*SCREENLOAD screen
ȗ �
�
&:
0	��ask
:�
DK$=�
N#� K$="Y" � K$="y" � ans=�:� �:�
X#� K$="N" � K$="n" � ans=�:� �:�
b� �
l�
v:
���repos
�*SCREENSAVE screen
�� 15
�)�"Reposition MandelPlot ? (Y/N)":�ask
�$� ans=� � TERMINATE=�:ACTION=3:�
�*SCREENLOAD screen
�ȗ �
��
�:
�
��reposac
��''"X Minimum";XMIN
��"X Maximum";XMAX
��'"Y Minimum";YMIN
�"Y Maximum";YMAX
*SCREENLOAD screen
ȗ �
 ACTION=�:TERMINATE=�
*�
4:
>��boxout
H� Y>ypix � Y>(xpix+282) � �
Rcornster=cornster � 1
\�
�
00000000  0d 00 0a 1c f4 20 4d 61  6e 64 65 6c 62 72 6f 74  |..... Mandelbrot|
00000010  20 53 65 74 20 50 6c 6f  74 74 65 72 0d 00 14 15  | Set Plotter....|
00000020  f4 20 42 79 20 44 6f 6d  69 6e 69 63 20 46 6f 72  |. By Dominic For|
00000030  64 0d 00 1e 05 3a 0d 00  28 10 ee 20 85 20 f2 65  |d....:..(.. . .e|
00000040  72 72 6f 72 3a e0 0d 00  32 25 c8 99 20 22 4f 53  |rror:...2%.. "OS|
00000050  5f 43 68 61 6e 67 65 44  79 6e 61 6d 69 63 41 72  |_ChangeDynamicAr|
00000060  65 61 22 2c 33 2c 26 38  30 30 30 0d 00 3c 26 c8  |ea",3,&8000..<&.|
00000070  99 20 22 4f 53 5f 43 68  61 6e 67 65 44 79 6e 61  |. "OS_ChangeDyna|
00000080  6d 69 63 41 72 65 61 22  2c 35 2c 26 33 30 30 30  |micArea",5,&3000|
00000090  30 0d 00 46 1e 2a 53 4c  4f 41 44 20 3c 4f 62 65  |0..F.*SLOAD <Obe|
000000a0  79 24 44 69 72 3e 2e 21  53 70 72 69 74 65 73 0d  |y$Dir>.!Sprites.|
000000b0  00 50 08 2a 52 41 4d 0d  00 5a 15 2a 43 44 49 52  |.P.*RAM..Z.*CDIR|
000000c0  20 4d 61 6e 64 65 6c 57  6f 72 6b 73 0d 00 64 14  | MandelWorks..d.|
000000d0  2a 44 49 52 20 4d 61 6e  64 65 6c 57 6f 72 6b 73  |*DIR MandelWorks|
000000e0  0d 00 6e 2e 78 70 69 78  3d 31 30 32 34 3a 79 70  |..n.xpix=1024:yp|
000000f0  69 78 3d 31 30 32 34 3a  6d 61 78 69 74 65 72 73  |ix=1024:maxiters|
00000100  3d 32 35 3a 63 6f 72 6e  73 74 65 72 3d 31 0d 00  |=25:cornster=1..|
00000110  78 21 58 4d 49 4e 3d 2d  32 3a 58 4d 41 58 3d 32  |x!XMIN=-2:XMAX=2|
00000120  3a 59 4d 49 4e 3d 2d 32  3a 59 4d 41 58 3d 32 0d  |:YMIN=-2:YMAX=2.|
00000130  00 82 0c de 20 71 25 20  32 35 36 0d 00 8c 42 c8  |.... q% 256...B.|
00000140  99 20 22 57 69 6d 70 5f  49 6e 69 74 69 61 6c 69  |. "Wimp_Initiali|
00000150  73 65 22 2c 32 30 30 2c  26 34 42 35 33 34 31 35  |se",200,&4B53415|
00000160  34 2c 22 4d 61 6e 64 65  6c 50 6c 6f 74 22 20 b8  |4,"MandelPlot" .|
00000170  2c 74 61 73 6b 5f 68 61  6e 64 6c 65 25 0d 00 96  |,task_handle%...|
00000180  18 de 20 73 70 25 20 32  35 36 20 2c 20 65 72 72  |.. sp% 256 , err|
00000190  25 20 32 35 36 0d 00 a0  74 21 65 72 72 25 3d 30  |% 256...t!err%=0|
000001a0  3a 24 28 65 72 72 25 2b  34 29 3d 22 57 41 52 4e  |:$(err%+4)="WARN|
000001b0  49 4e 47 3a 20 4d 61 6e  64 65 6c 50 6c 6f 74 20  |ING: MandelPlot |
000001c0  72 65 71 75 69 72 65 73  20 61 20 52 41 4d 20 64  |requires a RAM d|
000001d0  69 73 63 20 74 6f 20 66  75 6e 63 74 69 6f 6e 2e  |isc to function.|
000001e0  20 44 4f 20 4e 4f 54 20  64 65 6c 65 74 65 20 6f  | DO NOT delete o|
000001f0  72 20 61 6c 74 65 72 20  69 74 73 20 63 6f 6e 74  |r alter its cont|
00000200  65 6e 74 73 21 22 2b bd  30 0d 00 aa 37 c8 99 20  |ents!"+.0...7.. |
00000210  22 57 69 6d 70 5f 52 65  70 6f 72 74 45 72 72 6f  |"Wimp_ReportErro|
00000220  72 22 2c 65 72 72 25 2c  33 2c 22 4d 61 6e 64 65  |r",err%,3,"Mande|
00000230  6c 50 6c 6f 74 22 20 b8  20 72 65 73 75 6c 74 25  |lPlot" . result%|
00000240  0d 00 b4 0b 21 73 70 25  3d 2d 31 0d 00 be 0b 73  |....!sp%=-1....s|
00000250  70 25 21 34 3d 30 0d 00  c8 0b 73 70 25 21 38 3d  |p%!4=0....sp%!8=|
00000260  30 0d 00 d2 0e 73 70 25  21 31 32 3d 31 30 30 0d  |0....sp%!12=100.|
00000270  00 dc 0d 73 70 25 21 31  36 3d 36 38 0d 00 e6 2c  |...sp%!16=68...,|
00000280  73 70 25 21 32 30 3d 25  30 30 30 31 30 30 30 31  |sp%!20=%00010001|
00000290  30 30 30 30 30 30 30 30  30 30 31 31 30 30 30 30  |0000000000110000|
000002a0  30 30 31 30 31 30 31 30  0d 00 f0 1e f4 20 20 20  |00101010.....   |
000002b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000002c0  20 20 5e 20 20 5e 0d 00  fa 1a 24 28 73 70 25 2b  |  ^  ^....$(sp%+|
000002d0  32 34 29 3d 22 21 6d 61  6e 64 65 6c 22 2b bd 30  |24)="!mandel"+.0|
000002e0  0d 01 04 23 c8 99 20 22  57 69 6d 70 5f 43 72 65  |...#.. "Wimp_Cre|
000002f0  61 74 65 49 63 6f 6e 22  2c 2c 73 70 25 20 b8 20  |ateIcon",,sp% . |
00000300  69 63 25 0d 01 0e 05 f5  0d 01 18 1e c8 99 20 22  |ic%........... "|
00000310  57 69 6d 70 5f 50 6f 6c  6c 22 2c 30 2c 71 25 20  |Wimp_Poll",0,q% |
00000320  b8 20 61 63 74 25 0d 01  22 0d c8 8e 20 61 63 74  |. act%.."... act|
00000330  25 20 ca 0d 01 2c 0b c9  20 31 37 2c 31 38 0d 01  |% ...,.. 17,18..|
00000340  36 10 20 e7 20 71 25 21  31 36 3d 30 20 e0 0d 01  |6. . q%!16=0 ...|
00000350  40 07 c9 20 36 0d 01 4a  1d 20 e7 20 71 25 21 31  |@.. 6..J. . q%!1|
00000360  32 3d 2d 32 20 80 20 71  25 21 31 36 3d 69 63 25  |2=-2 . q%!16=ic%|
00000370  20 8c 0d 01 54 12 20 20  20 f2 6d 61 6e 64 65 6c  | ...T.   .mandel|
00000380  70 6c 6f 74 0d 01 5e 2d  20 20 20 c8 99 20 22 57  |plot..^-   .. "W|
00000390  69 6d 70 5f 46 6f 72 63  65 52 65 64 72 61 77 22  |imp_ForceRedraw"|
000003a0  2c 2d 31 2c 30 2c 30 2c  31 32 38 30 2c 31 30 32  |,-1,0,0,1280,102|
000003b0  34 0d 01 68 1d 20 20 20  e7 20 28 72 65 73 75 6c  |4..h.   . (resul|
000003c0  74 25 20 80 20 31 29 20  3d 31 20 8c 20 e0 0d 01  |t% . 1) =1 . ...|
000003d0  72 15 20 20 20 e7 20 41  43 54 49 4f 4e 3d 32 20  |r.   . ACTION=2 |
000003e0  8c 20 e0 0d 01 7c 06 20  cd 0d 01 86 05 cb 0d 01  |. ...|. ........|
000003f0  90 07 fd 20 a3 0d 01 9a  05 3a 0d 01 a4 10 dd f2  |... .....:......|
00000400  6d 61 6e 64 65 6c 70 6c  6f 74 0d 01 ae 08 eb 20  |mandelplot..... |
00000410  31 35 0d 01 b8 05 f5 0d  01 c2 0c c8 97 20 58 2c  |15........... X,|
00000420  59 2c 43 0d 01 cc 09 fd  20 43 3d 30 0d 01 d6 18  |Y,C..... C=0....|
00000430  54 45 52 4d 49 4e 41 54  45 3d a3 3a 41 43 54 49  |TERMINATE=.:ACTI|
00000440  4f 4e 3d a3 0d 01 e0 05  f5 0d 01 ea 0c f2 70 6c  |ON=...........pl|
00000450  6f 74 74 65 72 0d 01 f4  19 e7 20 41 43 54 49 4f  |otter..... ACTIO|
00000460  4e 3d 33 20 8c 20 f2 72  65 70 6f 73 61 63 0d 01  |N=3 . .reposac..|
00000470  fe 19 fd 20 41 43 54 49  4f 4e 3d 31 20 84 20 41  |... ACTION=1 . A|
00000480  43 54 49 4f 4e 3d 32 0d  02 08 05 e1 0d 02 12 05  |CTION=2.........|
00000490  3a 0d 02 1c 0d dd f2 70  6c 6f 74 74 65 72 0d 02  |:......plotter..|
000004a0  26 0b f2 73 63 72 65 65  6e 0d 02 30 2f 78 70 69  |&..screen..0/xpi|
000004b0  78 73 3d 78 70 69 78 3a  79 70 69 78 73 3d 79 70  |xs=xpix:ypixs=yp|
000004c0  69 78 3a 58 4d 49 4e 73  3d 58 4d 49 4e 3a 59 4d  |ix:XMINs=XMIN:YM|
000004d0  49 4e 73 3d 59 4d 49 4e  0d 02 3a 2d 58 33 3d 28  |INs=YMIN..:-X3=(|
000004e0  58 4d 41 58 2d 58 4d 49  4e 29 2f 78 70 69 78 73  |XMAX-XMIN)/xpixs|
000004f0  3a 58 34 3d 28 59 4d 41  58 2d 59 4d 49 4e 29 2f  |:X4=(YMAX-YMIN)/|
00000500  79 70 69 78 73 0d 02 44  15 73 74 78 3d 78 70 69  |ypixs..D.stx=xpi|
00000510  78 3a 73 74 79 3d 79 70  69 78 0d 02 4e 05 f5 0d  |x:sty=ypix..N...|
00000520  02 58 17 73 74 78 3d 73  74 78 2f 32 3a 73 74 79  |.X.stx=stx/2:sty|
00000530  3d 73 74 79 2f 32 0d 02  62 15 e3 58 3d 30 20 b8  |=sty/2..b..X=0 .|
00000540  78 70 69 78 73 20 88 20  73 74 78 0d 02 6c 15 e3  |xpixs . stx..l..|
00000550  59 3d 30 20 b8 79 70 69  78 73 20 88 20 73 74 79  |Y=0 .ypixs . sty|
00000560  0d 02 76 36 e7 28 28 58  2f 73 74 78 29 20 83 20  |..v6.((X/stx) . |
00000570  32 29 3d 30 80 28 28 59  2f 73 74 79 29 20 83 20  |2)=0.((Y/sty) . |
00000580  32 29 3d 30 8c ed 2c 3a  fd 54 45 52 4d 49 4e 41  |2)=0..,:.TERMINA|
00000590  54 45 3d b9 3a e1 0d 02  80 09 f2 73 65 74 70 0d  |TE=.:......setp.|
000005a0  02 8a 1b ec 20 58 2b 32  38 32 2c 59 3a ec 20 58  |.... X+282,Y:. X|
000005b0  2b 32 38 30 2b 73 74 78  2c 59 0d 02 94 2d f0 20  |+280+stx,Y...-. |
000005c0  38 35 2c 58 2b 32 38 32  2c 59 2b 73 74 79 2d 32  |85,X+282,Y+sty-2|
000005d0  3a f0 20 38 35 2c 58 2b  32 38 30 2b 73 74 78 2c  |:. 85,X+280+stx,|
000005e0  59 2b 73 74 79 2d 32 0d  02 9e 23 e7 20 54 45 52  |Y+sty-2...#. TER|
000005f0  4d 49 4e 41 54 45 3d b9  20 8c 20 58 3d 78 70 69  |MINATE=. . X=xpi|
00000600  78 73 3a 59 3d 79 70 69  78 73 0d 02 a8 06 ed 2c  |xs:Y=ypixs.....,|
00000610  0d 02 b2 11 fd 20 54 45  52 4d 49 4e 41 54 45 3d  |..... TERMINATE=|
00000620  b9 0d 02 bc 05 e1 0d 02  c6 05 3a 0d 02 d0 0b dd  |..........:.....|
00000630  f2 65 72 72 6f 72 0d 02  da 09 ee 20 85 20 87 0d  |.error..... . ..|
00000640  02 e4 14 f6 3a f1 22 20  61 74 20 6c 69 6e 65 20  |....:." at line |
00000650  22 3b 9e 0d 02 ee 05 e1  0d 02 f8 05 3a 0d 03 02  |";..........:...|
00000660  0a dd f2 73 65 74 70 0d  03 0c 0f f2 63 68 65 63  |...setp.....chec|
00000670  6b 63 6c 69 63 6b 0d 03  16 13 58 42 3d 58 4d 49  |kclick....XB=XMI|
00000680  4e 73 2b 28 58 33 2a 58  29 0d 03 20 13 59 42 3d  |Ns+(X3*X).. .YB=|
00000690  59 4d 49 4e 73 2b 28 58  34 2a 59 29 0d 03 2a 11  |YMINs+(X4*Y)..*.|
000006a0  43 3d 30 3a 55 3d 58 42  3a 56 3d 59 42 0d 03 34  |C=0:U=XB:V=YB..4|
000006b0  05 f5 0d 03 3e 11 55 53  3d 55 5e 32 3a 56 53 3d  |....>.US=U^2:VS=|
000006c0  56 5e 32 0d 03 48 0f 55  4e 3d 55 53 2d 56 53 2b  |V^2..H.UN=US-VS+|
000006d0  58 42 0d 03 52 0f 56 4e  3d 32 2a 55 2a 56 2b 59  |XB..R.VN=2*U*V+Y|
000006e0  42 0d 03 5c 0d 55 3d 55  4e 3a 56 3d 56 4e 0d 03  |B..\.U=UN:V=VN..|
000006f0  66 09 43 3d 43 2b 31 0d  03 70 1a fd 20 55 53 2b  |f.C=C+1..p.. US+|
00000700  56 53 3e 34 20 84 20 43  3d 6d 61 78 69 74 65 72  |VS>4 . C=maxiter|
00000710  73 0d 03 7a 0e e7 43 3d  32 35 35 8c 43 3d 30 0d  |s..z..C=255.C=0.|
00000720  03 84 08 e6 30 2c 43 0d  03 8e 05 e1 0d 03 98 05  |....0,C.........|
00000730  3a 0d 03 a2 0c dd f2 73  63 72 65 65 6e 0d 03 ac  |:......screen...|
00000740  08 c8 97 20 ee 0d 03 b6  05 db 0d 03 c0 11 ef 20  |... ........... |
00000750  32 33 2c 31 2c 30 3b 30  3b 30 3b 0d 03 ca 1e e6  |23,1,0;0;0;.....|
00000760  20 30 2c 32 35 35 3a ec  20 32 38 30 2c 30 3a df  | 0,255:. 280,0:.|
00000770  20 32 38 30 2c 31 30 32  34 0d 03 d4 11 2a 53 43  | 280,1024....*SC|
00000780  48 4f 4f 53 45 20 6c 6f  67 6f 0d 03 de 0f f0 20  |HOOSE logo..... |
00000790  26 45 44 2c 30 2c 37 37  35 0d 03 e8 11 fb 20 31  |&ED,0,775..... 1|
000007a0  32 38 2b 31 32 37 3a fb  20 30 0d 03 f2 1f f1 8a  |28+127:. 0......|
000007b0  30 2c 31 30 29 3b 22 52  65 73 69 7a 65 20 50 6c  |0,10);"Resize Pl|
000007c0  6f 74 20 41 72 65 61 20  22 0d 03 fc 1f f1 8a 30  |ot Area "......0|
000007d0  2c 31 32 29 3b 22 43 6f  6c 6f 75 72 20 43 79 63  |,12);"Colour Cyc|
000007e0  6c 69 6e 67 20 20 20 22  0d 04 06 1f f1 8a 30 2c  |ling   "......0,|
000007f0  31 34 29 3b 22 45 78 69  74 20 50 72 6f 67 72 61  |14);"Exit Progra|
00000800  6d 20 20 20 20 20 22 0d  04 10 1f f1 8a 30 2c 31  |m     "......0,1|
00000810  36 29 3b 22 43 68 61 6e  67 65 20 49 74 65 72 61  |6);"Change Itera|
00000820  74 69 6f 6e 73 22 0d 04  1a 1f f1 8a 30 2c 31 38  |tions"......0,18|
00000830  29 3b 22 52 65 70 6f 73  69 74 69 6f 6e 20 20 20  |);"Reposition   |
00000840  20 20 20 20 22 0d 04 24  05 e1 0d 04 2e 05 3a 0d  |    "..$......:.|
00000850  04 38 10 dd f2 63 68 65  63 6b 63 6c 69 63 6b 0d  |.8...checkclick.|
00000860  04 42 12 c8 97 20 58 4d  4f 2c 59 4d 4f 2c 43 4f  |.B... XMO,YMO,CO|
00000870  4c 0d 04 4c 15 f1 8a 30  2c 30 29 3b 22 20 20 20  |L..L...0,0);"   |
00000880  20 20 20 20 20 22 0d 04  56 19 e7 20 58 4d 4f 3e  |     "..V.. XMO>|
00000890  32 38 32 20 8c 20 f2 62  6f 78 6f 75 74 3a e1 0d  |282 . .boxout:..|
000008a0  04 60 23 e7 20 43 4f 4c  3d 30 20 84 20 58 4d 4f  |.`#. COL=0 . XMO|
000008b0  3e 32 37 32 20 84 20 59  4d 4f 3e 37 30 30 20 8c  |>272 . YMO>700 .|
000008c0  20 e1 0d 04 6a 17 41 43  54 49 4f 4e 3d 28 37 30  | ...j.ACTION=(70|
000008d0  30 2d 59 4d 4f 29 2f 33  32 0d 04 74 18 e7 20 28  |0-YMO)/32..t.. (|
000008e0  41 43 54 49 4f 4e 20 83  20 32 29 3d 31 20 8c 20  |ACTION . 2)=1 . |
000008f0  e1 0d 04 7e 16 41 43 54  49 4f 4e 3d a8 28 41 43  |...~.ACTION=.(AC|
00000900  54 49 4f 4e 2f 32 29 0d  04 88 1a e7 20 41 43 54  |TION/2)..... ACT|
00000910  49 4f 4e 3d 30 20 8c 20  f2 72 65 73 69 7a 65 3a  |ION=0 . .resize:|
00000920  e1 0d 04 92 1c e7 20 41  43 54 49 4f 4e 3d 31 20  |...... ACTION=1 |
00000930  8c 20 f2 63 6f 6c 63 79  63 6c 65 3a e1 0d 04 9c  |. .colcycle:....|
00000940  18 e7 20 41 43 54 49 4f  4e 3d 32 20 8c 20 f2 65  |.. ACTION=2 . .e|
00000950  78 69 74 3a e1 0d 04 a6  1c e7 20 41 43 54 49 4f  |xit:...... ACTIO|
00000960  4e 3d 33 20 8c 20 f2 63  68 61 6e 69 74 65 72 3a  |N=3 . .chaniter:|
00000970  e1 0d 04 b0 19 e7 20 41  43 54 49 4f 4e 3d 34 20  |...... ACTION=4 |
00000980  8c 20 f2 72 65 70 6f 73  3a e1 0d 04 ba 05 e1 0d  |. .repos:.......|
00000990  04 c4 05 3a 0d 04 ce 0c  dd f2 72 65 73 69 7a 65  |...:......resize|
000009a0  0d 04 d8 16 2a 53 43 52  45 45 4e 53 41 56 45 20  |....*SCREENSAVE |
000009b0  73 63 72 65 65 6e 0d 04  e2 08 eb 20 31 35 0d 04  |screen..... 15..|
000009c0  ec 05 f5 0d 04 f6 05 f5  0d 05 00 23 e8 22 58 20  |...........#."X |
000009d0  53 63 72 65 65 6e 20 57  69 64 74 68 20 28 31 2d  |Screen Width (1-|
000009e0  31 30 32 34 29 22 3b 78  70 69 78 0d 05 0a 30 e7  |1024)";xpix...0.|
000009f0  20 78 70 69 78 3c 30 20  84 20 78 70 69 78 3e 31  | xpix<0 . xpix>1|
00000a00  30 32 34 20 8c 20 f1 22  4f 75 74 20 6f 66 20 72  |024 . ."Out of r|
00000a10  61 6e 67 65 21 22 27 3a  fd 20 a3 0d 05 14 07 fd  |ange!"':. ......|
00000a20  20 b9 0d 05 1e 05 f5 0d  05 28 23 e8 22 59 20 53  | ........(#."Y S|
00000a30  63 72 65 65 6e 20 57 69  64 74 68 20 28 31 2d 31  |creen Width (1-1|
00000a40  30 32 34 29 22 3b 79 70  69 78 0d 05 32 30 e7 20  |024)";ypix..20. |
00000a50  79 70 69 78 3c 30 20 84  20 79 70 69 78 3e 31 30  |ypix<0 . ypix>10|
00000a60  32 34 20 8c 20 f1 22 4f  75 74 20 6f 66 20 72 61  |24 . ."Out of ra|
00000a70  6e 67 65 21 22 27 3a fd  20 a3 0d 05 3c 07 fd 20  |nge!"':. ...<.. |
00000a80  b9 0d 05 46 39 f1 22 52  65 73 69 7a 65 20 66 75  |...F9."Resize fu|
00000a90  74 75 72 65 20 70 6c 6f  74 73 20 74 6f 20 22 3b  |ture plots to ";|
00000aa0  78 70 69 78 3b 22 20 58  20 22 3b 79 70 69 78 3b  |xpix;" X ";ypix;|
00000ab0  22 20 3f 20 28 59 2f 4e  29 22 0d 05 50 08 f2 61  |" ? (Y/N)"..P..a|
00000ac0  73 6b 0d 05 5a 0b fd 20  61 6e 73 3d b9 0d 05 64  |sk..Z.. ans=...d|
00000ad0  16 2a 53 43 52 45 45 4e  4c 4f 41 44 20 73 63 72  |.*SCREENLOAD scr|
00000ae0  65 65 6e 0d 05 6e 08 c8  97 20 ee 0d 05 78 05 e1  |een..n... ...x..|
00000af0  0d 05 82 05 3a 0d 05 8c  0e dd f2 63 6f 6c 63 79  |....:......colcy|
00000b00  63 6c 65 0d 05 96 16 2a  53 43 52 45 45 4e 53 41  |cle....*SCREENSA|
00000b10  56 45 20 73 63 72 65 65  6e 0d 05 a0 13 73 70 65  |VE screen....spe|
00000b20  65 64 3d 31 30 30 3a 63  6e 6f 3d 30 0d 05 aa 0e  |ed=100:cno=0....|
00000b30  74 6e 3d 91 2b 73 70 65  65 64 0d 05 b4 05 f5 0d  |tn=.+speed......|
00000b40  05 be 14 e7 20 91 3e 3d  74 6e 20 8c 20 f2 63 79  |.... .>=tn . .cy|
00000b50  63 6c 65 0d 05 c8 0b fd  20 a6 28 2d 31 29 0d 05  |cle..... .(-1)..|
00000b60  d2 18 2a 3c 4f 62 65 79  24 44 69 72 3e 2e 21 50  |..*<Obey$Dir>.!P|
00000b70  61 6c 65 74 74 65 0d 05  dc 16 2a 53 43 52 45 45  |alette....*SCREE|
00000b80  4e 4c 4f 41 44 20 73 63  72 65 65 6e 0d 05 e6 05  |NLOAD screen....|
00000b90  e1 0d 05 f0 05 3a 0d 05  fa 0b dd f2 63 79 63 6c  |.....:......cycl|
00000ba0  65 0d 06 04 0e 74 6e 3d  91 2b 73 70 65 65 64 0d  |e....tn=.+speed.|
00000bb0  06 0e 15 63 6e 6f 3d 28  63 6e 6f 2b 31 29 20 80  |...cno=(cno+1) .|
00000bc0  20 31 32 37 0d 06 18 11  e3 63 3d 30 b8 6d 61 78  | 127.....c=0.max|
00000bd0  69 74 65 72 73 0d 06 22  15 ef 20 31 39 2c 63 2c  |iters..".. 19,c,|
00000be0  63 2b 63 6e 6f 2c 30 3b  30 3b 0d 06 2c 05 ed 0d  |c+cno,0;0;..,...|
00000bf0  06 36 05 e1 0d 06 40 05  3a 0d 06 4a 0a dd f2 65  |.6....@.:..J...e|
00000c00  78 69 74 0d 06 54 16 2a  53 43 52 45 45 4e 53 41  |xit..T.*SCREENSA|
00000c10  56 45 20 73 63 72 65 65  6e 0d 06 5e 08 eb 20 31  |VE screen..^.. 1|
00000c20  35 0d 06 68 20 f1 22 51  75 69 74 3a 20 41 72 65  |5..h ."Quit: Are|
00000c30  20 79 6f 75 20 73 75 72  65 3f 20 28 59 2f 4e 29  | you sure? (Y/N)|
00000c40  22 0d 06 72 08 f2 61 73  6b 0d 06 7c 11 54 45 52  |"..r..ask..|.TER|
00000c50  4d 49 4e 41 54 45 3d 61  6e 73 0d 06 86 44 e7 20  |MINATE=ans...D. |
00000c60  61 6e 73 3d b9 20 8c 20  f1 22 45 78 69 74 20 74  |ans=. . ."Exit t|
00000c70  61 73 6b 3f 20 28 59 2f  4e 29 22 3a f2 61 73 6b  |ask? (Y/N)":.ask|
00000c80  3a e7 20 61 6e 73 3d b9  20 8c 20 41 43 54 49 4f  |:. ans=. . ACTIO|
00000c90  4e 3d 32 20 8b 20 41 43  54 49 4f 4e 3d 31 0d 06  |N=2 . ACTION=1..|
00000ca0  90 16 2a 53 43 52 45 45  4e 4c 4f 41 44 20 73 63  |..*SCREENLOAD sc|
00000cb0  72 65 65 6e 0d 06 9a 08  c8 97 20 ee 0d 06 a4 05  |reen...... .....|
00000cc0  e1 0d 06 ae 05 3a 0d 06  b8 0e dd f2 63 68 61 6e  |.....:......chan|
00000cd0  69 74 65 72 0d 06 c2 16  2a 53 43 52 45 45 4e 53  |iter....*SCREENS|
00000ce0  41 56 45 20 73 63 72 65  65 6e 0d 06 cc 08 eb 20  |AVE screen..... |
00000cf0  31 35 0d 06 d6 32 f1 22  4d 61 78 69 6d 75 6d 20  |15...2."Maximum |
00000d00  72 65 2d 69 74 65 72 61  74 69 6f 6e 73 20 61 74  |re-iterations at|
00000d10  20 63 75 72 72 65 6e 74  3a 22 3b 6d 61 78 69 74  | current:";maxit|
00000d20  65 72 73 27 0d 06 e0 05  f5 0d 06 ea 23 e8 22 4e  |ers'........#."N|
00000d30  65 77 20 6d 61 78 69 6d  75 6d 20 28 31 2d 31 32  |ew maximum (1-12|
00000d40  37 29 22 3b 6d 61 78 69  74 65 72 73 0d 06 f4 35  |7)";maxiters...5|
00000d50  e7 20 6d 61 78 69 74 65  72 73 3c 31 20 84 20 6d  |. maxiters<1 . m|
00000d60  61 78 69 74 65 72 73 3e  31 32 37 20 8c 20 f1 22  |axiters>127 . ."|
00000d70  4f 75 74 20 6f 66 20 52  61 6e 67 65 22 3a fd 20  |Out of Range":. |
00000d80  a3 0d 06 fe 07 fd 20 b9  0d 07 08 16 2a 53 43 52  |...... .....*SCR|
00000d90  45 45 4e 4c 4f 41 44 20  73 63 72 65 65 6e 0d 07  |EENLOAD screen..|
00000da0  12 08 c8 97 20 ee 0d 07  1c 05 e1 0d 07 26 05 3a  |.... ........&.:|
00000db0  0d 07 30 09 dd f2 61 73  6b 0d 07 3a 05 f5 0d 07  |..0...ask..:....|
00000dc0  44 08 4b 24 3d be 0d 07  4e 23 e7 20 4b 24 3d 22  |D.K$=...N#. K$="|
00000dd0  59 22 20 84 20 4b 24 3d  22 79 22 20 8c 20 61 6e  |Y" . K$="y" . an|
00000de0  73 3d b9 3a fd 20 b9 3a  e1 0d 07 58 23 e7 20 4b  |s=.:. .:...X#. K|
00000df0  24 3d 22 4e 22 20 84 20  4b 24 3d 22 6e 22 20 8c  |$="N" . K$="n" .|
00000e00  20 61 6e 73 3d a3 3a fd  20 b9 3a e1 0d 07 62 07  | ans=.:. .:...b.|
00000e10  fd 20 a3 0d 07 6c 05 e1  0d 07 76 05 3a 0d 07 80  |. ...l....v.:...|
00000e20  0b dd f2 72 65 70 6f 73  0d 07 8a 16 2a 53 43 52  |...repos....*SCR|
00000e30  45 45 4e 53 41 56 45 20  73 63 72 65 65 6e 0d 07  |EENSAVE screen..|
00000e40  94 08 eb 20 31 35 0d 07  9e 29 f1 22 52 65 70 6f  |... 15...)."Repo|
00000e50  73 69 74 69 6f 6e 20 4d  61 6e 64 65 6c 50 6c 6f  |sition MandelPlo|
00000e60  74 20 3f 20 28 59 2f 4e  29 22 3a f2 61 73 6b 0d  |t ? (Y/N)":.ask.|
00000e70  07 a8 24 e7 20 61 6e 73  3d b9 20 8c 20 54 45 52  |..$. ans=. . TER|
00000e80  4d 49 4e 41 54 45 3d b9  3a 41 43 54 49 4f 4e 3d  |MINATE=.:ACTION=|
00000e90  33 3a e1 0d 07 b2 16 2a  53 43 52 45 45 4e 4c 4f  |3:.....*SCREENLO|
00000ea0  41 44 20 73 63 72 65 65  6e 0d 07 bc 08 c8 97 20  |AD screen...... |
00000eb0  ee 0d 07 c6 05 e1 0d 07  d0 05 3a 0d 07 da 0d dd  |..........:.....|
00000ec0  f2 72 65 70 6f 73 61 63  0d 07 e4 17 e8 27 27 22  |.reposac.....''"|
00000ed0  58 20 4d 69 6e 69 6d 75  6d 22 3b 58 4d 49 4e 0d  |X Minimum";XMIN.|
00000ee0  07 ee 15 e8 22 58 20 4d  61 78 69 6d 75 6d 22 3b  |...."X Maximum";|
00000ef0  58 4d 41 58 0d 07 f8 16  e8 27 22 59 20 4d 69 6e  |XMAX.....'"Y Min|
00000f00  69 6d 75 6d 22 3b 59 4d  49 4e 0d 08 02 15 e8 22  |imum";YMIN....."|
00000f10  59 20 4d 61 78 69 6d 75  6d 22 3b 59 4d 41 58 0d  |Y Maximum";YMAX.|
00000f20  08 0c 16 2a 53 43 52 45  45 4e 4c 4f 41 44 20 73  |...*SCREENLOAD s|
00000f30  63 72 65 65 6e 0d 08 16  08 c8 97 20 ee 0d 08 20  |creen...... ... |
00000f40  18 41 43 54 49 4f 4e 3d  a3 3a 54 45 52 4d 49 4e  |.ACTION=.:TERMIN|
00000f50  41 54 45 3d a3 0d 08 2a  05 e1 0d 08 34 05 3a 0d  |ATE=...*....4.:.|
00000f60  08 3e 0c dd f2 62 6f 78  6f 75 74 0d 08 48 1f e7  |.>...boxout..H..|
00000f70  20 59 3e 79 70 69 78 20  84 20 59 3e 28 78 70 69  | Y>ypix . Y>(xpi|
00000f80  78 2b 32 38 32 29 20 8c  20 e1 0d 08 52 19 63 6f  |x+282) . ...R.co|
00000f90  72 6e 73 74 65 72 3d 63  6f 72 6e 73 74 65 72 20  |rnster=cornster |
00000fa0  82 20 31 0d 08 5c 05 e1  0d ff                    |. 1..\....|
00000faa