Home » Personal collection » Acorn hard disk » misc » dcfprogs » Server1/!Mandel/!RunB

Server1/!Mandel/!RunB

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 » misc » dcfprogs
Filename: Server1/!Mandel/!RunB
Read OK:
File size: 0256 bytes
Load address: 0000
Exec address: 0000
Duplicates

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

File contents
   10REM Mandelbrot Set Plotter
   20REM By Dominic Ford
   30:
   40ON ERROR PROCerror:END
   50MODE 15
   60INPUTxpix,ypix
   70xpix=xpix*2:ypix=ypix*2
   80XMIN=-2:XMAX=2:YMIN=-2:YMAX=2:X3=(XMAX-XMIN)/xpix
   90X4=(YMAX-YMIN)/ypix
  100FORX=0TOxpix STEP8
  110FORY=0TOypix STEP8
  120PROCsetp
  130DRAWX+7,Y:DRAWX+7,Y+7:DRAWX,Y+7:DRAWX,Y+4:DRAWX+7,Y+4
  140NEXT,
  150FORX=0TOxpix STEP2
  160FORY=0TOypix STEP2
  170PROCsetp
  180NEXT,
  190:
  200DEFPROCerror
  210ON ERROR OFF
  220*RAM
  230OSCLI"SCREENSAVE SCR"
  240ENDPROC
  250:
  260DEFPROCsetp
  270XB=XMIN+(X3*X)
  280YB=YMIN+(X4*Y)
  290C=0:U=XB:V=YB
  300REPEAT
  310US=U^2:VS=V^2
  320UN=US-VS+XB
  330VN=2*U*V+YB
  340U=UN:V=VN
  350C=C+1
  360UNTIL US+VS>4 OR C=10
  370IFC=255THENC=0
  380GCOL0,C
  390POINTX+250,Y+250
  400ENDPROC

� Mandelbrot Set Plotter
� By Dominic Ford
:
(� � �error:�
2� 15
<�xpix,ypix
Fxpix=xpix*2:ypix=ypix*2
P5XMIN=-2:XMAX=2:YMIN=-2:YMAX=2:X3=(XMAX-XMIN)/xpix
ZX4=(YMAX-YMIN)/ypix
d�X=0�xpix �8
n�Y=0�ypix �8
x	�setp
�*�X+7,Y:�X+7,Y+7:�X,Y+7:�X,Y+4:�X+7,Y+4
��,
��X=0�xpix �2
��Y=0�ypix �2
�	�setp
��,
�:
���error
�	� � �
�*RAM
��"SCREENSAVE SCR"
��
�:

��setp
XB=XMIN+(X3*X)
YB=YMIN+(X4*Y)
"C=0:U=XB:V=YB
,�
6US=U^2:VS=V^2
@UN=US-VS+XB
JVN=2*U*V+YB
T
U=UN:V=VN
^	C=C+1
h� US+VS>4 � C=10
r�C=255�C=0
|�0,C
�ȒX+250,Y+250
��
�
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 08 eb 20 31 35 0d 00  |rror:...2.. 15..|
00000050  3c 0e e8 78 70 69 78 2c  79 70 69 78 0d 00 46 1b  |<..xpix,ypix..F.|
00000060  78 70 69 78 3d 78 70 69  78 2a 32 3a 79 70 69 78  |xpix=xpix*2:ypix|
00000070  3d 79 70 69 78 2a 32 0d  00 50 35 58 4d 49 4e 3d  |=ypix*2..P5XMIN=|
00000080  2d 32 3a 58 4d 41 58 3d  32 3a 59 4d 49 4e 3d 2d  |-2:XMAX=2:YMIN=-|
00000090  32 3a 59 4d 41 58 3d 32  3a 58 33 3d 28 58 4d 41  |2:YMAX=2:X3=(XMA|
000000a0  58 2d 58 4d 49 4e 29 2f  78 70 69 78 0d 00 5a 17  |X-XMIN)/xpix..Z.|
000000b0  58 34 3d 28 59 4d 41 58  2d 59 4d 49 4e 29 2f 79  |X4=(YMAX-YMIN)/y|
000000c0  70 69 78 0d 00 64 10 e3  58 3d 30 b8 78 70 69 78  |pix..d..X=0.xpix|
000000d0  20 88 38 0d 00 6e 10 e3  59 3d 30 b8 79 70 69 78  | .8..n..Y=0.ypix|
000000e0  20 88 38 0d 00 78 09 f2  73 65 74 70 0d 00 82 2a  | .8..x..setp...*|
000000f0  df 58 2b 37 2c 59 3a df  58 2b 37 2c 59 2b 37 3a  |.X+7,Y:.X+7,Y+7:|
00000100  df 58 2c 59 2b 37 3a df  58 2c 59 2b 34 3a df 58  |.X,Y+7:.X,Y+4:.X|
00000110  2b 37 2c 59 2b 34 0d 00  8c 06 ed 2c 0d 00 96 10  |+7,Y+4.....,....|
00000120  e3 58 3d 30 b8 78 70 69  78 20 88 32 0d 00 a0 10  |.X=0.xpix .2....|
00000130  e3 59 3d 30 b8 79 70 69  78 20 88 32 0d 00 aa 09  |.Y=0.ypix .2....|
00000140  f2 73 65 74 70 0d 00 b4  06 ed 2c 0d 00 be 05 3a  |.setp.....,....:|
00000150  0d 00 c8 0b dd f2 65 72  72 6f 72 0d 00 d2 09 ee  |......error.....|
00000160  20 85 20 87 0d 00 dc 08  2a 52 41 4d 0d 00 e6 15  | . .....*RAM....|
00000170  ff 22 53 43 52 45 45 4e  53 41 56 45 20 53 43 52  |."SCREENSAVE SCR|
00000180  22 0d 00 f0 05 e1 0d 00  fa 05 3a 0d 01 04 0a dd  |".........:.....|
00000190  f2 73 65 74 70 0d 01 0e  12 58 42 3d 58 4d 49 4e  |.setp....XB=XMIN|
000001a0  2b 28 58 33 2a 58 29 0d  01 18 12 59 42 3d 59 4d  |+(X3*X)....YB=YM|
000001b0  49 4e 2b 28 58 34 2a 59  29 0d 01 22 11 43 3d 30  |IN+(X4*Y)..".C=0|
000001c0  3a 55 3d 58 42 3a 56 3d  59 42 0d 01 2c 05 f5 0d  |:U=XB:V=YB..,...|
000001d0  01 36 11 55 53 3d 55 5e  32 3a 56 53 3d 56 5e 32  |.6.US=U^2:VS=V^2|
000001e0  0d 01 40 0f 55 4e 3d 55  53 2d 56 53 2b 58 42 0d  |..@.UN=US-VS+XB.|
000001f0  01 4a 0f 56 4e 3d 32 2a  55 2a 56 2b 59 42 0d 01  |.J.VN=2*U*V+YB..|
00000200  54 0d 55 3d 55 4e 3a 56  3d 56 4e 0d 01 5e 09 43  |T.U=UN:V=VN..^.C|
00000210  3d 43 2b 31 0d 01 68 14  fd 20 55 53 2b 56 53 3e  |=C+1..h.. US+VS>|
00000220  34 20 84 20 43 3d 31 30  0d 01 72 0e e7 43 3d 32  |4 . C=10..r..C=2|
00000230  35 35 8c 43 3d 30 0d 01  7c 08 e6 30 2c 43 0d 01  |55.C=0..|..0,C..|
00000240  86 11 c8 92 58 2b 32 35  30 2c 59 2b 32 35 30 0d  |....X+250,Y+250.|
00000250  01 90 05 e1 0d ff                                 |......|
00000256