Readme for MBB
This is an ~1992 old mandelbrot/julia 
program for BBCmicro/Electron.
Inspired by an article in Acorn User 
Magazine, which was entirely in BASIC,
and a later posting there that used the
GXR rom for more pseudo-colours.
This one is in 6502 assembler and uses
anything I could find (except an ARM
processor), to make it faster. For
instance, it does not calculate
everything but traces the boundaries
between deepness, (crawl method) or
even between colours which should be
even faster (crawl#). It can also
subdivide areas and fill them in with
colour, or subdivide them further, as
in the original Acorn user program.
And the multiplications are 3X faster
than the usual one. The initial screen
is mirrored around the Y=0 line.
It has a number of menu entries -
'K" chooses between key sets for zooming
(Shift and Space  resp. Z and X) and
sideways shifting of the zooming
rectangle (Z and X for left and right,
/ and : for down and up). This
corresponds with the Electron keys.
Alternatively, the K key changes these
position-keys:
Z and X for zooming, and arrow keys
for left/right/down/up -
these are more convenient in an
emulator with American/GB keyboard.
'H' causes calculations to use 1 byte 
more precision, for Julia sets this 
can be important.
When calculating a screenful of 
Mandelbrot/Julia, all pixels require a
minimum of calculation to 'escape', and
in the black the pixels never escape of
course, but to keep calculationtime in
check a maximum number of iterations is
set. There is a 'window' between lowest
and highest. Normally the lower bound is
raised automatically with each new
picture calculation, and the upper bound
is raised too. For reasons of memory
shortage, the maximum distance between
lower and upper boundary = 255, 1 byte.
With automatic adjustment of lower
boundary, zooming in to greater depths
than 256 is made possible.
'F' (fixed) fixes these boundaries, so
that lower and upper boundary are not
adjusted automatically. A side effect is
that the colours remain the same as in
the previous calculation.
'C'-- resets the clock to zero.
'I'--insert values into the Depth, X,Y
and S (Size) fields. Navigate with the 
same keys as in Zoom (Z X / : or
Arrowkeys) in the cyan areas and finish
with Escape.
'P'--Palette submenu. This one has
extra keys, the palettes can be chosen
with the same up and down keys but new
colours can be mixed with N(oir)=black
,W=white,B=blue,G=green,R=red,Y=yellow,
M=magenta,C=cyan. I=insert,Del=delete
and Esc= leave this menu.
'J'--Julia set. Press <return> to
start its calculation.
'M'--Mandelbrot set. Again, press
<Return> to calculate.
'T'--calculation method.  Toggles
between the four modes. The 'part'
(partitioning) modes can be interrupted
 by Escape, the Crawl routines cannot.
'R'--Reset.
'K'-- choose keyset for zooming and 
scrolling.
'L'--Load a previously saved Mandelbrot
or Julia. This is a compressed image
along with the X,Y and Size parameters.
'S'--Save. There is a choice between
Sprite and compressed-image-with-X-Y-
and-Size. Sprites can be loaded with
MODE 2 <return> , *load <name_of_sprite>
3000. Otoh, the images can be reloaded
and the calculation can restart from
these saved X, Y, S, Depth parameters.
'Ret'--sets a change in motion, e.g.
starts a Mandelbrot calculation.
'Esc'--stops a menu operation, e.g.
entry of a parameter (X,Y,Size of Depth)
or Palettechange.
'Brk'--ends a MBB session. There is no
civilised method of stopping it as it
uses almost any memory it can find, e.g.
between &400 and &700. It is not a good
 idea to use it in an active Econet.
 MBB should be stopped by resetting
 the computer.
Start MBB with */MBB.
See this text with *TYPE HELPMBB  .
If used with Elc2 emulator, it's a
good idea to dial up the clock speed.
