Home » CEEFAX disks » telesoftware17.adl » 04-08-89/Frac2

04-08-89/Frac2

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 » CEEFAX disks » telesoftware17.adl
Filename: 04-08-89/Frac2
Read OK:
File size: 13D3 bytes
Load address: FFFF0E00
Exec address: FFFF802B
File contents
   40REM (c) Acorn User October 1985
   60ON ERROR GOTO 2400
   70*KEY0*FX4,0|M*FX12,10|M
   80MODE0:VDU23;8202;0;0;0;
   90PROCinit
  100FOR I%=1 TO 30:mirr%(I%)=0:NEXT
  110PROCinstr
  120PROCoption
  130END
  150DEF PROCgenerator
  160PROCgrid(100,0,900,990)
  170X%=0:Y%=0:P%=0:Q%=0
  180D%=100:E%=500:I%=1
  190REPEAT
  200PROCrband
  210IF K%=127 GOTO 280
  220xgenst(I%)=V%/800
  230ygenst(I%)=W%/800
  240xgenend(I%)=X%/800
  250ygenend(I%)=Y%/800
  260IF mirr% mirr%(I%)=-1 ELSE mirr%(I%)=1
  270I%=I%+1
  280UNTIL K%=127
  290npts%=I%-1
  300ENDPROC
  320DEF PROCinit
  330DIM xgenst(30),ygenst(30),xgenend(30),ygenend(30),xinitst(30),yinitst(30),xinitend(30),yinitend(30),mirr%(30),oscli% 20
  340P%=0:Q%=0:X%=0:Y%=0:dx%=2:dy%=4
  350mirr%=FALSE:del$=STRING$(30," ")
  360VDU23,242,0,0,0,0,0,0,0,&FF
  370*FX 4,2
  380*FX 12,1
  390*FX 225,128
  400*FX 226,144
  410ENDPROC
  430DEF PROCrband
  440PRINTTAB(70,I%+1);I%
  450mirr%=FALSE
  460GCOL4,1
  470REPEAT
  480K%=INKEY(0)
  490*FX 15,0
  500IF K%<>-1 PROCdraw
  510IF K%=140 X%=X%-dx%
  520IF K%=141 X%=X%+dx%
  530IF K%=142 Y%=Y%-dy%
  540IF K%=143 Y%=Y%+dy%
  550IF K%=159 Q%=Q%+dy%
  560IF K%=158 Q%=Q%-dy%
  570IF K%=157 P%=P%+dx%
  580IF K%=156 P%=P%-dx%
  590IF K%=136 PROCkeyin
  600IF K%=137 mirr%=NOT mirr%:PRINTTAB(76,I%+1);CHR$242
  610IF mirr% PRINTTAB(76,I%+1);"M"
  620PROCcursor
  630IF K%<>-1 PROCdraw:dx%=dx%+4:dy%=dy%+2 ELSE dx%=2:dy%=4
  640UNTIL K%=&0D OR K%=127
  650V%=P%:W%=Q%:GCOL0,1:PROCdraw
  660P%=X%:Q%=Y%
  670ENDPROC
  690DEF PROCdraw
  700MOVE P%+D%,Q%+E%:DRAW X%+D%,Y%+E%
  710PROCcursor
  720ENDPROC
  740DEF PROCcurso
  750GCOL 4,1:FOR C%=1 TO 2
  760MOVE X%+D%-20,Y%+E%
  770DRAW X%+D%+20,Y%+E%
  780MOVE X%+D%,Y%+E%+20
  790DRAW X%+D%,Y%+E%-20
  800NEXT
  810ENDPROC
  830DEF PROCsplit(xs,ys,xe,ye,mirr%)
  840LOCAL I%,xdiff,ydiff
  850xdiff=xe-xs:ydiff=ye-ys
  860N%=N%+1
  870FOR I%=1 TO npts%
  880Xs=xdiff*xgenst(I%)-ydiff*ygenst(I%)*mirr%
  890Ys=ydiff*xgenst(I%)+xdiff*ygenst(I%)*mirr%
  900Xe=xdiff*xgenend(I%)-ydiff*ygenend(I%)*mirr%
  910Ye=ydiff*xgenend(I%)+xdiff*ygenend(I%)*mirr%
  920xstart=xs+Xs:ystart=ys+Ys
  930xend=xs+Xe:yend=ys+Ye
  940IF N%=nrec% MOVE xstart,ystart:DRAWxend,yend ELSE PROCsplit(xstart,ystart,xend,yend,mirr%(I%)*mirr%)
  950IF INKEY(0)=32 N%=nrec%
  960NEXT
  970N%=N%-1
  980ENDPROC
 1000DEF PROCgrid(X1%,Y1%,X2%,Y2%)
 1010FOR A%=X1% TO X2% STEP 50
 1020FOR B%=Y1% TO Y2% STEP 50
 1030PLOT69,A%,B%
 1040NEXT:NEXT
 1050MOVE X2%,Y2%
 1060DRAW X1%,Y2%:DRAW X1%,Y1%
 1070DRAW X2%,Y1%:DRAW X2%,Y2%
 1080MOVE (X2%+X1%)/2,Y2%
 1090DRAW (X2%+X1%)/2,Y2%+8
 1100MOVE (X2%+X1%)/2,Y1%
 1110DRAW (X2%+X1%)/2,Y1%-8
 1120MOVE X2%,(Y2%+Y1%)/2
 1130DRAW X2%+8,(Y2%+Y1%)/2
 1140MOVE X1%,(Y2%+Y1%)/2
 1150DRAW X1%-8,(Y2%+Y1%)/2
 1160PROCmenu
 1170ENDPROC
 1190DEF PROCsave(A$)
 1200IF A$="G" PRINTTAB(26,29);"Save generator "; ELSE PRINTTAB(26,29);"Save Initiator ";
 1210INPUT"File ",sfile$
 1220REM IF A$="G" sfile$="G."+sfile$ ELSE sfile$="I."+sfile$
 1230PRINTTAB(26,29);del$
 1240f=OPENOUT(sfile$)
 1250IF A$="G" PRINT#f,npts%:pts%=npts% ELSE PRINT#f,ninitpts%:pts%=ninitpts%
 1260FOR I%=1 TO pts%
 1270IF A$="G"PRINT#f,mirr%(I%),xgenst(I%),ygenst(I%),xgenend(I%),ygenend(I%):ELSE PRINT#f,xinitst(I%),yinitst(I%),xinitend(I%),yinitend(I%)
 1280NEXT
 1290CLOSE#f
 1300ENDPROC
 1320DEF PROCload(A$)
 1330IF A$="G" PRINTTAB(26,29);"Load Generator ";ELSE PRINTTAB(26,29);"Load Initiator ";
 1340INPUT"File ",file$
 1350REM IF A$="G" file$="G."+file$ ELSE file$="I."+file$
 1360PRINTTAB(26,29);del$:VDU7
 1370f=OPENUP(file$)
 1380IF A$="G"INPUT#f,npts%:pts%=npts% ELSE INPUT#f,ninitpts%:pts%=ninitpts%
 1390FOR I%=1 TO pts% 
 1400IF A$="G"INPUT#f,mirr%(I%),xgenst(I%),ygenst(I%),xgenend(I%),ygenend(I%) ELSE INPUT#f,xinitst(I%),yinitst(I%),xinitend(I%),yinitend(I%)
 1410NEXT
 1420CLOSE#f
 1430ENDPROC
 1450DEF PROCinitiator
 1460PROCgrid(0,0,1000,990)
 1470I%=1:D%=0:E%=0:X%=0
 1480Y%=500:P%=0:Q%=500
 1490REPEAT
 1500PROCrband
 1510IF K%=127 GOTO 1550
 1520xinitst(I%)=V%+100:yinitst(I%)=W%
 1530xinitend(I%)=X%+100:yinitend(I%)=Y%
 1540I%=I%+1
 1550UNTIL K%=127
 1560ninitpts%=I%-1
 1570ENDPROC
 1590DEF PROCmenu
 1600MOVE 1079,0:DRAW 1079,960
 1610MOVE 1279,0:DRAW 1279,960
 1620MOVE 1179,0:DRAW 1179,960
 1630FOR I%=0 TO 960 STEP 32
 1640MOVE 1079,I%:DRAW 1279,I%
 1650NEXT
 1660ENDPROC
 1680DEF PROCoption
 1690REPEAT
 1700REPEAT:K%=INKEY(0)
 1710IF K%=ASC"*" PROCosc
 1720UNTIL K%>=128 AND K%<=137
 1730ON K%-127 GOSUB 1750,1760,1770,1780,1790,1800,1810,1870,1880,1880
 1740UNTIL FALSE
 1750PROCsave("G"):RETURN
 1760PROCload("G"):RETURN
 1770PROCsave("I"):RETURN
 1780PROCload("I"):RETURN
 1790CLS:PROCgenerator:RETURN
 1800CLS:PROCinitiator:RETURN
 1810INPUTTAB(60,0)"Recursion Depth ",nrec%
 1820N%=0:GCOL0,1:CLS
 1830IF nrec%>9 OR nrec%<=0 PRINTTAB(60,0)"Out of range      ":VDU7
 1840FOR H%=1 TO ninitpts%
 1850PROCsplit(xinitst(H%),yinitst(H%),xinitend(H%),yinitend(H%),1)
 1860NEXT:VDU7,7:RETURN
 1870PROCuser
 1880RETURN
 1890UNTIL FALSE
 1900ENDPROC
 1920DEF PROCkeyin
 1930A=1/3:B=SQR(3)
 1940PRINTTAB(10,0);del$:PRINTTAB(10,0);"?";:K%=-1
 1950PROCgetstring:A$=num$:IF ASC(E$)=136 ENDPROC
 1960PROCgetstring:B$=num$:IF ASC(E$)=136 ENDPROC
 1970PROCgetstring:C$=num$:IF ASC(E$)=136 ENDPROC
 1980PROCgetstring:D$=num$:IF ASC(E$)=136 ENDPROC
 1990R=EVAL(A$):S=EVAL(B$)
 2000T=EVAL(C$):U=EVAL(D$)
 2010P%=R*800:Q%=S*800
 2020X%=T*800:Y%=U*800:K%=&0D
 2030ENDPROC
 2050DEF PROCosc
 2060VDU28,0,31,79,22,14,12
 2070INPUT"*"name$
 2080X%=oscli% MOD 256:Y%=oscli% DIV 256
 2090$oscli%=name$:CALL&FFF7
 2100VDU26,15
 2110ENDPROC
 2130DEF PROCinstr
 2140VDU26,12
 2150FOR M%=0 TO 9
 2160READ opt$
 2170PRINTTAB(18,M%*2);"f";M%;" ..................  ";opt$
 2180NEXT
 2190PRINTTAB(25,25)"<Esc> Return to Menu" 
 2200ENDPROC
 2210:
 2220DATA Save Generator, Load Generator,Save Initiator,Load Initiator
 2230DATA Define Generator,Define Initiator, Generate Fractal
 2240DATA User Print Dump,Toggle Numeric Input,Mirror Image
 2260DEF PROCgetstring
 2270num$=""
 2280REPEAT
 2290RESTORE
 2300*FX 15,0
 2310E$=GET$:IF ASC(E$)=&D THEN 2350
 2320PRINT;E$;
 2330IF ASC(E$)=136 THEN 2350
 2340num$=num$+E$
 2350UNTIL ASC(E$)=&D OR ASC(E$)=136
 2360PRINT;" , ";
 2370ENDPROC
 2400IF ERR=17 GOTO 110
 2410PROCinstr
 2420PRINTTAB(0,28)"ERROR :":REPORT
 2430GOTO 120
 2450DEFPROCuser:MOVE0,0:VDU29,0;0;2,1,27,1,65,1,8,1,10
 2460FORY%=1020TO12STEP-16:VDU1,27,1,76,1,192,1,3:FORX%=0TO1276STEP4:A%=0:B%=0:FORZ%=0TO12STEP4:A%=A%*4+3*POINT(X%,Y%-Z%):B%=B%*4+3*POINT(X%+2,Y%-Z%):NEXT:VDU1,A%,1,A%,1,B%:NEXT:VDU1,10:NEXT:VDU1,27,1,64,3
 2470ENDPROC
(!� (c) Acorn User October 1985
<� � � �D`I
F*KEY0*FX4,0|M*FX12,10|M
P�0:�23;8202;0;0;0;
Z	�init
d� I%=1 � 30:mirr%(I%)=0:�
n
�instr
x�option
��
�� �generator
��grid(100,0,900,990)
�X%=0:Y%=0:P%=0:Q%=0
�D%=100:E%=500:I%=1
��
�
�rband
�� K%=127 � �TXA
�xgenst(I%)=V%/800
�ygenst(I%)=W%/800
�xgenend(I%)=X%/800
�ygenend(I%)=Y%/800
&� mirr% mirr%(I%)=-1 � mirr%(I%)=1
I%=I%+1
� K%=127
"npts%=I%-1
,�
@� �init
Jy� xgenst(30),ygenst(30),xgenend(30),ygenend(30),xinitst(30),yinitst(30),xinitend(30),yinitend(30),mirr%(30),oscli% 20
T#P%=0:Q%=0:X%=0:Y%=0:dx%=2:dy%=4
^mirr%=�:del$=�30," ")
h�23,242,0,0,0,0,0,0,0,&FF
r*FX 4,2
|*FX 12,1
�*FX 225,128
�*FX 226,144
��
�� �rband
��70,I%+1);I%
�mirr%=�
��4,1
��
�K%=�(0)
�*FX 15,0
�� K%<>-1 �draw
�� K%=140 X%=X%-dx%
� K%=141 X%=X%+dx%
� K%=142 Y%=Y%-dy%
� K%=143 Y%=Y%+dy%
&� K%=159 Q%=Q%+dy%
0� K%=158 Q%=Q%-dy%
:� K%=157 P%=P%+dx%
D� K%=156 P%=P%-dx%
N� K%=136 �keyin
X*� K%=137 mirr%=� mirr%:�76,I%+1);�242
b� mirr% �76,I%+1);"M"
l�cursor
v4� K%<>-1 �draw:dx%=dx%+4:dy%=dy%+2 � dx%=2:dy%=4
�� K%=&0D � K%=127
�V%=P%:W%=Q%:�0,1:�draw
�P%=X%:Q%=Y%
��
�� �draw
�� P%+D%,Q%+E%:� X%+D%,Y%+E%
��cursor
��
�
� �curso
�� 4,1:� C%=1 � 2
�� X%+D%-20,Y%+E%
� X%+D%+20,Y%+E%
� X%+D%,Y%+E%+20
� X%+D%,Y%+E%-20
 �
*�
>� �split(xs,ys,xe,ye,mirr%)
H� I%,xdiff,ydiff
Rxdiff=xe-xs:ydiff=ye-ys
\N%=N%+1
f� I%=1 � npts%
p.Xs=xdiff*xgenst(I%)-ydiff*ygenst(I%)*mirr%
z.Ys=ydiff*xgenst(I%)+xdiff*ygenst(I%)*mirr%
�0Xe=xdiff*xgenend(I%)-ydiff*ygenend(I%)*mirr%
�0Ye=ydiff*xgenend(I%)+xdiff*ygenend(I%)*mirr%
�xstart=xs+Xs:ystart=ys+Ys
�xend=xs+Xe:yend=ys+Ye
�[� N%=nrec% � xstart,ystart:�xend,yend � �split(xstart,ystart,xend,yend,mirr%(I%)*mirr%)
�� �(0)=32 N%=nrec%
��
�N%=N%-1
��
�� �grid(X1%,Y1%,X2%,Y2%)
�� A%=X1% � X2% � 50
�� B%=Y1% � Y2% � 50

�69,A%,B%
�:�

� X2%,Y2%
$� X1%,Y2%:� X1%,Y1%
.� X2%,Y1%:� X2%,Y2%
8� (X2%+X1%)/2,Y2%
B� (X2%+X1%)/2,Y2%+8
L� (X2%+X1%)/2,Y1%
V� (X2%+X1%)/2,Y1%-8
`� X2%,(Y2%+Y1%)/2
j� X2%+8,(Y2%+Y1%)/2
t� X1%,(Y2%+Y1%)/2
~� X1%-8,(Y2%+Y1%)/2
�	�menu
��
�� �save(A$)
�F� A$="G" �26,29);"Save generator "; � �26,29);"Save Initiator ";
��"File ",sfile$
�:� IF A$="G" sfile$="G."+sfile$ ELSE sfile$="I."+sfile$
��26,29);del$
�f=�(sfile$)
�@� A$="G" �#f,npts%:pts%=npts% � �#f,ninitpts%:pts%=ninitpts%
�� I%=1 � pts%
�� A$="G"�#f,mirr%(I%),xgenst(I%),ygenst(I%),xgenend(I%),ygenend(I%):� �#f,xinitst(I%),yinitst(I%),xinitend(I%),yinitend(I%)
�

�#f
�
(� �load(A$)
2E� A$="G" �26,29);"Load Generator ";� �26,29);"Load Initiator ";
<�"File ",file$
F6� IF A$="G" file$="G."+file$ ELSE file$="I."+file$
P�26,29);del$:�7
Zf=�(file$)
d?� A$="G"�#f,npts%:pts%=npts% � �#f,ninitpts%:pts%=ninitpts%
n� I%=1 � pts% 
x� A$="G"�#f,mirr%(I%),xgenst(I%),ygenst(I%),xgenend(I%),ygenend(I%) � �#f,xinitst(I%),yinitst(I%),xinitend(I%),yinitend(I%)
��
��#f
��
�� �initiator
��grid(0,0,1000,990)
�I%=1:D%=0:E%=0:X%=0
�Y%=500:P%=0:Q%=500
��
�
�rband
�� K%=127 � �TNF
�%xinitst(I%)=V%+100:yinitst(I%)=W%
�'xinitend(I%)=X%+100:yinitend(I%)=Y%
I%=I%+1
� K%=127
ninitpts%=I%-1
"�
6� �menu
@� 1079,0:� 1079,960
J� 1279,0:� 1279,960
T� 1179,0:� 1179,960
^� I%=0 � 960 � 32
h� 1079,I%:� 1279,I%
r�
|�
�
� �option
��
�
�:K%=�(0)
�� K%=�"*" �osc
�� K%>=128 � K%<=137
�@� K%-127 � �dVF,�d`F,�djF,�dtF,�d~F,�THG,�TRG,�DNG,�DXG,�DXG
�� �
��save("G"):�
��load("G"):�
��save("I"):�
��load("I"):�
��:�generator:�
�:�initiator:�
#�60,0)"Recursion Depth ",nrec%
N%=0:�0,1:�
&7� nrec%>9 � nrec%<=0 �60,0)"Out of range      ":�7
0� H%=1 � ninitpts%
:?�split(xinitst(H%),yinitst(H%),xinitend(H%),yinitend(H%),1)
D�:�7,7:�
N	�user
X�
b� �
l�
�� �keyin
�A=1/3:B=�(3)
�#�10,0);del$:�10,0);"?";:K%=-1
�$�getstring:A$=num$:� �(E$)=136 �
�$�getstring:B$=num$:� �(E$)=136 �
�$�getstring:C$=num$:� �(E$)=136 �
�$�getstring:D$=num$:� �(E$)=136 �
�R=�(A$):S=�(B$)
�T=�(C$):U=�(D$)
�P%=R*800:Q%=S*800
�X%=T*800:Y%=U*800:K%=&0D
��

� �osc
�28,0,31,79,22,14,12

�"*"name$
 #X%=oscli% � 256:Y%=oscli% � 256
*$oscli%=name$:�&FFF7
4
�26,15
>�
R� �instr
\
�26,12
f� M%=0 � 9
p
� opt$
z2�18,M%*2);"f";M%;" ..................  ";opt$
��
�#�25,25)"<Esc> Return to Menu" 
��
�:
�B� Save Generator, Load Generator,Save Initiator,Load Initiator
�9� Define Generator,Define Initiator, Generate Fractal
�7� User Print Dump,Toggle Numeric Input,Mirror Image
�� �getstring
�num$=""
��
��
�*FX 15,0
	E$=�:� �(E$)=&D � �TnI
		�;E$;
	� �(E$)=136 � �TnI
	$num$=num$+E$
	.� �(E$)=&D � �(E$)=136
	8�;" , ";
	B�
	`� �=17 � �Dn@
	j
�instr
	t�0,28)"ERROR :":�
	~
� �Dx@
	�,��user:�0,0:�29,0;0;2,1,27,1,65,1,8,1,10
	���Y%=1020�12�-16:�1,27,1,76,1,192,1,3:�X%=0�1276�4:A%=0:B%=0:�Z%=0�12�4:A%=A%*4+3*�X%,Y%-Z%):B%=B%*4+3*�X%+2,Y%-Z%):�:�1,A%,1,A%,1,B%:�:�1,10:�:�1,27,1,64,3
	��
�
00000000  0d 00 28 21 f4 20 28 63  29 20 41 63 6f 72 6e 20  |..(!. (c) Acorn |
00000010  55 73 65 72 20 4f 63 74  6f 62 65 72 20 31 39 38  |User October 198|
00000020  35 0d 00 3c 0e ee 20 85  20 e5 20 8d 44 60 49 0d  |5..<.. . . .D`I.|
00000030  00 46 1b 2a 4b 45 59 30  2a 46 58 34 2c 30 7c 4d  |.F.*KEY0*FX4,0|M|
00000040  2a 46 58 31 32 2c 31 30  7c 4d 0d 00 50 16 eb 30  |*FX12,10|M..P..0|
00000050  3a ef 32 33 3b 38 32 30  32 3b 30 3b 30 3b 30 3b  |:.23;8202;0;0;0;|
00000060  0d 00 5a 09 f2 69 6e 69  74 0d 00 64 1d e3 20 49  |..Z..init..d.. I|
00000070  25 3d 31 20 b8 20 33 30  3a 6d 69 72 72 25 28 49  |%=1 . 30:mirr%(I|
00000080  25 29 3d 30 3a ed 0d 00  6e 0a f2 69 6e 73 74 72  |%)=0:...n..instr|
00000090  0d 00 78 0b f2 6f 70 74  69 6f 6e 0d 00 82 05 e0  |..x..option.....|
000000a0  0d 00 96 10 dd 20 f2 67  65 6e 65 72 61 74 6f 72  |..... .generator|
000000b0  0d 00 a0 18 f2 67 72 69  64 28 31 30 30 2c 30 2c  |.....grid(100,0,|
000000c0  39 30 30 2c 39 39 30 29  0d 00 aa 17 58 25 3d 30  |900,990)....X%=0|
000000d0  3a 59 25 3d 30 3a 50 25  3d 30 3a 51 25 3d 30 0d  |:Y%=0:P%=0:Q%=0.|
000000e0  00 b4 16 44 25 3d 31 30  30 3a 45 25 3d 35 30 30  |...D%=100:E%=500|
000000f0  3a 49 25 3d 31 0d 00 be  05 f5 0d 00 c8 0a f2 72  |:I%=1..........r|
00000100  62 61 6e 64 0d 00 d2 13  e7 20 4b 25 3d 31 32 37  |band..... K%=127|
00000110  20 e5 20 8d 54 58 41 0d  00 dc 15 78 67 65 6e 73  | . .TXA....xgens|
00000120  74 28 49 25 29 3d 56 25  2f 38 30 30 0d 00 e6 15  |t(I%)=V%/800....|
00000130  79 67 65 6e 73 74 28 49  25 29 3d 57 25 2f 38 30  |ygenst(I%)=W%/80|
00000140  30 0d 00 f0 16 78 67 65  6e 65 6e 64 28 49 25 29  |0....xgenend(I%)|
00000150  3d 58 25 2f 38 30 30 0d  00 fa 16 79 67 65 6e 65  |=X%/800....ygene|
00000160  6e 64 28 49 25 29 3d 59  25 2f 38 30 30 0d 01 04  |nd(I%)=Y%/800...|
00000170  26 e7 20 6d 69 72 72 25  20 6d 69 72 72 25 28 49  |&. mirr% mirr%(I|
00000180  25 29 3d 2d 31 20 8b 20  6d 69 72 72 25 28 49 25  |%)=-1 . mirr%(I%|
00000190  29 3d 31 0d 01 0e 0b 49  25 3d 49 25 2b 31 0d 01  |)=1....I%=I%+1..|
000001a0  18 0c fd 20 4b 25 3d 31  32 37 0d 01 22 0e 6e 70  |... K%=127..".np|
000001b0  74 73 25 3d 49 25 2d 31  0d 01 2c 05 e1 0d 01 40  |ts%=I%-1..,....@|
000001c0  0b dd 20 f2 69 6e 69 74  0d 01 4a 79 de 20 78 67  |.. .init..Jy. xg|
000001d0  65 6e 73 74 28 33 30 29  2c 79 67 65 6e 73 74 28  |enst(30),ygenst(|
000001e0  33 30 29 2c 78 67 65 6e  65 6e 64 28 33 30 29 2c  |30),xgenend(30),|
000001f0  79 67 65 6e 65 6e 64 28  33 30 29 2c 78 69 6e 69  |ygenend(30),xini|
00000200  74 73 74 28 33 30 29 2c  79 69 6e 69 74 73 74 28  |tst(30),yinitst(|
00000210  33 30 29 2c 78 69 6e 69  74 65 6e 64 28 33 30 29  |30),xinitend(30)|
00000220  2c 79 69 6e 69 74 65 6e  64 28 33 30 29 2c 6d 69  |,yinitend(30),mi|
00000230  72 72 25 28 33 30 29 2c  6f 73 63 6c 69 25 20 32  |rr%(30),oscli% 2|
00000240  30 0d 01 54 23 50 25 3d  30 3a 51 25 3d 30 3a 58  |0..T#P%=0:Q%=0:X|
00000250  25 3d 30 3a 59 25 3d 30  3a 64 78 25 3d 32 3a 64  |%=0:Y%=0:dx%=2:d|
00000260  79 25 3d 34 0d 01 5e 19  6d 69 72 72 25 3d a3 3a  |y%=4..^.mirr%=.:|
00000270  64 65 6c 24 3d c4 33 30  2c 22 20 22 29 0d 01 68  |del$=.30," ")..h|
00000280  1d ef 32 33 2c 32 34 32  2c 30 2c 30 2c 30 2c 30  |..23,242,0,0,0,0|
00000290  2c 30 2c 30 2c 30 2c 26  46 46 0d 01 72 0b 2a 46  |,0,0,0,&FF..r.*F|
000002a0  58 20 34 2c 32 0d 01 7c  0c 2a 46 58 20 31 32 2c  |X 4,2..|.*FX 12,|
000002b0  31 0d 01 86 0f 2a 46 58  20 32 32 35 2c 31 32 38  |1....*FX 225,128|
000002c0  0d 01 90 0f 2a 46 58 20  32 32 36 2c 31 34 34 0d  |....*FX 226,144.|
000002d0  01 9a 05 e1 0d 01 ae 0c  dd 20 f2 72 62 61 6e 64  |......... .rband|
000002e0  0d 01 b8 11 f1 8a 37 30  2c 49 25 2b 31 29 3b 49  |......70,I%+1);I|
000002f0  25 0d 01 c2 0b 6d 69 72  72 25 3d a3 0d 01 cc 08  |%....mirr%=.....|
00000300  e6 34 2c 31 0d 01 d6 05  f5 0d 01 e0 0b 4b 25 3d  |.4,1.........K%=|
00000310  a6 28 30 29 0d 01 ea 0c  2a 46 58 20 31 35 2c 30  |.(0)....*FX 15,0|
00000320  0d 01 f4 12 e7 20 4b 25  3c 3e 2d 31 20 f2 64 72  |..... K%<>-1 .dr|
00000330  61 77 0d 01 fe 16 e7 20  4b 25 3d 31 34 30 20 58  |aw..... K%=140 X|
00000340  25 3d 58 25 2d 64 78 25  0d 02 08 16 e7 20 4b 25  |%=X%-dx%..... K%|
00000350  3d 31 34 31 20 58 25 3d  58 25 2b 64 78 25 0d 02  |=141 X%=X%+dx%..|
00000360  12 16 e7 20 4b 25 3d 31  34 32 20 59 25 3d 59 25  |... K%=142 Y%=Y%|
00000370  2d 64 79 25 0d 02 1c 16  e7 20 4b 25 3d 31 34 33  |-dy%..... K%=143|
00000380  20 59 25 3d 59 25 2b 64  79 25 0d 02 26 16 e7 20  | Y%=Y%+dy%..&.. |
00000390  4b 25 3d 31 35 39 20 51  25 3d 51 25 2b 64 79 25  |K%=159 Q%=Q%+dy%|
000003a0  0d 02 30 16 e7 20 4b 25  3d 31 35 38 20 51 25 3d  |..0.. K%=158 Q%=|
000003b0  51 25 2d 64 79 25 0d 02  3a 16 e7 20 4b 25 3d 31  |Q%-dy%..:.. K%=1|
000003c0  35 37 20 50 25 3d 50 25  2b 64 78 25 0d 02 44 16  |57 P%=P%+dx%..D.|
000003d0  e7 20 4b 25 3d 31 35 36  20 50 25 3d 50 25 2d 64  |. K%=156 P%=P%-d|
000003e0  78 25 0d 02 4e 13 e7 20  4b 25 3d 31 33 36 20 f2  |x%..N.. K%=136 .|
000003f0  6b 65 79 69 6e 0d 02 58  2a e7 20 4b 25 3d 31 33  |keyin..X*. K%=13|
00000400  37 20 6d 69 72 72 25 3d  ac 20 6d 69 72 72 25 3a  |7 mirr%=. mirr%:|
00000410  f1 8a 37 36 2c 49 25 2b  31 29 3b bd 32 34 32 0d  |..76,I%+1);.242.|
00000420  02 62 1a e7 20 6d 69 72  72 25 20 f1 8a 37 36 2c  |.b.. mirr% ..76,|
00000430  49 25 2b 31 29 3b 22 4d  22 0d 02 6c 0b f2 63 75  |I%+1);"M"..l..cu|
00000440  72 73 6f 72 0d 02 76 34  e7 20 4b 25 3c 3e 2d 31  |rsor..v4. K%<>-1|
00000450  20 f2 64 72 61 77 3a 64  78 25 3d 64 78 25 2b 34  | .draw:dx%=dx%+4|
00000460  3a 64 79 25 3d 64 79 25  2b 32 20 8b 20 64 78 25  |:dy%=dy%+2 . dx%|
00000470  3d 32 3a 64 79 25 3d 34  0d 02 80 15 fd 20 4b 25  |=2:dy%=4..... K%|
00000480  3d 26 30 44 20 84 20 4b  25 3d 31 32 37 0d 02 8a  |=&0D . K%=127...|
00000490  1a 56 25 3d 50 25 3a 57  25 3d 51 25 3a e6 30 2c  |.V%=P%:W%=Q%:.0,|
000004a0  31 3a f2 64 72 61 77 0d  02 94 0f 50 25 3d 58 25  |1:.draw....P%=X%|
000004b0  3a 51 25 3d 59 25 0d 02  9e 05 e1 0d 02 b2 0b dd  |:Q%=Y%..........|
000004c0  20 f2 64 72 61 77 0d 02  bc 1f ec 20 50 25 2b 44  | .draw..... P%+D|
000004d0  25 2c 51 25 2b 45 25 3a  df 20 58 25 2b 44 25 2c  |%,Q%+E%:. X%+D%,|
000004e0  59 25 2b 45 25 0d 02 c6  0b f2 63 75 72 73 6f 72  |Y%+E%.....cursor|
000004f0  0d 02 d0 05 e1 0d 02 e4  0d dd 20 f2 63 75 72 73  |.......... .curs|
00000500  6f 00 0d 02 ee 14 e6 20  34 2c 31 3a e3 20 43 25  |o...... 4,1:. C%|
00000510  3d 31 20 b8 20 32 0d 02  f8 14 ec 20 58 25 2b 44  |=1 . 2..... X%+D|
00000520  25 2d 32 30 2c 59 25 2b  45 25 0d 03 02 14 df 20  |%-20,Y%+E%..... |
00000530  58 25 2b 44 25 2b 32 30  2c 59 25 2b 45 25 0d 03  |X%+D%+20,Y%+E%..|
00000540  0c 14 ec 20 58 25 2b 44  25 2c 59 25 2b 45 25 2b  |... X%+D%,Y%+E%+|
00000550  32 30 0d 03 16 14 df 20  58 25 2b 44 25 2c 59 25  |20..... X%+D%,Y%|
00000560  2b 45 25 2d 32 30 0d 03  20 05 ed 0d 03 2a 05 e1  |+E%-20.. ....*..|
00000570  0d 03 3e 1f dd 20 f2 73  70 6c 69 74 28 78 73 2c  |..>.. .split(xs,|
00000580  79 73 2c 78 65 2c 79 65  2c 6d 69 72 72 25 29 0d  |ys,xe,ye,mirr%).|
00000590  03 48 14 ea 20 49 25 2c  78 64 69 66 66 2c 79 64  |.H.. I%,xdiff,yd|
000005a0  69 66 66 0d 03 52 1b 78  64 69 66 66 3d 78 65 2d  |iff..R.xdiff=xe-|
000005b0  78 73 3a 79 64 69 66 66  3d 79 65 2d 79 73 0d 03  |xs:ydiff=ye-ys..|
000005c0  5c 0b 4e 25 3d 4e 25 2b  31 0d 03 66 12 e3 20 49  |\.N%=N%+1..f.. I|
000005d0  25 3d 31 20 b8 20 6e 70  74 73 25 0d 03 70 2e 58  |%=1 . npts%..p.X|
000005e0  73 3d 78 64 69 66 66 2a  78 67 65 6e 73 74 28 49  |s=xdiff*xgenst(I|
000005f0  25 29 2d 79 64 69 66 66  2a 79 67 65 6e 73 74 28  |%)-ydiff*ygenst(|
00000600  49 25 29 2a 6d 69 72 72  25 0d 03 7a 2e 59 73 3d  |I%)*mirr%..z.Ys=|
00000610  79 64 69 66 66 2a 78 67  65 6e 73 74 28 49 25 29  |ydiff*xgenst(I%)|
00000620  2b 78 64 69 66 66 2a 79  67 65 6e 73 74 28 49 25  |+xdiff*ygenst(I%|
00000630  29 2a 6d 69 72 72 25 0d  03 84 30 58 65 3d 78 64  |)*mirr%...0Xe=xd|
00000640  69 66 66 2a 78 67 65 6e  65 6e 64 28 49 25 29 2d  |iff*xgenend(I%)-|
00000650  79 64 69 66 66 2a 79 67  65 6e 65 6e 64 28 49 25  |ydiff*ygenend(I%|
00000660  29 2a 6d 69 72 72 25 0d  03 8e 30 59 65 3d 79 64  |)*mirr%...0Ye=yd|
00000670  69 66 66 2a 78 67 65 6e  65 6e 64 28 49 25 29 2b  |iff*xgenend(I%)+|
00000680  78 64 69 66 66 2a 79 67  65 6e 65 6e 64 28 49 25  |xdiff*ygenend(I%|
00000690  29 2a 6d 69 72 72 25 0d  03 98 1d 78 73 74 61 72  |)*mirr%....xstar|
000006a0  74 3d 78 73 2b 58 73 3a  79 73 74 61 72 74 3d 79  |t=xs+Xs:ystart=y|
000006b0  73 2b 59 73 0d 03 a2 19  78 65 6e 64 3d 78 73 2b  |s+Ys....xend=xs+|
000006c0  58 65 3a 79 65 6e 64 3d  79 73 2b 59 65 0d 03 ac  |Xe:yend=ys+Ye...|
000006d0  5b e7 20 4e 25 3d 6e 72  65 63 25 20 ec 20 78 73  |[. N%=nrec% . xs|
000006e0  74 61 72 74 2c 79 73 74  61 72 74 3a df 78 65 6e  |tart,ystart:.xen|
000006f0  64 2c 79 65 6e 64 20 8b  20 f2 73 70 6c 69 74 28  |d,yend . .split(|
00000700  78 73 74 61 72 74 2c 79  73 74 61 72 74 2c 78 65  |xstart,ystart,xe|
00000710  6e 64 2c 79 65 6e 64 2c  6d 69 72 72 25 28 49 25  |nd,yend,mirr%(I%|
00000720  29 2a 6d 69 72 72 25 29  0d 03 b6 16 e7 20 a6 28  |)*mirr%)..... .(|
00000730  30 29 3d 33 32 20 4e 25  3d 6e 72 65 63 25 0d 03  |0)=32 N%=nrec%..|
00000740  c0 05 ed 0d 03 ca 0b 4e  25 3d 4e 25 2d 31 0d 03  |.......N%=N%-1..|
00000750  d4 05 e1 0d 03 e8 1c dd  20 f2 67 72 69 64 28 58  |........ .grid(X|
00000760  31 25 2c 59 31 25 2c 58  32 25 2c 59 32 25 29 0d  |1%,Y1%,X2%,Y2%).|
00000770  03 f2 17 e3 20 41 25 3d  58 31 25 20 b8 20 58 32  |.... A%=X1% . X2|
00000780  25 20 88 20 35 30 0d 03  fc 17 e3 20 42 25 3d 59  |% . 50..... B%=Y|
00000790  31 25 20 b8 20 59 32 25  20 88 20 35 30 0d 04 06  |1% . Y2% . 50...|
000007a0  0d f0 36 39 2c 41 25 2c  42 25 0d 04 10 07 ed 3a  |..69,A%,B%.....:|
000007b0  ed 0d 04 1a 0d ec 20 58  32 25 2c 59 32 25 0d 04  |...... X2%,Y2%..|
000007c0  24 17 df 20 58 31 25 2c  59 32 25 3a df 20 58 31  |$.. X1%,Y2%:. X1|
000007d0  25 2c 59 31 25 0d 04 2e  17 df 20 58 32 25 2c 59  |%,Y1%..... X2%,Y|
000007e0  31 25 3a df 20 58 32 25  2c 59 32 25 0d 04 38 15  |1%:. X2%,Y2%..8.|
000007f0  ec 20 28 58 32 25 2b 58  31 25 29 2f 32 2c 59 32  |. (X2%+X1%)/2,Y2|
00000800  25 0d 04 42 17 df 20 28  58 32 25 2b 58 31 25 29  |%..B.. (X2%+X1%)|
00000810  2f 32 2c 59 32 25 2b 38  0d 04 4c 15 ec 20 28 58  |/2,Y2%+8..L.. (X|
00000820  32 25 2b 58 31 25 29 2f  32 2c 59 31 25 0d 04 56  |2%+X1%)/2,Y1%..V|
00000830  17 df 20 28 58 32 25 2b  58 31 25 29 2f 32 2c 59  |.. (X2%+X1%)/2,Y|
00000840  31 25 2d 38 0d 04 60 15  ec 20 58 32 25 2c 28 59  |1%-8..`.. X2%,(Y|
00000850  32 25 2b 59 31 25 29 2f  32 0d 04 6a 17 df 20 58  |2%+Y1%)/2..j.. X|
00000860  32 25 2b 38 2c 28 59 32  25 2b 59 31 25 29 2f 32  |2%+8,(Y2%+Y1%)/2|
00000870  0d 04 74 15 ec 20 58 31  25 2c 28 59 32 25 2b 59  |..t.. X1%,(Y2%+Y|
00000880  31 25 29 2f 32 0d 04 7e  17 df 20 58 31 25 2d 38  |1%)/2..~.. X1%-8|
00000890  2c 28 59 32 25 2b 59 31  25 29 2f 32 0d 04 88 09  |,(Y2%+Y1%)/2....|
000008a0  f2 6d 65 6e 75 0d 04 92  05 e1 0d 04 a6 0f dd 20  |.menu.......... |
000008b0  f2 73 61 76 65 28 41 24  29 0d 04 b0 46 e7 20 41  |.save(A$)...F. A|
000008c0  24 3d 22 47 22 20 f1 8a  32 36 2c 32 39 29 3b 22  |$="G" ..26,29);"|
000008d0  53 61 76 65 20 67 65 6e  65 72 61 74 6f 72 20 22  |Save generator "|
000008e0  3b 20 8b 20 f1 8a 32 36  2c 32 39 29 3b 22 53 61  |; . ..26,29);"Sa|
000008f0  76 65 20 49 6e 69 74 69  61 74 6f 72 20 22 3b 0d  |ve Initiator ";.|
00000900  04 ba 13 e8 22 46 69 6c  65 20 22 2c 73 66 69 6c  |...."File ",sfil|
00000910  65 24 0d 04 c4 3a f4 20  49 46 20 41 24 3d 22 47  |e$...:. IF A$="G|
00000920  22 20 73 66 69 6c 65 24  3d 22 47 2e 22 2b 73 66  |" sfile$="G."+sf|
00000930  69 6c 65 24 20 45 4c 53  45 20 73 66 69 6c 65 24  |ile$ ELSE sfile$|
00000940  3d 22 49 2e 22 2b 73 66  69 6c 65 24 0d 04 ce 11  |="I."+sfile$....|
00000950  f1 8a 32 36 2c 32 39 29  3b 64 65 6c 24 0d 04 d8  |..26,29);del$...|
00000960  0f 66 3d ae 28 73 66 69  6c 65 24 29 0d 04 e2 40  |.f=.(sfile$)...@|
00000970  e7 20 41 24 3d 22 47 22  20 f1 23 66 2c 6e 70 74  |. A$="G" .#f,npt|
00000980  73 25 3a 70 74 73 25 3d  6e 70 74 73 25 20 8b 20  |s%:pts%=npts% . |
00000990  f1 23 66 2c 6e 69 6e 69  74 70 74 73 25 3a 70 74  |.#f,ninitpts%:pt|
000009a0  73 25 3d 6e 69 6e 69 74  70 74 73 25 0d 04 ec 11  |s%=ninitpts%....|
000009b0  e3 20 49 25 3d 31 20 b8  20 70 74 73 25 0d 04 f6  |. I%=1 . pts%...|
000009c0  7f e7 20 41 24 3d 22 47  22 f1 23 66 2c 6d 69 72  |.. A$="G".#f,mir|
000009d0  72 25 28 49 25 29 2c 78  67 65 6e 73 74 28 49 25  |r%(I%),xgenst(I%|
000009e0  29 2c 79 67 65 6e 73 74  28 49 25 29 2c 78 67 65  |),ygenst(I%),xge|
000009f0  6e 65 6e 64 28 49 25 29  2c 79 67 65 6e 65 6e 64  |nend(I%),ygenend|
00000a00  28 49 25 29 3a 8b 20 f1  23 66 2c 78 69 6e 69 74  |(I%):. .#f,xinit|
00000a10  73 74 28 49 25 29 2c 79  69 6e 69 74 73 74 28 49  |st(I%),yinitst(I|
00000a20  25 29 2c 78 69 6e 69 74  65 6e 64 28 49 25 29 2c  |%),xinitend(I%),|
00000a30  79 69 6e 69 74 65 6e 64  28 49 25 29 0d 05 00 05  |yinitend(I%)....|
00000a40  ed 0d 05 0a 07 d9 23 66  0d 05 14 05 e1 0d 05 28  |......#f.......(|
00000a50  0f dd 20 f2 6c 6f 61 64  28 41 24 29 0d 05 32 45  |.. .load(A$)..2E|
00000a60  e7 20 41 24 3d 22 47 22  20 f1 8a 32 36 2c 32 39  |. A$="G" ..26,29|
00000a70  29 3b 22 4c 6f 61 64 20  47 65 6e 65 72 61 74 6f  |);"Load Generato|
00000a80  72 20 22 3b 8b 20 f1 8a  32 36 2c 32 39 29 3b 22  |r ";. ..26,29);"|
00000a90  4c 6f 61 64 20 49 6e 69  74 69 61 74 6f 72 20 22  |Load Initiator "|
00000aa0  3b 0d 05 3c 12 e8 22 46  69 6c 65 20 22 2c 66 69  |;..<.."File ",fi|
00000ab0  6c 65 24 0d 05 46 36 f4  20 49 46 20 41 24 3d 22  |le$..F6. IF A$="|
00000ac0  47 22 20 66 69 6c 65 24  3d 22 47 2e 22 2b 66 69  |G" file$="G."+fi|
00000ad0  6c 65 24 20 45 4c 53 45  20 66 69 6c 65 24 3d 22  |le$ ELSE file$="|
00000ae0  49 2e 22 2b 66 69 6c 65  24 0d 05 50 14 f1 8a 32  |I."+file$..P...2|
00000af0  36 2c 32 39 29 3b 64 65  6c 24 3a ef 37 0d 05 5a  |6,29);del$:.7..Z|
00000b00  0e 66 3d ad 28 66 69 6c  65 24 29 0d 05 64 3f e7  |.f=.(file$)..d?.|
00000b10  20 41 24 3d 22 47 22 e8  23 66 2c 6e 70 74 73 25  | A$="G".#f,npts%|
00000b20  3a 70 74 73 25 3d 6e 70  74 73 25 20 8b 20 e8 23  |:pts%=npts% . .#|
00000b30  66 2c 6e 69 6e 69 74 70  74 73 25 3a 70 74 73 25  |f,ninitpts%:pts%|
00000b40  3d 6e 69 6e 69 74 70 74  73 25 0d 05 6e 12 e3 20  |=ninitpts%..n.. |
00000b50  49 25 3d 31 20 b8 20 70  74 73 25 20 0d 05 78 7f  |I%=1 . pts% ..x.|
00000b60  e7 20 41 24 3d 22 47 22  e8 23 66 2c 6d 69 72 72  |. A$="G".#f,mirr|
00000b70  25 28 49 25 29 2c 78 67  65 6e 73 74 28 49 25 29  |%(I%),xgenst(I%)|
00000b80  2c 79 67 65 6e 73 74 28  49 25 29 2c 78 67 65 6e  |,ygenst(I%),xgen|
00000b90  65 6e 64 28 49 25 29 2c  79 67 65 6e 65 6e 64 28  |end(I%),ygenend(|
00000ba0  49 25 29 20 8b 20 e8 23  66 2c 78 69 6e 69 74 73  |I%) . .#f,xinits|
00000bb0  74 28 49 25 29 2c 79 69  6e 69 74 73 74 28 49 25  |t(I%),yinitst(I%|
00000bc0  29 2c 78 69 6e 69 74 65  6e 64 28 49 25 29 2c 79  |),xinitend(I%),y|
00000bd0  69 6e 69 74 65 6e 64 28  49 25 29 0d 05 82 05 ed  |initend(I%).....|
00000be0  0d 05 8c 07 d9 23 66 0d  05 96 05 e1 0d 05 aa 10  |.....#f.........|
00000bf0  dd 20 f2 69 6e 69 74 69  61 74 6f 72 0d 05 b4 17  |. .initiator....|
00000c00  f2 67 72 69 64 28 30 2c  30 2c 31 30 30 30 2c 39  |.grid(0,0,1000,9|
00000c10  39 30 29 0d 05 be 17 49  25 3d 31 3a 44 25 3d 30  |90)....I%=1:D%=0|
00000c20  3a 45 25 3d 30 3a 58 25  3d 30 0d 05 c8 16 59 25  |:E%=0:X%=0....Y%|
00000c30  3d 35 30 30 3a 50 25 3d  30 3a 51 25 3d 35 30 30  |=500:P%=0:Q%=500|
00000c40  0d 05 d2 05 f5 0d 05 dc  0a f2 72 62 61 6e 64 0d  |..........rband.|
00000c50  05 e6 13 e7 20 4b 25 3d  31 32 37 20 e5 20 8d 54  |.... K%=127 . .T|
00000c60  4e 46 0d 05 f0 25 78 69  6e 69 74 73 74 28 49 25  |NF...%xinitst(I%|
00000c70  29 3d 56 25 2b 31 30 30  3a 79 69 6e 69 74 73 74  |)=V%+100:yinitst|
00000c80  28 49 25 29 3d 57 25 0d  05 fa 27 78 69 6e 69 74  |(I%)=W%...'xinit|
00000c90  65 6e 64 28 49 25 29 3d  58 25 2b 31 30 30 3a 79  |end(I%)=X%+100:y|
00000ca0  69 6e 69 74 65 6e 64 28  49 25 29 3d 59 25 0d 06  |initend(I%)=Y%..|
00000cb0  04 0b 49 25 3d 49 25 2b  31 0d 06 0e 0c fd 20 4b  |..I%=I%+1..... K|
00000cc0  25 3d 31 32 37 0d 06 18  12 6e 69 6e 69 74 70 74  |%=127....ninitpt|
00000cd0  73 25 3d 49 25 2d 31 0d  06 22 05 e1 0d 06 36 0b  |s%=I%-1.."....6.|
00000ce0  dd 20 f2 6d 65 6e 75 0d  06 40 17 ec 20 31 30 37  |. .menu..@.. 107|
00000cf0  39 2c 30 3a df 20 31 30  37 39 2c 39 36 30 0d 06  |9,0:. 1079,960..|
00000d00  4a 17 ec 20 31 32 37 39  2c 30 3a df 20 31 32 37  |J.. 1279,0:. 127|
00000d10  39 2c 39 36 30 0d 06 54  17 ec 20 31 31 37 39 2c  |9,960..T.. 1179,|
00000d20  30 3a df 20 31 31 37 39  2c 39 36 30 0d 06 5e 15  |0:. 1179,960..^.|
00000d30  e3 20 49 25 3d 30 20 b8  20 39 36 30 20 88 20 33  |. I%=0 . 960 . 3|
00000d40  32 0d 06 68 17 ec 20 31  30 37 39 2c 49 25 3a df  |2..h.. 1079,I%:.|
00000d50  20 31 32 37 39 2c 49 25  0d 06 72 05 ed 0d 06 7c  | 1279,I%..r....||
00000d60  05 e1 0d 06 90 0d dd 20  f2 6f 70 74 69 6f 6e 0d  |....... .option.|
00000d70  06 9a 05 f5 0d 06 a4 0d  f5 3a 4b 25 3d a6 28 30  |.........:K%=.(0|
00000d80  29 0d 06 ae 12 e7 20 4b  25 3d 97 22 2a 22 20 f2  |)..... K%=."*" .|
00000d90  6f 73 63 0d 06 b8 17 fd  20 4b 25 3e 3d 31 32 38  |osc..... K%>=128|
00000da0  20 80 20 4b 25 3c 3d 31  33 37 0d 06 c2 40 ee 20  | . K%<=137...@. |
00000db0  4b 25 2d 31 32 37 20 e4  20 8d 64 56 46 2c 8d 64  |K%-127 . .dVF,.d|
00000dc0  60 46 2c 8d 64 6a 46 2c  8d 64 74 46 2c 8d 64 7e  |`F,.djF,.dtF,.d~|
00000dd0  46 2c 8d 54 48 47 2c 8d  54 52 47 2c 8d 44 4e 47  |F,.THG,.TRG,.DNG|
00000de0  2c 8d 44 58 47 2c 8d 44  58 47 0d 06 cc 07 fd 20  |,.DXG,.DXG..... |
00000df0  a3 0d 06 d6 10 f2 73 61  76 65 28 22 47 22 29 3a  |......save("G"):|
00000e00  f8 0d 06 e0 10 f2 6c 6f  61 64 28 22 47 22 29 3a  |......load("G"):|
00000e10  f8 0d 06 ea 10 f2 73 61  76 65 28 22 49 22 29 3a  |......save("I"):|
00000e20  f8 0d 06 f4 10 f2 6c 6f  61 64 28 22 49 22 29 3a  |......load("I"):|
00000e30  f8 0d 06 fe 12 db 3a f2  67 65 6e 65 72 61 74 6f  |......:.generato|
00000e40  72 3a f8 0d 07 08 12 db  3a f2 69 6e 69 74 69 61  |r:......:.initia|
00000e50  74 6f 72 3a f8 0d 07 12  23 e8 8a 36 30 2c 30 29  |tor:....#..60,0)|
00000e60  22 52 65 63 75 72 73 69  6f 6e 20 44 65 70 74 68  |"Recursion Depth|
00000e70  20 22 2c 6e 72 65 63 25  0d 07 1c 0f 4e 25 3d 30  | ",nrec%....N%=0|
00000e80  3a e6 30 2c 31 3a db 0d  07 26 37 e7 20 6e 72 65  |:.0,1:...&7. nre|
00000e90  63 25 3e 39 20 84 20 6e  72 65 63 25 3c 3d 30 20  |c%>9 . nrec%<=0 |
00000ea0  f1 8a 36 30 2c 30 29 22  4f 75 74 20 6f 66 20 72  |..60,0)"Out of r|
00000eb0  61 6e 67 65 20 20 20 20  20 20 22 3a ef 37 0d 07  |ange      ":.7..|
00000ec0  30 16 e3 20 48 25 3d 31  20 b8 20 6e 69 6e 69 74  |0.. H%=1 . ninit|
00000ed0  70 74 73 25 0d 07 3a 3f  f2 73 70 6c 69 74 28 78  |pts%..:?.split(x|
00000ee0  69 6e 69 74 73 74 28 48  25 29 2c 79 69 6e 69 74  |initst(H%),yinit|
00000ef0  73 74 28 48 25 29 2c 78  69 6e 69 74 65 6e 64 28  |st(H%),xinitend(|
00000f00  48 25 29 2c 79 69 6e 69  74 65 6e 64 28 48 25 29  |H%),yinitend(H%)|
00000f10  2c 31 29 0d 07 44 0c ed  3a ef 37 2c 37 3a f8 0d  |,1)..D..:.7,7:..|
00000f20  07 4e 09 f2 75 73 65 72  0d 07 58 05 f8 0d 07 62  |.N..user..X....b|
00000f30  07 fd 20 a3 0d 07 6c 05  e1 0d 07 80 0c dd 20 f2  |.. ...l....... .|
00000f40  6b 65 79 69 6e 0d 07 8a  10 41 3d 31 2f 33 3a 42  |keyin....A=1/3:B|
00000f50  3d b6 28 33 29 0d 07 94  23 f1 8a 31 30 2c 30 29  |=.(3)...#..10,0)|
00000f60  3b 64 65 6c 24 3a f1 8a  31 30 2c 30 29 3b 22 3f  |;del$:..10,0);"?|
00000f70  22 3b 3a 4b 25 3d 2d 31  0d 07 9e 24 f2 67 65 74  |";:K%=-1...$.get|
00000f80  73 74 72 69 6e 67 3a 41  24 3d 6e 75 6d 24 3a e7  |string:A$=num$:.|
00000f90  20 97 28 45 24 29 3d 31  33 36 20 e1 0d 07 a8 24  | .(E$)=136 ....$|
00000fa0  f2 67 65 74 73 74 72 69  6e 67 3a 42 24 3d 6e 75  |.getstring:B$=nu|
00000fb0  6d 24 3a e7 20 97 28 45  24 29 3d 31 33 36 20 e1  |m$:. .(E$)=136 .|
00000fc0  0d 07 b2 24 f2 67 65 74  73 74 72 69 6e 67 3a 43  |...$.getstring:C|
00000fd0  24 3d 6e 75 6d 24 3a e7  20 97 28 45 24 29 3d 31  |$=num$:. .(E$)=1|
00000fe0  33 36 20 e1 0d 07 bc 24  f2 67 65 74 73 74 72 69  |36 ....$.getstri|
00000ff0  6e 67 3a 44 24 3d 6e 75  6d 24 3a e7 20 97 28 45  |ng:D$=num$:. .(E|
00001000  24 29 3d 31 33 36 20 e1  0d 07 c6 13 52 3d a0 28  |$)=136 .....R=.(|
00001010  41 24 29 3a 53 3d a0 28  42 24 29 0d 07 d0 13 54  |A$):S=.(B$)....T|
00001020  3d a0 28 43 24 29 3a 55  3d a0 28 44 24 29 0d 07  |=.(C$):U=.(D$)..|
00001030  da 15 50 25 3d 52 2a 38  30 30 3a 51 25 3d 53 2a  |..P%=R*800:Q%=S*|
00001040  38 30 30 0d 07 e4 1c 58  25 3d 54 2a 38 30 30 3a  |800....X%=T*800:|
00001050  59 25 3d 55 2a 38 30 30  3a 4b 25 3d 26 30 44 0d  |Y%=U*800:K%=&0D.|
00001060  07 ee 05 e1 0d 08 02 0a  dd 20 f2 6f 73 63 0d 08  |......... .osc..|
00001070  0c 18 ef 32 38 2c 30 2c  33 31 2c 37 39 2c 32 32  |...28,0,31,79,22|
00001080  2c 31 34 2c 31 32 0d 08  16 0d e8 22 2a 22 6e 61  |,14,12....."*"na|
00001090  6d 65 24 0d 08 20 23 58  25 3d 6f 73 63 6c 69 25  |me$.. #X%=oscli%|
000010a0  20 83 20 32 35 36 3a 59  25 3d 6f 73 63 6c 69 25  | . 256:Y%=oscli%|
000010b0  20 81 20 32 35 36 0d 08  2a 18 24 6f 73 63 6c 69  | . 256..*.$oscli|
000010c0  25 3d 6e 61 6d 65 24 3a  d6 26 46 46 46 37 0d 08  |%=name$:.&FFF7..|
000010d0  34 0a ef 32 36 2c 31 35  0d 08 3e 05 e1 0d 08 52  |4..26,15..>....R|
000010e0  0c dd 20 f2 69 6e 73 74  72 0d 08 5c 0a ef 32 36  |.. .instr..\..26|
000010f0  2c 31 32 0d 08 66 0e e3  20 4d 25 3d 30 20 b8 20  |,12..f.. M%=0 . |
00001100  39 0d 08 70 0a f3 20 6f  70 74 24 0d 08 7a 32 f1  |9..p.. opt$..z2.|
00001110  8a 31 38 2c 4d 25 2a 32  29 3b 22 66 22 3b 4d 25  |.18,M%*2);"f";M%|
00001120  3b 22 20 2e 2e 2e 2e 2e  2e 2e 2e 2e 2e 2e 2e 2e  |;" .............|
00001130  2e 2e 2e 2e 2e 20 20 22  3b 6f 70 74 24 0d 08 84  |.....  ";opt$...|
00001140  05 ed 0d 08 8e 23 f1 8a  32 35 2c 32 35 29 22 3c  |.....#..25,25)"<|
00001150  45 73 63 3e 20 52 65 74  75 72 6e 20 74 6f 20 4d  |Esc> Return to M|
00001160  65 6e 75 22 20 0d 08 98  05 e1 0d 08 a2 05 3a 0d  |enu" .........:.|
00001170  08 ac 42 dc 20 53 61 76  65 20 47 65 6e 65 72 61  |..B. Save Genera|
00001180  74 6f 72 2c 20 4c 6f 61  64 20 47 65 6e 65 72 61  |tor, Load Genera|
00001190  74 6f 72 2c 53 61 76 65  20 49 6e 69 74 69 61 74  |tor,Save Initiat|
000011a0  6f 72 2c 4c 6f 61 64 20  49 6e 69 74 69 61 74 6f  |or,Load Initiato|
000011b0  72 0d 08 b6 39 dc 20 44  65 66 69 6e 65 20 47 65  |r...9. Define Ge|
000011c0  6e 65 72 61 74 6f 72 2c  44 65 66 69 6e 65 20 49  |nerator,Define I|
000011d0  6e 69 74 69 61 74 6f 72  2c 20 47 65 6e 65 72 61  |nitiator, Genera|
000011e0  74 65 20 46 72 61 63 74  61 6c 0d 08 c0 37 dc 20  |te Fractal...7. |
000011f0  55 73 65 72 20 50 72 69  6e 74 20 44 75 6d 70 2c  |User Print Dump,|
00001200  54 6f 67 67 6c 65 20 4e  75 6d 65 72 69 63 20 49  |Toggle Numeric I|
00001210  6e 70 75 74 2c 4d 69 72  72 6f 72 20 49 6d 61 67  |nput,Mirror Imag|
00001220  65 0d 08 d4 10 dd 20 f2  67 65 74 73 74 72 69 6e  |e..... .getstrin|
00001230  67 0d 08 de 0b 6e 75 6d  24 3d 22 22 0d 08 e8 05  |g....num$=""....|
00001240  f5 0d 08 f2 05 f7 0d 08  fc 0c 2a 46 58 20 31 35  |..........*FX 15|
00001250  2c 30 0d 09 06 1a 45 24  3d be 3a e7 20 97 28 45  |,0....E$=.:. .(E|
00001260  24 29 3d 26 44 20 8c 20  8d 54 6e 49 0d 09 10 09  |$)=&D . .TnI....|
00001270  f1 3b 45 24 3b 0d 09 1a  16 e7 20 97 28 45 24 29  |.;E$;..... .(E$)|
00001280  3d 31 33 36 20 8c 20 8d  54 6e 49 0d 09 24 10 6e  |=136 . .TnI..$.n|
00001290  75 6d 24 3d 6e 75 6d 24  2b 45 24 0d 09 2e 1a fd  |um$=num$+E$.....|
000012a0  20 97 28 45 24 29 3d 26  44 20 84 20 97 28 45 24  | .(E$)=&D . .(E$|
000012b0  29 3d 31 33 36 0d 09 38  0c f1 3b 22 20 2c 20 22  |)=136..8..;" , "|
000012c0  3b 0d 09 42 05 e1 0d 09  60 11 e7 20 9f 3d 31 37  |;..B....`.. .=17|
000012d0  20 e5 20 8d 44 6e 40 0d  09 6a 0a f2 69 6e 73 74  | . .Dn@..j..inst|
000012e0  72 0d 09 74 16 f1 8a 30  2c 32 38 29 22 45 52 52  |r..t...0,28)"ERR|
000012f0  4f 52 20 3a 22 3a f6 0d  09 7e 0a e5 20 8d 44 78  |OR :":...~.. .Dx|
00001300  40 0d 09 92 2c dd f2 75  73 65 72 3a ec 30 2c 30  |@...,..user:.0,0|
00001310  3a ef 32 39 2c 30 3b 30  3b 32 2c 31 2c 32 37 2c  |:.29,0;0;2,1,27,|
00001320  31 2c 36 35 2c 31 2c 38  2c 31 2c 31 30 0d 09 9c  |1,65,1,8,1,10...|
00001330  9f e3 59 25 3d 31 30 32  30 b8 31 32 88 2d 31 36  |..Y%=1020.12.-16|
00001340  3a ef 31 2c 32 37 2c 31  2c 37 36 2c 31 2c 31 39  |:.1,27,1,76,1,19|
00001350  32 2c 31 2c 33 3a e3 58  25 3d 30 b8 31 32 37 36  |2,1,3:.X%=0.1276|
00001360  88 34 3a 41 25 3d 30 3a  42 25 3d 30 3a e3 5a 25  |.4:A%=0:B%=0:.Z%|
00001370  3d 30 b8 31 32 88 34 3a  41 25 3d 41 25 2a 34 2b  |=0.12.4:A%=A%*4+|
00001380  33 2a b0 58 25 2c 59 25  2d 5a 25 29 3a 42 25 3d  |3*.X%,Y%-Z%):B%=|
00001390  42 25 2a 34 2b 33 2a b0  58 25 2b 32 2c 59 25 2d  |B%*4+3*.X%+2,Y%-|
000013a0  5a 25 29 3a ed 3a ef 31  2c 41 25 2c 31 2c 41 25  |Z%):.:.1,A%,1,A%|
000013b0  2c 31 2c 42 25 3a ed 3a  ef 31 2c 31 30 3a ed 3a  |,1,B%:.:.1,10:.:|
000013c0  ef 31 2c 32 37 2c 31 2c  36 34 2c 33 0d 09 a6 05  |.1,27,1,64,3....|
000013d0  e1 0d ff                                          |...|
000013d3
04-08-89/Frac2.m0
04-08-89/Frac2.m1
04-08-89/Frac2.m2
04-08-89/Frac2.m4
04-08-89/Frac2.m5