Category : C Source Code
Archive   : FRASRC18.ZIP
Filename : HELP5.SRC

 
Output of file : HELP5.SRC contained in archive : FRASRC18.ZIP
~Topic=Common Problems

Of course, Fractint would never stoop to having a "common" problem. These
notes describe some, ahem, "special situations" which come up occasionally
and which even we haven't the gall to label as "features".

Hang during startup:\
There might be a problem with Fractint's video detection logic and your
particular video adapter. Try running with "fractint adapter=xxx" where
xxx is cga, ega, egamono, mcga, or vga. If "adapter=vga" works, and you
really have a SuperVGA adapter capable of higher video modes, there are
other "adapter=" options for a number of SuperVGA chipsets - please see
the full selection in {Video Parameters} for details. If this solves the
problem, create an SSTOOLS.INI file with the "adapter=xxx" command in it
so that the fix will apply to every run.\
Another possible cause: If you install the latest Fractint in say
directory "newfrac", then run it from another directory with the command
"\\newfrac\\fractint", *and* you have an older version of fractint.exe
somewhere in your DOS PATH, a silent hang is all you'll get. See the
notes under the "Cannot find FRACTINT.EXE message" problem for the reason.\
Another possibility: try one of the "textsafe" parameter choices
described in {Video Parameters}.

Scrambled image when returning from a text mode display:\
If an image which has been partly or completely generated gets partly
destroyed when you return to it from the menu, help, or the information
display, please try the various "textsafe" parameter options - see
{Video Parameters} for details. If this cures the problem, create
an SSTOOLS.INI file with the "textsafe=xxx" command so that the fix will
apply to every run.

"Holes" in an image while it is being drawn:\
Little squares colored in your "inside" color, in a pattern of every
second square of that size, in solid guessing mode, both across and down
(i.e., 1 out of 4), are
a symptom of an image which should be calculated with more conservative
periodicity checking than the default. See the Periodicity parameter
under {Image Calculation Parameters}.

Black bar at top of screen during color cycling on 8086/8088 machines:\
(This might happen intermittently, not every run.)\
"fractint cyclelimit=10" might cure the problem. If so, increase
the cyclelimit value (try increasing by 5 or 10 each time) until the
problem reappears, then back off one step and add that cyclelimit value
to your SSTOOLS.INI file.

Other video problems:

If you are using a VESA driver with your video adapter, the first thing
to try is the "vesadetect=no" parameter. If that fixes the problem, add
it to your SSTOOLS.INI file to make the fix permanent.

It may help to explicitly specify your type of adapter - see the
"adapter=" parameter in {Video Parameters}.

We've had one case where a video driver for Windows does not work
properly with Fractint. If running under Windows, DesqView, or some
other layered environment, try running Fractint directly from DOS to see
if that avoids the problem.\
We've also had one case of a problem co-existing with "386 to the Max".

We've had one report of an EGA adapter which got scrambled images in
all modes until "textsafe=no" was used (see {Video Parameters}).

Also, see {Video Adapter Notes} for information
about enhanced video modes - Fractint makes only limited attempts to
verify that a video mode you request is actually supported by your
adapter.
~OnlineFF

Other Hangs and Strange Behavior:\
We've had some problems (hangs and solid beeps) on an FPU equipped
machine when running under Windows 3's enhanced mode. The only ways
around the problem we can find are to either run the Fractint image
involved outside Windows, or to use the DOS command "SET NO87=nofpu"
before running Fractint. (This SET command makes Fractint ignore your
fpu, so things might be a lot slower as a result.)

Insufficient memory:\
Fractint requires a fair bit of memory to run. Most machines with at
least 640k (ok sticklers, make that "PC-compatible machines") will have
no problem. Machines with 512k and machines with many TSR utilities
and/or a LAN interface may have problems. Some Fractint features
allocate memory when required during a run. If you get a message about
insufficient memory, or suspect that some problem is due to a memory
shortage, you could try commenting out some TSR utilities in your
AUTOEXEC.BAT file, some non-critical drivers in your CONFIG.SYS file, or
reducing the BUFFERS parameter in your CONFIG.SYS.
~OnlineFF

"Cannot find FRACTINT.EXE" message:\
Fractint is an overlayed program - some parts of it are brought from
disk into memory only when used. The overlay manager needs to know
where to find the program. It must be named FRACTINT.EXE (which it is
unless somebody renamed it), and you should either be in the directory
containing it when you start Fractint, or that directory should be in
your DOS PATH.

"File FRACTINT.CFG is missing or invalid" message:\
You should either start Fractint while you are in the directory
containing it, or should have that directory in your DOS PATH variable.
If that isn't the problem, maybe you have a FRACTINT.CFG file from an
older release of Fractint lying around? If so, best rename or delete it.
If that isn't the problem either, then the FRACTINT.CFG included in the
FRAINT.EXE release file has probably been changed or deleted. Best
reinstall Fractint to get a fresh copy.
~OnlineFF

Some other program doesn't like GIF files created by Fractint:\
Fractint generates nice clean GIF89A spec files, honest! But telling
this to the other program isn't likely to change its mind. Instead, try
an option which might get around the problem: run Fractint with the
command line option "gif87a=yes" and then save an image. Fractint will
store the image in the older GIF87A format, without any fractal
parameters in it (so you won't be able to load the image back into
Fractint and zoom into it - the fractal type, coordinates, etc. are not
stored in this older format), and without an "aspect ratio" in the GIF
header (we've seen one utility which doesn't like that field.)

Disk video mode performance:\
This won't be blindingly fast at the best of times, but there are things
which can slow it down and can be tuned. See {"Disk-Video" Modes}
for details.
;
;
;
~Topic=Fractals and the PC
;
; empty for document, present just so we can reference the subject

~Format-,Doc-

A Little History:
{ Before Mandelbrot }
{ Who Is This Guy, Anyway? }

A Little Code:
{ Periodicity Logic }
{ Limitations of Integer Math (And How We Cope) }
{ The Fractint "Fractal Engine" Architecture }

A Little Math:
{ Summary of Fractal Types }
{ Inside=bof60|bof61|zmag|period }
{ Inside=epscross|startrail }
{ Finite Attractors }
{ Trig Identities }
~Format+,Doc+
;
;
~Topic=Before Mandelbrot

Like new forms of life, new branches of mathematics and science don't
appear from nowhere. The ideas of fractal geometry can be traced to the
late nineteenth century, when mathematicians created shapes -- sets of
points -- that seemed to have no counterpart in nature. By a wonderful
irony, the "abstract" mathematics descended from that work has now turned
out to be MORE appropriate than any other for describing many natural
shapes and processes.

Perhaps we shouldn't be surprised. The Greek geometers worked out the
mathematics of the conic sections for its formal beauty; it was two
thousand years before Copernicus and Brahe, Kepler and Newton overcame the
preconception that all heavenly motions must be circular, and found the
ellipse, parabola, and hyperbola in the paths of planets, comets, and
projectiles.

In the 17th century Newton and Leibniz created calculus, with its
techniques for "differentiating" or finding the derivative of functions --
in geometric terms, finding the tangent of a curve at any given point.
True, some functions were discontinuous, with no tangent at a gap or an
isolated point. Some had singularities: abrupt changes in direction at
which the idea of a tangent becomes meaningless. But these were seen as
exceptional, and attention was focused on the "well-behaved" functions
that worked well in modeling nature.

Beginning in the early 1870s, though, a 50-year crisis transformed
mathematical thinking. Weierstrass described a function that was
continuous but nondifferentiable -- no tangent could be described at any
point. Cantor showed how a simple, repeated procedure could turn a line
into a dust of scattered points, and Peano generated a convoluted curve
that eventually touches every point on a plane. These shapes seemed to
fall "between" the usual categories of one-dimensional lines, two-
dimensional planes and three-dimensional volumes. Most still saw them as
"pathological" cases, but here and there they began to find applications.

In other areas of mathematics, too, strange shapes began to crop up.
Poincare attempted to analyze the stability of the solar system in the
1880s and found that the many-body dynamical problem resisted traditional
methods. Instead, he developed a qualitative approach, a "state space" in
which each point represented a different planetary orbit, and studied what
we would now call the topology -- the "connectedness" -- of whole families
of orbits. This approach revealed that while many initial motions quickly
settled into the familiar curves, there were also strange, "chaotic"
orbits that never became periodic and predictable.

Other investigators trying to understand fluctuating, "noisy" phenomena --
the flooding of the Nile, price series in economics, the jiggling of
molecules in Brownian motion in fluids -- found that traditional models
could not match the data. They had to introduce apparently arbitrary
scaling features, with spikes in the data becoming rarer as they grew

larger, but never disappearing entirely.

For many years these developments seemed unrelated, but there were
tantalizing hints of a common thread. Like the pure mathematicians' curves
and the chaotic orbital motions, the graphs of irregular time series often
had the property of self-similarity: a magnified small section looked very
similar to a large one over a wide range of scales.
;
;
~Topic=Who Is This Guy\, Anyway?

While many pure and applied mathematicians advanced these trends, it is
Benoit Mandelbrot above all who saw what they had in common and pulled the
threads together into the new discipline.

He was born in Warsaw in 1924, and moved to France in 1935. In a time when
French mathematical training was strongly analytic, he visualized problems
whenever possible, so that he could attack them in geometric terms. He
attended the Ecole Polytechnique, then Caltech, where he encountered the
tangled motions of fluid turbulence.

In 1958 he joined IBM, where he began a mathematical analysis of
electronic "noise" -- and began to perceive a structure in it, a hierarchy
of fluctuations of all sizes, that could not be explained by existing
statistical methods. Through the years that followed, one seemingly
unrelated problem after another was drawn into the growing body of ideas
he would come to call fractal geometry.

As computers gained more graphic capabilities, the skills of his mind's
eye were reinforced by visualization on display screens and plotters.
Again and again, fractal models produced results -- series of flood
heights, or cotton prices -- that experts said looked like "the real
thing."

Visualization was extended to the physical world as well. In a provocative
essay titled "How Long Is the Coast of Britain?" Mandelbrot noted that the
answer depends on the scale at which one measures: it grows longer and
longer as one takes into account every bay and inlet, every stone, every
grain of sand. And he codified the "self-similarity" characteristic of
many fractal shapes -- the reappearance of geometrically similar features
at all scales.

First in isolated papers and lectures, then in two editions of his seminal
book, he argued that many of science's traditional mathematical models are
ill-suited to natural forms and processes: in fact, that many of the
"pathological" shapes mathematicians had discovered generations before are
useful approximations of tree bark and lung tissue, clouds and galaxies.

Mandelbrot was named an IBM Fellow in 1974, and continues to work at the
IBM Watson Research Center. He has also been a visiting professor and
guest lecturer at many universities.
;
;
~Topic=Periodicity Logic

The "Mandelbrot Lake" in the center of the M-set images is the traditional
bane of plotting programs. It sucks up the most computer time because it
always reaches the iteration limit -- and yet the most interesting areas
are invariably right at the edge the lake.
(See {The Mandelbrot Set} for a description of the iteration process.)

Thanks to Mark Peterson for pointing out (well, he more like beat us over
the head until we paid attention) that the iteration values in the middle
of Mandelbrot Lake tend to decay to periodic loops (i.e., Z(n+m) == Z(n),
a fact that is pointed out on pages 58-61 of "The Beauty of Fractals"). An
intelligent program (like the one he wrote) would check for this
periodicity once in a while, recognize that iterations caught in a loop
are going to max out, and bail out early.

For speed purposes, the current version of the program turns this checking
algorithm on only if the last pixel generated was in the lake. (The
checking itself takes a small amount of time, and the pixels on the very
edge of the lake tend to decay to periodic loops very slowly, so this
compromise turned out to be the fastest generic answer).

Try a full M-set plot with a 1000-iteration maximum with any other
program, and then try it on this one for a pretty dramatic proof of the
value of periodicity checking.

You can get a visual display of the periodicity effects if you press
rbits while plotting. This toggles display of the intermediate
iterations during the generation process. It also gives you an idea of
how much work your poor little PC is going through for you! If you use
this toggle, it's best to disable solid-guessing first using <1> or <2>
because in its second pass, solid-guessing bypasses many of the pixel
calculations precisely where the orbits are most interesting.

Mark was also responsible for pointing out that 16-bit integer math was
good enough for the first few levels of M/J images, where the round-off
errors stay well within the area covered by a single pixel. Fractint now
uses 16-bit math where applicable, which makes a big difference on non-32-
bit PCs.
;
;
~Topic=Limitations of Integer Math (And How We Cope)

By default, Fractint uses 16-bit and/or 32-bit integer math to generate
nearly all its fractal types. The advantage of integer math is speed: this
is by far the fastest such plotter that we have ever seen on any PC. The
disadvantage is an accuracy limit. Integer math represents numbers like
1.00 as 32-bit integers of the form [1.00 * (2^29)] (approximately
a range of 500,000,000) for the Mandelbrot and Julia sets. Other integer
fractal types use a bitshift of 24 rather than 29, so 1.0 is stored
internally as [1.00 * (2^*24)]. This yields accuracy of better than 8
significant digits, and works fine... until the initial values of the
calculations on consecutive pixels differ only in the ninth decimal place.

At that point, if Fractint has a floating-point algorithm handy for that
particular fractal type (and virtually all of the fractal types have one
these days), it will silently switch over to the floating-point algorithm
and keep right on going. Fair warning - if you don't have an FPU, the
effect is that of a rocket sled hitting a wall of jello, and even if you
do, the slowdown is noticeable.

If it has no floating-point algorithm, Fractint does the best it can: it
switches to its minimal drawing mode, with adjacent pixels having initial
values differing by 1 (really 0.000000002). Attempts to zoom further may
result in moving the image around a bit, but won't actually zoom. If you
are stuck with an integer algorithm, you can reach minimal mode with your
fifth consecutive "maximum zoom", each of which covers about 0.25% of the
previous screen. By then your full-screen image is an area less than
1/(10^13)th [\~0.0000000000001] the area of the initial screen. (If your
image is rotated or stretched very slightly, you can run into the wall of
jello as early as the fourth consecutive maximum zoom. Rotating or
stretching by larger amounts has less impact on how soon you run into it.)

Think of it this way: at minimal drawing mode, your VGA display would have
to have a surface area of over one million square miles just to be able to
display the entire M-set using the integer algorithms. Using the
floating-point algorithms, your display would have to be big enough to fit
the entire solar system out to the orbit of Saturn inside it. So there's
a considerable saving on hardware, electricity and desk space involved
here. Also, you don't have to take out asteroid insurance.

32 bit integers also limit the largest number which can be stored. This
doesn't matter much since numbers outside the supported range (which is
between -4 and +4) produce a boring single color. If you try to zoom-out
to reduce the entire Mandelbrot set to a speck, or to squeeze
it to a pancake, you'll find you can't do so in integer math mode.
;
;
~Topic=The Fractint "Fractal Engine" Architecture

Several of the authors would never ADMIT this, but Fractint has evolved a
powerful and flexible architecture that makes adding new fractals very
easy. (They would never admit this because they pride themselves on being
the sort that mindlessly but happily hacks away at code and "sees if it
works and doesn't hang the machine".)

Many fractal calculations work by taking a rectangle in the complex plane,
and, point by point, calculating a color corresponding to that point.
Furthermore, the color calculation is often done by iterating a function
over and over until some bailout condition is met.
(See {The Mandelbrot Set} for a description of the iteration process.)

In implementing such a scheme, there are three fractal-specific
calculations that take place within a framework that is pretty much the
same for them all. Rather than copy the same code over and over, we
created a standard fractal engine that calls three functions that may be
bolted in temporarily to the engine. The "bolting in" process uses the C
language mechanism of variable function pointers.

These three functions are:

1) a setup function that is run once per image, to do any required
initialization of variables,

2) a once-per-pixel function that does whatever initialization has to
be done to calculate a color for one pixel, and

3) a once-per-orbit-iteration function, which is the fundamental
fractal algorithm that is repeatedly iterated in the fractal
calculation.

The common framework that calls these functions can contain all sorts of
speedups, tricks, and options that the fractal implementor need not worry
about. All that is necessary is to write the three functions in the
correct way, and BINGO! - all options automatically apply. What makes it
even easier is that usually one can re-use functions 1) and 2) written for
other fractals, and therefore only need to write function 3).

Then it occurred to us that there might be more than one sort of fractal
engine, so we even allowed THAT to be bolted in. And we created a data
structure for each fractal that includes pointers to these four functions,
various prompts, a default region of the complex plane, and various
miscellaneous bits of information that allow toggling between Julia and
Mandelbrot or toggling between the various kinds of math used in
implementation.

That sounds pretty flexible, but there is one drawback - you have to be a
C programmer and have a C compiler to make use of it! So we took it a step
further, and designed a built-in high level compiler, so that you can
enter the formulas for the various functions in a formula file in a
straightforward algebra-like language, and Fractint will compile them and
bolt them in for you!

There is a terrible down side to this flexibility. Fractint users
everywhere are going berserk. Fractal-inventing creativity is running
rampant. Proposals for new fractal types are clogging the mail and the
telephones.

All we can say is that non-productivity software has never been so potent,
and we're sorry, it's our fault!

Fractint was compiled using Microsoft C 6.00A and Microsoft Assembler 5.1,
using the "Medium" model. Note that the assembler code uses the "C" model
option added to version 5.1, and must be assembled with the /MX or /ML
switch to link with the "C" code. Because it has become too large to
distribute comfortably as a single compressed file, and because many
downloaders have no intention of ever modifying it, Fractint is now
distributed as two files: one containing FRACTINT.EXE, auxiliary files and
this document, and another containing complete source code (including a
.MAK file and MAKEFRAC.BAT). See {Distribution of Fractint}.
;
;
;
~Topic=Inside=bof60|bof61|zmag|period
~Format-,Online-

INSIDE=BOF60|BOF61|ZMAG|PERIOD
~Format+,Online+

Here is an *ATTEMPTED* explanation of what the inside=bof60 and
inside=bof61 options do. This explanation is hereby dedicated to Adrian
Mariano, who badgered it out of us! For the *REAL* explanation, see
"Beauty of Fractals", page 62.

Let p(z) be the function that is repeatedly iterated to generate a fractal
using the escape-time algorithm. For example, p(z) = z^2+c in the case of
a Julia set. Then let pk(z) be the result of iterating the function p for
k iterations. (The "k" should be shown as a superscript.) We could also
use the notation pkc(z) when the function p has a parameter c, as it does
in our example. Now hold your breath and get your thinking cap on. Define
a(c) = inf\{|pck(0)|:k=1,2,3,...}. In English - a(c) is the greatest lower
bound of the images of zero of as many iterations as you like. Put another
way, a(c) is the closest to the origin any point in the orbit starting
with 0 gets. Then the index (c) is the value of k (the iteration) when
that closest point was achieved. Since there may be more than one,
index(c) is the least such. Got it? Good, because the "Beauty of
Fractals" explanation of this, is, ahhhh, *TERSE* ! Now for the punch
line. Inside=bof60 colors the lake alternating shades according to the
level sets of a(c). Each band represents solid areas of the fractal where
the closest value of the orbit to the origin is the same. Inside=bof61
show domains where index(c) is constant. That is, areas where the
iteration when the orbit swooped closest to the origin has the same value.
Well, folks, that's the best we can do! Improved explanations will be
accepted for the next edition!

inside=zmag is similar. This option colors inside pixels according to
the magnitude of the orbit point when maxiter was reached, using the formula
color = (x^2 + y^2) * maxiter/2 + 1.

inside=period colors pixels according to the length of their eventual cycle.
For example, points that approach a fixed point have color=1. Points that
approach a 2-cycle have color=2. Points that do not approach a cycle during
the iterations performed have color=maxit. This option works best with a
fairly large number of iterations.
;
;
;
~Topic=Inside=epscross|startrail
~Format-,Online-

INSIDE=EPSCROSS|STARTRAIL
~Format+,Online+

Kenneth Hooper has written a paper entitled "A Note On Some Internal
Structures Of The Mandelbrot Set" published in "Computers and Graphics", Vol
15, No.2, pp. 295-297. In that article he describes Clifford Pickover's
"epsilon cross" method which creates some mysterious plant-like tendrils in
the Mandelbrot set. The algorithm is this. In the escape-time calculation of a
fractal, if the orbit comes within .01 of the Y-axis, the orbit is terminated
and the pixel is colored green. Similarly, the pixel is colored yellow if it
approaches the X-axis. Strictly speaking, this is not an "inside" option
because a point destined to escape could be caught by this bailout criterion.

Hooper has another coloring scheme called "star trails" that involves
detecting clusters of points being traversed by the orbit. A table of tangents
of each orbit point is built, and the pixel colored according to how many
orbit points are near the first one before the orbit flies out of the cluster.
This option looks fine with maxiter=16, which greatly speeds the calculation.

Both of these options should be tried with the outside color fixed
(outside=) so that the "lake" structure revealed by the algorithms can be
more clearly seen. Epsilon Cross is fun to watch with boundary tracing turned
on - even though the result is incorrect it is interesting! Shucks - what
does "incorrect" mean in chaos theory anyway?!
;
;
;
~Topic=Finite Attractors
~Format-,Online-

FINITE ATTRACTORS
~Format+,Online+

Many of Fractint's fractals involve the iteration of functions of complex
numbers until some "bailout" value is exceeded, then coloring the
associated pixel according to the number of iterations performed. This
process identifies which values tend to infinity when iterated, and gives
us a rough measure of how "quickly" they get there.

In dynamical terms, we say that "Infinity is an Attractor", as many
initial values get "attracted" to it when iterated. The set of all points
that are attracted to infinity is termed The Basin of Attraction of
Infinity. The coloring algorithm used divides this Basin of Attraction
into many distinct sets, each a single band of one color, representing all
the points that are "attracted" to Infinity at the same "rate". These
sets (bands of color) are termed "Level Sets" - all points in such a set
are at the same "Level" away from the attractor, in terms of numbers of
iterations required to exceed the bailout value.

Thus, Fractint produces colored images of the Level Sets of the Basin of
Attraction of Infinity, for all fractals that iterate functions of Complex
numbers, at least. Now we have a sound mathematical definition of what
Fractint's "bailout" processing generates, and we have formally introduced
the terms Attractor, Basin of Attraction, and Level Set, so you should
have little trouble following the rest of this section!

For certain Julia-type fractals, Fractint can also display the Level Sets
of Basins of Attraction of Finite Attractors. This capability is a by-
product of the implementation of the MAGNETic fractal types, which always
have at least one Finite Attractor.

This option can be invoked by setting the "Look for finite attractor"
option on the options screen, or by giving the "finattract=yes"
command-line option.

Most Julia-types that have a "lake" (normally colored blue by default)

have a Finite Attractor within this lake, and the lake turns out to be,
quite appropriately, the Basin of Attraction of this Attractor.

The "finattract=yes" option (command-line or options screen)
instructs Fractint to seek out and identify a possible Finite Attractor
and, if found, to display the Level Sets of its Basin of Attraction, in
addition to those of the Basin of Attraction of Infinity. In many cases
this results in a "lake" with colored "waves" in it; in other cases there
may be little change in the lake's appearance.

For a quick demonstration, select a fractal type of LAMBDA, with a
parameter of 0.5 + 0.5i. You will obtain an image with a large blue lake.
Now set "Look for finite attractor" to 1 with the "Y" menu.
The image will be re-drawn
with a much more colorful lake. A Finite Attractor lives in the center of
one of the resulting "ripple" patterns in the lake - turn the rbits
display on to see where it is - the orbits of all initial points that are
in the lake converge there.

Fractint tests for the presence of a Finite Attractor by iterating a
Critical Value of the fractal's function. If the iteration doesn't bail
out before exceeding twice the iteration limit, it is almost certain that
we have a Finite Attractor - we assume that we have.

Next we define a small circle around it and, after each iteration, as well
as testing for the usual bailout value being exceeded, we test to see if
we've hit the circle. If so, we bail out and color our pixels according to
the number of iterations performed. Result - a nicely colored-in lake
that displays the Level Sets of the Basin of Attraction of the Finite
Attractor. Sometimes !

First exception: This does not work for the lakes of Mandel-types. Every
point in a Mandel-type is, in effect, a single point plucked from one of
its related Julia-types. A Mandel-type's lake has an infinite number of
points, and thus an infinite number of related Julia-type sets, and
consequently an infinite number of finite attractors too. It *MAY* be
possible to color in such a lake, by determining the attractor for EVERY
pixel, but this would probably treble (at least) the number of iterations
needed to draw the image. Due to this overhead, Finite Attractor logic
has not been implemented for Mandel-types.

Secondly, certain Julia-types with lakes may not respond to this
treatment, depending on the parameter value used. E.g., the Lambda Set
for 0.5 + 0.5i responds well; the Lambda Set for 0.0 + 1.0i does not - its
lake stays blue. Attractors that consist of single points, or a cycle of
a finite number of points are ok. Others are not. If you're into fractal
technospeke, the implemented approach fails if the Julia-type is a
Parabolic case, or has Siegel Disks, or has Herman Rings.

However, all the difficult cases have one thing in common - they all have
a parameter value that falls exactly on the edge of the related Mandel-
type's lake. You can avoid them by intelligent use of the Mandel-Julia
Space-Bar toggle: Pick a view of the related Mandel-type where the center
of the screen is inside the lake, but not too close to its edge, then use
the space-bar toggle. You should obtain a usable Julia-type with a lake,
if you follow this guideline.

Thirdly, the initial implementation only works for Julia-types that use
the "Standard" fractal engine in Fractint. Fractals with their own
special algorithms are not affected by Finite Attractor logic, as yet.

Finally, the finite attractor code will not work if it fails to detect
a finite attractor. If the number of iterations is set too low, the finite
attractor may be missed.

Despite these restrictions, the Finite Attractor logic can produce
interesting results. Just bear in mind that it is principally a bonus
off-shoot from the development of the MAGNETic fractal types, and is not
specifically tuned for optimal performance for other Julia types.

(Thanks to Kevin Allen for the above).

There is a second type of finite attractor coloring, which is selected
by setting "Look for Finite Attractor" to a negative value. This colors
points by the phase of the convergence to the finite attractor,
instead of by the speed of convergence.

For example, consider the Julia set for -0.1 + 0.7i, which is the three-lobed
"rabbit" set. The Finite Attractor is an orbit of length three; call these
values a, b, and c. Then, the Julia set iteration can converge to one of
three sequences: a,b,c,a,b,c,..., or b,c,a,b,c,..., or c,a,b,c,a,b,...
The Finite Attractor phase option colors the interior of the Julia set with
three colors, depending on which of the three sequences the orbit converges
to. Internally, the code determines one point of the orbit, say "a", and
the length of the orbit cycle, say 3. It then iterates until the sequence
converges to a, and then uses the iteration number modulo 3 to determine the
color.

;
;
~Topic=Trig Identities
~Online-

TRIG IDENTITIES
~Online+

The following trig identities are invaluable for coding fractals that use
complex-valued transcendental functions.

~Format-
e^(x+iy) = (e^x)cos(y) + i(e^x)sin(y)

sin(x+iy) = sin(x)cosh(y) + icos(x)sinh(y)
cos(x+iy) = cos(x)cosh(y) - isin(x)sinh(y)
sinh(x+iy) = sinh(x)cos(y) + icosh(x)sin(y)
cosh(x+iy) = cosh(x)cos(y) + isinh(x)sin(y)

cosxx(x+iy) = cos(x)cosh(y) + isin(x)sinh(y)
(cosxx is present in Fractint to provide compatibility with a bug
which was in its cos calculation before version 16)

ln(x+iy) = (1/2)ln(x*x + y*y) + i(arctan(y/x) + 2kPi)
(k = 0, +-1, +-2, +-....)

sin(2x) sinh(2y)
tan(x+iy) = ------------------ + i------------------
cos(2x) + cosh(2y) cos(2x) + cosh(2y)
~OnlineFF

sinh(2x) sin(2y)
tanh(x+iy) = ------------------ + i------------------
cosh(2x) + cos(2y) cosh(2x) + cos(2y)

sin(2x) - i*sinh(2y)
cotan(x+iy) = --------------------
cosh(2y) - cos(2x)

sinh(2x) - i*sin(2y)
cotanh(x+iy) = --------------------
cosh(2x) - cos(2y)

z^z = e^(log(z)*z)

log(x+iy) = 1/2(log(x*x + y*y) + i(arc_tan(y/x))

e^(x+iy) = (cosh(x) + sinh(x)) * (cos(y) + isin(y))
= e^x * (cos(y) + isin(y))
= (e^x * cos(y)) + i(e^x * sin(y))
~Format+
;
;
;
~Topic=GIF Save File Format

Since version 5.0, Fractint has had the ave-to-disk command, which
stores screen images in the extremely compact, flexible .GIF (Graphics
Interchange Format) widely supported on Compuserve. Version 7.0 added the
estore-from-disk capability.

Until version 14, Fractint saved images as .FRA files, which were a
non-standard extension of the then-current GIF87a specification. The
reason was that GIF87a did not offer a place to store the extra
information needed by Fractint to implement the
feature -- i.e., the parameters that let you keep zooming, etc.
as if the restored file had just been created in this session.
The .FRA format worked with all of the popular GIF decoders that we
tested, but these were not true GIF files. For one thing,
information after the GIF terminator (which is where we put the extra info)
has the potential to confuse the
online GIF viewers used on Compuserve. For another, it is the opinion of
some GIF developers that the addition of this extra information violates
the GIF87a spec. That's why we used the default filetype .FRA instead.

Since version 14, Fractint has used a genuine .GIF format, using the
GIF89a spec - an upwardly compatible extension of GIF87a, released by
Compuserve on August 1 1990.
This new spec allows the
placement of application data within "extension blocks".
In version 14 we changed our default savename extension from .FRA
to .GIF.

There is one significant advantage to the new GIF89a format compared to
the old GIF87a-based .FRA format for Fractint purposes: the new .GIF
files may be uploaded to the Compuserve graphics forums (such as
Fractint's home forum, GRAPHDEV) with fractal information intact. Therefore
anyone downloading a Fractint image from Compuserve will also be
downloading all the information needed to regenerate the image.

Fractint can still read .FRA files generated by
earlier versions. If for some reason you wish to save files in the older
GIF87a format, for example because your favorite GIF decoder has not yet
been upgraded to GIF89a, use the command-line parameter "GIF87a=yes".
Then any saved files will use the original GIF87a format without any
application-specific information.

An easy way to convert an older .FRA file into true .GIF format suitable
for uploading is something like this at the DOS prompt:\
FRACTINT MYFILE.FRA SAVENAME=MYFILE.GIF BATCH=YES\
Fractint will load MYFILE.FRA, save it in true .GIF format as MYFILE.GIF,
and return to DOS.

GIF and "Graphics Interchange Format" are trademarks of Compuserve
Incorporated, an H&R Block Company.
;
;
;
~Topic=Using Fractint With a Mouse
; This topic is online only.

~FormatExclude-
Left Button: Brings up and sizes the Zoom Box. While holding down the
left button, push the mouse forward to shrink the Zoom Box,
and pull it back to expand it.
Double-clicking the left button performs the Zoom.

Right Button: While holding the right button held down, move the mouse
from side to side to 'rotate' the Zoom Box. Move the mouse
forward or back to change the Zoom Box color.
Double-clicking the right button performs a 'Zoom-Out'.

Both Buttons: (or the middle button, if you have three of them) While
holding down both buttons, move the mouse up and down to
stretch/shrink the height of the Zoom Box, or side to side
to 'squish' the Zoom Box into a non-rectangular shape.

Zoom and Pan using the mouse typically consists of pushing in the left
button, sizing the zoom box, letting go of the button, panning to the
general area, then double-clicking the left button to perform the Zoom.
;
;
;
~Topic=Selecting a video mode when loading a file, Label=HELPLOADFILE
; This topic is only online, context-sensitive.
~Format-

The most suitable video modes for the file are listed first.

The 'err' column in the video mode information indicates:
blank mode seems perfect for this image
v image smaller than screen, will be loaded in a iew window
c mode has more colors than image needs
* a major problem, one or more of the following is also shown:
C mode has too few colors
R image larger than screen, Fractint will reduce the image, possibly
into a iew window, and maybe with aspect ratio a bit wrong
A mode has the wrong shape of pixels for this image
;
;
;
~Topic=Distribution of Fractint
~Format-,Online-

DISTRIBUTION OF FRACTINT
~Format+,Online+

New versions of FRACTINT are uploaded to the CompuServe network, and make
their way to other systems from that point. FRACTINT is available as
two self-extracting archive files - FRAINT.EXE (executable & documentation)
and FRASRC.EXE (source code).

The latest version can always be found on CompuServe in the "Fractal Sources"
library of the GRAPHDEV forum. If you're not a Compuserve subscriber, but
wish to get more information about Compuserve and its graphics forums,
feel free to call their 800 number (800-848-8199) and ask for operator
number 229.

If you don't have access to Compuserve, many other sites tend to carry
these files shortly after their initial release (although sometimes
using different naming conventions). For instance...

If you speak Internet and FTP, SIMTEL20 and its various mirror sites
tend to carry new versions of Fractint shortly after they are released.
look in the PD: directory for files named FRA*.*. Then
again, if you don't speak Internet and FTP...
~OnlineFF

Your favorite local BBS probably carries these files as well (although
perhaps not the latest versions) using naming conventions like FRA*.ZIP.
One BBS that *does* carry the latest version is the "Ideal Studies BBS"
(508)757-1806, 1200/2400/9600HST. Peter Longo is the SYSOP and a true
fractal fanatic. There is a very short registration, and thereafter the
entire board is open to callers on the first call. Then again, if you
don't even have a modem...

Many Shareware/Freeware library services will ship you diskettes containing
the latest versions of Fractint for a nominal fee that basically covers
their cost of packaging and a small profit that we don't mind them making.
One in particular is the Public (Software) Library, PO Box 35705,
Houston, TX 77235-5705, USA. Their phone number is 800-242-4775 (outside
the US, dial 713-524-6394). Ask for item #9112 for five 5.25" disks, #9113
for three 3.5" disks. Cost is $6.99 plus $4 S&H in the U.S./Canada, $11
S&H overseas.

In Europe, the latest versions are available from another Fractint freak,
Jon Horner - Editor of FRAC'Cetera, a disk-based fractal/chaos resource.
Disk prices for UK/Europe are: 5.25" HD BP4.50/5.00 : 3.5" HD BP (British
Pounds) 5.00/5.50. Prices include p&p (airmail to Europe). Contact:
Jon Horner, FRAC'Cetera, Le Mont Ardaine, Rue des Ardaines, St. Peters,
Guernsey, CI, UK. Phone (44) 0481 63689. CIS 100112,1700

The X Windows port of Fractint maintained by Ken Shirriff is available
via FTP from sprite.berkeley.edu.

;
;
~Topic=Contacting the Authors
~Format-,Online-

CONTACTING THE AUTHORS
~Format+,Online+

Communication between the authors for development of the next version of
Fractint takes place in GRAPHDEV (Graphics Developers) Section 4 (Fractal
Sources) of CompuServe (CIS).

Most of the authors have never met except on Compuserve.
Access to the GRAPHDEV forum is open to any and all interested
in computer generated fractals.
New members are always welcome!
Stop on by if you have any questions or
just want to take a peek at what's getting tossed into the soup.

Also, you'll find many GIF image files generated by fellow Fractint fans
and many fractal programs as well in the GRAPHDEV forum's data library 5.

If you're not a Compuserve subscriber, but wish to get more information
about Compuserve and its graphics forums, feel free to call their 800
number (800-848-8199) and ask for operator number 229.

The following authors have agreed to the distribution of their addresses.
Usenet/Internet/Bitnet/Whatevernet users can reach CIS users directly if
they know the user ID (i.e., Bert Tyler can be reached as
[email protected]).

Just remember that CIS charges by the minute, so it costs us a little bit
to read a message -- don't kill us with kindness. And don't send all your
mail to Bert -- spread it around a little!

Main authors (in historical order):

~Format-
Bert Tyler [73477,433] on CIS
Tyler Software (which is also [email protected], if
124 Wooded Lane you're on the Internet - see above)
Villanova, PA 19085
(215) 525-5478

Timothy Wegner [71320,675] on CIS
4714 Rockwood [email protected] on Internet
Houston, TX 77004
(713) 747-7543

Mark Peterson [70441,3353] on CIS
The Yankee Programmer
405-C Queen St., Suite #181
Southington, CT 06489
(203) 276-9721

Pieter Branderhorst [72611,2257] on CIS
Amthor Computer Consultants
270 Moss St.
Victoria, BC
Canada, V8V 4M4
(604) 381-7164

Contributing authors (in alphabetic order);

Joseph A Albrecht
9250 Old Cedar Ave #215
Bloomington, Mn 55425
(612) 884-3286

Kevin C Allen [email protected] on Internet
9 Bowen Place
Seven Hills
NSW 2147
Australia
+61-2-870-2297 (Work)
(02) 831-4821 (Home)

Rob Beyer [71021,2074] on CIS
23 Briarwood Lane
Laguna Hills, CA, 92656
(714) 957-0227
(7-12pm PST & weekends)

John W. Bridges (Author GRASP/Pictor, Imagetools, PICEM, VGAKIT)
2810 Serang Place Costa Mesa
California 92626-4827 [75300,2137] on CIS, GENIE:JBRIDGES

Michael D. Burkey [email protected] on Internet
6600 Crossgate Rd.
Knoxville, TN 37912

Robin Bussell
13 Bayswater Rd
Horfield
Bristol
Avon, England
(044)-0272-514451

Lee Daniel Crocker [73407,2030] on CIS
5506 Camden Ave #D3 [email protected]
San Jose, CA 95124
(408) 267-2926

Monte Davis [71450,3542] on CIS
31 Washington St
Brooklyn, NY 11201
(718) 625-4610

David Guenther [70531,3525] on CIS
50 Rockview Drive
Irvine, CA 92715

Michael L. Kaufman [email protected] on INTERNET
2247 Ridge Ave, #2K (also accessible via EXEC-PC bbs)
Evanston, IL, 60201
(708) 864-7916

Wesley Loewer [email protected] on INTERNET
78 S. Circlewood Glen
The Woodlands, TX 77381
(713) 292-3449


Adrian Mariano [email protected] on INTERNET
2729 72nd AVE SE
Mercer Island, WA 98040

Joe McLain [75066,1257] on CIS
McLain Imaging
2417 Venier
Costa Mesa, CA 92627
(714) 642-5219

Bob Montgomery [73357,3140] on CIS
(Author of VPIC)
132 Parsons Road
Longwood, Fl 32779

Roy Murphy [76376,721] on CIS
9050 Ewing Ave.
Evanston, IL 60203

Ethan Nagel [71062,3677] on CIS
4209 San Pedro NE #308
Albuquerque, NM 87109
(505) 884-7442

Jonathan Osuch [73277,1432] on CIS
2110 Northview Drive
Marion, IA 52302

Marc Reinig [72410,77] on CIS
3415 Merrill Rd. [email protected]!daver!cypress on Usenet
Aptos, CA. 95003
(408) 475-2132

Prof. JM Richard-Collard [email protected] on BitNet
[email protected] on Internet

Lee H. Skinner [75450,3631] on CIS
P.O. Box 14944
Albuquerque, NM 87191
(505) 293-5723

Dean Souleles [75115,1671] on CIS
8840 Collett Ave.
Sepulveda, CA 91343
(818) 893-7558

Chris J Lusby Taylor
32 Turnpike Road
Newbury, England
Tel 011 44 635 33270

Scott Taylor [72401,410] on CIS
1901 South County Road 23E [email protected] on Internet
Berthoud, CO 80513 DGWM18A on Prodigy
(303) 651-6692

Paul Varner [73237,441] on CIS
PO Box 930
Shepherdstown, WV 25443
(304) 876-2011

Phil Wilson [76247,3145] on CIS
410 State St., #55
Brooklyn, NY 11217
(718) 624-5272
~Format+
;
;
~Topic=The Stone Soup Story
~Format-,Online-
THE STONE SOUP STORY
~Format+,Online+

Once upon a time, somewhere in Eastern Europe, there was a great famine.
People jealously hoarded whatever food they could find, hiding it even
from their friends and neighbors. One day a peddler drove his wagon into a
village, sold a few of his wares, and began asking questions as if he
planned to stay for the night.

[No! No! It was three Russian Soldiers! - Lee Crocker]\
[Wait! I heard it was a Wandering Confessor! - Doug Quinn]\
[Well *my* kids have a book that uses Russian Soldiers! - Bert]\
[Look, who's writing this documentation, anyway? - Monte]\
[Ah, but who gets it *last* and gets to upload it? - Bert]\

"There's not a bite to eat in the whole province," he was told. "Better
keep moving on."

"Oh, I have everything I need," he said. "In fact, I was thinking of
making some stone soup to share with all of you." He pulled an iron
cauldron from his wagon, filled it with water, and built a fire under it.
Then, with great ceremony, he drew an ordinary-looking stone from a velvet
bag and dropped it into the water.

By now, hearing the rumor of food, most of the villagers had come to the
square or watched from their windows. As the peddler sniffed the "broth"
and licked his lips in anticipation, hunger began to overcome their
skepticism.

"Ahh," the peddler said to himself rather loudly, "I do like a tasty stone
soup. Of course, stone soup with CABBAGE -- that's hard to beat."

Soon a villager approached hesitantly, holding a cabbage he'd retrieved
from its hiding place, and added it to the pot. "Capital!" cried the
peddler. "You know, I once had stone soup with cabbage and a bit of salt
beef as well, and it was fit for a king."

The village butcher managed to find some salt beef...and so it went,
through potatoes, onions, carrots, mushrooms, and so on, until there was
indeed a delicious meal for all. The villagers offered the peddler a great
deal of money for the magic stone, but he refused to sell and traveled on
the next day. And from that time on, long after the famine had ended, they
reminisced about the finest soup they'd ever had.

***

That's the way Fractint has grown, with quite a bit of magic, although
without the element of deception. (You don't have to deceive programmers
to make them think that hours of painstaking, often frustrating work is
fun... they do it to themselves.)

It wouldn't have happened, of course, without Benoit Mandelbrot and the
explosion of interest in fractal graphics that has grown from his work at
IBM. Or without the example of other Mandelplotters for the PC. Or without
those wizards who first realized you could perform Mandelbrot calculations
using integer math (it wasn't us - we just recognize good algorithms when
we steal--uhh--see them). Or those graphics experts who hang around the
Compuserve PICS forum and keep adding video modes to the program. Or...
~Doc-
(continued in {A Word About the Authors})
~Doc+
;
;
~Topic=A Word About the Authors
~Format-,Online-

A WORD ABOUT THE AUTHORS
~Format+,Online+

Fractint is the result of a synergy between the main authors, many
contributors, and published sources. All four of the main authors have
had a hand in many aspects of the code. However, each author has certain
areas of greater contribution and creativity. Since there is not room in
the credits screen for the contributions of the main authors, we list these
here to facilitate those who would like to communicate with us on
particular subjects.

Bert Tyler is the original author. He wrote the "blindingly fast" 386-
specific 32 bit integer math code and the original video mode logic. Bert
made Stone Soup possible, and provides a sense of direction when we need
it. His forte is writing fast 80x86 assembler, his knowledge of a variety
of video hardware, and his skill at hacking up the code we send him!

Bert has a BA in mathematics from Cornell University. He has been in
programming since he got a job at the computer center in his sophomore
year at college - in other words, he hasn't done an honest day's work in
his life. He has been known to pass himself off as a PC expert, a UNIX
expert, a statistician, and even a financial modeling expert. He is
currently masquerading as an independent PC consultant, supporting the PC-
to-Mainframe communications environment at NIH. If you sent mail from the
Internet to an NIH staffer on his 3+Mail system, it was probably Bert's
code that mangled it during the Internet-to-3+Mail conversion. He also
claims to support the MS-Kermit environment at NIH. Fractint is Bert's
first effort at building a graphics program.

Tim Wegner contributed the original implementation of palette animation,
and is responsible for most of the 3D mechanisms. He provided the main
outlines of the "StandardFractal" engine and data structures, and is
accused by his cohorts of being "obsessed with options". Tim is quite
proud of having originally integrated the 256 color super VGA modes in
Fractint, especially since he knows almost nothing about it!

Tim has BA and MA degrees in mathematics from Carleton College and the
University of California Berkeley. He worked for 7 years overseas as a
volunteer, doing things like working with Egyptian villagers building
water systems. Since returning to the US in 1982, he has written shuttle
navigation software, a software support environment prototype, and
supported strategic information planning, all at NASA's Johnson Space
Center.

Mark Peterson invented the periodicity detection logic, several original
fractal types, transcendental function libraries, alternate math
implementations, the formula compiler, and the "Julibrot" intrinsic 3D
fractals - in other words, most of the truly original ideas in Fractint!

Mark's knowledge of higher mathematics and programming was achieved almost
entirely through self-study. Mark has written several magazine articles on
computer programming and is coauthor of a book on Fractint called Fractal
Creations. Mark is also a free-lance computer consultant specializing in high
performance applications.

Pieter Branderhorst is a late-comer to the group who likes to distract the
other authors with enhancements impacting at least half of the source at
once. His contributions include super solid guessing, image rotation,
resume, fast disk caching, and the new user interface. More than any of
the authors, he has personally touched and massaged the entire source.

Pieter left high school to work with computers, back when huge machines
had 64k of core. He's been happily computing since, mostly programming
and designing software from comms firmware to database and o/s, and
anything between, and large scale online transaction processing
applications. He has worked as a free-lance computer consultant (whatever
that means) since 1983.
;
;
~Topic=Other Fractal Products

(Forgive us, but we just *have* to begin this section with a plug for
*our* fractal products...)

Fractint's primary authors have written several books about fractals,
Fractint, and Winfract (the Windows version of Fractint).

The book about Fractint is The Waite Group's Fractal Creations (Copyright
(C) 1991 Waite Group Press, ISBN # 1-878739-05-0). The original book was
based on Fractint version 15 - the second edition (which should hit
your favorite local bookstore sometime in the fall of 1993) is based
on version 18. The book about Winfract is The Waite Group's Fractals
for Windows (Copyright (C) 1992 Waite Group Press, ISBN # 1-878739-25-5).

~Format-
Fractal Creations and Fractals for Windows include:
o A guided tour of Fractint/Winfract.
o A detailed manual and reference section of commands.
o A tutorial on fractals.
o A reference containing tips, explanations, and examples of parameters
for all the Fractals generated by Fractint/Winfract.
o Secrets on how the programs work internally.
o 3-D red/blue glasses.
o A fold-out color poster of the most spectacular fractals.
o A disk containing either Fractint or Winfract and demonstration files.
o (Fractals for Windows and the second edition of Fractal Creations only)
A complete copy of the source code with a chapter explaining how the
program works.
~Format+

If you enjoy Fractint, you're sure to enjoy Fractal Creations. The book
includes Fractint and is an excellent companion to the program. If you
use the Windows environment, be sure to pick up a copy of Fractals for
Windows as well.
;
;
~OnlineFF

A great fractals newsletter is "Amygdala" published by Rollo Silver.
You'll find equal parts fractal algorithms, humor, reviews, and ideas.
Write to:
Amygdala\
Box 219\
San Cristobal, NM 87564\
USA\
Email:[email protected]\
Phone: 505-586-0197\


Another great fractals newsletter (this one based in the UK) is
"FRAC'Cetera", a disk-based fractal/chaos resource published by
Jon Horner. Contact:

Jon Horner\
FRAC'Ceters\
Le Mont Ardane\
Rue des Ardanes\
ST Peters\
Guernsey, CI, UK\
Email: [email protected]\
PH: (44) 0481 63639\

;
;
~Topic=Bibliography

BARNSLEY, Michael: "Fractals Everywhere", Academic Press, 1988.

DEWDNEY, A. K., "Computer Recreations" columns in "Scientific American" --
8/85, 7/87, 11/87, 12/88, 7/89.

FEDER, Jens: "Fractals", Plenum, 1988.\
Quite technical, with good coverage of applications in fluid
percolation, game theory, and other areas.

GLEICK, James: "Chaos: Making a New Science", Viking Press, 1987.\
The best non-technical account of the revolution in our understanding
of dynamical systems and its connections with fractal geometry.

MANDELBROT, Benoit: "The Fractal Geometry of Nature", W. H. Freeman & Co.,
1982.\
An even more revised and expanded version of the 1977 work. A rich and
sometimes confusing stew of formal and informal mathematics, the
prehistory of fractal geometry, and everything else. Best taken in
small doses.
~OnlineFF

MANDELBROT, Benoit: "Fractals: Form, Chance, and Dimension", W. H. Freeman
& Co., 1977\
A much revised translation of "Les objets fractals: forme, hasard, et
dimension," Flammarion, 1975.

PEITGEN, Heinz-Otto & RICHTER, Peter: "The Beauty of Fractals," Springer-
Verlag, 1986.\
THE coffee-table book of fractal images, knowledgeable on computer
graphics as well as the mathematics they portray.

PEITGEN, Heinz-Otto & SAUPE, Ditmar: "The Science of Fractal Images,"
Springer-Verlag, 1988.\
A fantastic work, with a few nice pictures, but mostly filled with
*equations*!!!

WEGNER, Timothy & PETERSON, Mark: "Fractal Creations", Waite Group Press,
1991 (second edition, by Wegner and Tyler, due in the fall of 1993).\
If we tell you how *wonderful* this book is you might think we were
bragging, so let's just call it: THE definitive companion to Fractint!

WEGNER, Timothy & PETERSON, Mark & TYLER, Bert, & Branderhorst, Pieter:
"Fractals for Windows", Waite Group Press, 1992.\
This book is to Winfract (the Windows version of Fractint) what
"Fractals for Windows" is to Fractint.
;
;
~Topic=Other Programs

WINFRACT. Bert Tyler has ported Fractint to run under Windows 3! The same
underlying code is used, with a Windows user interface. Winfract has
almost all the functionality of Fractint - the biggest difference is the
absence of a zillion weird video modes. Fractint for DOS will continue to
be the definitive version. Winfract is available from CompuServe in
GRAPHDEV Lib 4, as WINFRA.ZIP (executable) and WINSRC.ZIP (source).


PICLAB, by Lee Crocker - a freeware image manipulation utility available
from Compuserve in PICS Lib 10, as PICLAB.EXE. PICLAB can do very
sophisticated resizing and color manipulation of GIF and TGA files. It
can be used to reduce 24 bit TGA files generated with the Fractint
"lightname" option to GIF files.

~OnlineFF

~Label=@FDESIGN
FDESIGN, by Doug Nelson (CIS ID 70431,3374) - a freeware IFS fractal
generator available from Compuserve in GRAPHDEV Lib 4, and probably on your
local BBS. This program requires a VGA adapter and a Microsoft-compatible
mouse, and a floating point coprocessor is highly recommended. It
generates IFS fractals in a *much* more intuitive fashion than Fractint.
It can also (beginning with version 3.0) save its IFS formulas in
Fractint-style .IFS files.

~Label=@ACROSPIN
ACROSPIN, by David Parker - An inexpensive commercial program that reads
an object definition file and creates images that can be rapidly rotated
in three dimensions. The Fractint "orbitsave=yes" option creates files that
this program can read for orbit-type fractals and IFS fractals. Contact:
David Parker 801-966-2580\
P O Box 26871 800-227-6248\
Salt Lake City, UT 84126-0871
;
;
~Topic=Revision History

Please select one of:

{Version 17}

{Version 16}

{Version 15}

{Versions 12 through 14}

{Versions 1 through 11}
;
~Topic=Version 17

Version 17.2, 3/92

- Fixed a bug which caused Fractint to hang when a Continuous Potential\
Bailout value was set (using the 'Y') screen and then the 'Z' screen\
was activated.\
- fixed a bug which caused "batch=yes" runs to abort whenever any\
key was pressed.\
- bug-fixes in the Stereo3D/Targa logic from Marc Reinig.\
- Fractint now works correctly again on FPU-less 8088s when\
zoomed deeply into the Mandelbrot/Julia sets\
- The current image is no longer marked as "not resumable" on a\
Shell-To-Dos ("D") command.\
- fixed a bug which prevented the "help" functions from working\
properly during fractal-type selection for some fractal types.\

Version 17.1, 3/92

- fixed a bug which caused PCs with no FPU to lock up when they attempted\
to use some fractal types.\
- fixed a color-cycling bug which caused the palette to single-step \
when you pressed ESCAPE to exit color-cycling.\
- fixed the action of the '<' and '>' keys during color-cycling.\

Version 17.0, 2/92

- New fractal types (but of course!):

Lyapunov Fractals from Roy Murphy (see {Lyapunov Fractals} for details)

'BifStewart' (Stewart Map bifurcation) fractal type and new bifurcation
parameters (filter cycles, seed population) from Kevin Allen.

Lorenz3d1, Lorenz3d2, and Lorenz3d3 fractal types from Scott Taylor.
Note that a bug in the Lorenz3d1 fractal prevents zooming-out from
working with it at the moment.

Martin, Circle, and Hopalong (culled from Dewdney's Scientific American
Article)

Lots of new entries in fractint.par.

New ".L" files (TILING.L, PENROSE.L)

New 'rand()' function added to the 'type=formula' parser

- New fractal generation options:

New 'Tesseral' calculation algorithm (use the 'X' option list to
select it) from Chris Lusby Taylor.

New 'Fillcolor=' option shows off Boundary Tracing and Tesseral structure

inside=epscross and inside=startrail options taken from a paper by
Kenneth Hooper, with credit also to Clifford Pickover

New Color Postscript Printer support from Scott Taylor.

Sound= command now works with rbits and ead commands.

New 'orbitdelay' option in X-screen and command-line interface

New "showdot=nn" command-line option that displays the pixel currently
being worked on using the specified color value (useful for those lloooonngg
images being calculated using solid guessing - "where is it now?").

New 'exitnoask=yes' commandline/SSTOOLS.INI option to avoid the final
"are you sure?" screen

New plasma-cloud options. The interface at the moment (documented here and
here only because it might change later) lets you:\
- use an alternate drawing algorithm that gives you an earlier preview\
of the finished image.
- re-generate your favorite plasma cloud (say, at a higher resolution)
by forcing a re-select of the random seed.\

New 'N' (negative palette) option from Scott Taylor - the documentation at
this point is: Pressing 'N' while in the palette editor will invert
each color. It will convert only the current color if it is in 'x' mode,
a range if in 'y' mode, and every color if not in either the 'x' or 'y' mode.

- Speedups:

New, faster floating-point Mandelbrot/Julia set code from Wesley Loewer,
Frank Fussenegger and Chris Lusby Taylor (in separate contributions).

Faster non-386 integer Mandelbrot code from Chris Lusby Taylor, Mike Gelvin
and Bill Townsend (in separate contributions)

New integer Lsystems logic from Nicholas Wilt

Finite-Attractor fixups and Lambda/mandellambda speedups from Kevin Allen.

GIF Decoder speedups from Mike Gelvin

- Bug-fixes and other enhancements:

Fractint now works with 8088-based AMSTRAD computers.

The video logic is improved so that (we think) fewer video boards will need
"textsafe=save" for correct operation.

Fixed a bug in the VESA interface which effectively messed up adapters
with unusual VESA-style access, such as STB's S3 chipset.

Fixed a color-cycling bug that would at times restore the wrong colors
to your image if you exited out of color-cycling, displayed a 'help'
screen, and then returned to the image.

Fixed the XGA video logic so that its 256-color modes use the same
default 256 colors as the VGA adapter's 320x200x256 mode.

Fixed the 3D bug that caused bright spots on surfaces
to show as black blotches of color 0 when using a light source.

Fixed an image-generation bug that sometimes caused image regeneration
to restart even if not required if the image had been zoomed in
to the point that floating-point had been automatically activated.

Added autodetection and 640x480x256 support for the Compaq Advanced VGA
Systems board - I wonder if it works?

Added VGA register-compatible 320x240x256 video mode.

Fixed the "logmap=yes" option to (again) take effect for continuous potential
images. This was broken in version 15.x.

The colors for the floating-point algorithm of the Julia fractal
now match the colors for the integer algorithm.

If the GIF Encoder (the "Save" command) runs out of disk space, it now
tells you about it.

If you select both the boundary-tracing algorithm and either "inside=0"
or "outside=0", the algorithm will now give you an error message instead
of silently failing.

Updated 3D logic from Marc Reinig.

Minor changes to permit IFS3D fractal types to be handled properly
using the "B" command.

Minor changes to the "Obtaining the latest Source" section to refer
to BBS access (Peter Longo's) and mailed diskettes (the Public (Software)
Library).

~Topic=Version 16

Version 16.12, 8/91

Fix to cure some video problems reported with Amstrad
8088/8086-based PCs.

Version 16.11, 7/91

SuperVGA Autodetect fixed for older Tseng 3000 adapters.\

New "adapter=" options to force the selection of specific SuperVGA
adapter types. See {Video Parameters} for details.\

Integer/Floating-Point math toggle is changed only temporarily
if floating-point math is forced due to deep zooming.\

Fractint now survives being modified by McAfee's "SCAN /AV" option.\

Bug Fixes for Acrospin interface, 3D "Light Source Before
Transformation" fill type, and GIF decoder.\

New options in the parameters screen allow you to directly
enter image coordinates.\

New "inside=zmag" and "outside=real|imag|mult|summ" options.\

The GIF Decoder now survives reading GIF files with a local color map.\
Improved IIT Math Coprocessor support.\

New color-cycling single-step options, '<' and '>'.\

Version 16.0, 6/91

Integrated online help / fractint.doc system from Ethan Nagel.
To create a printable fractint.doc file see {Startup Parameters}.

Over 350 screens of online help! Try pressing just about anywhere!\

New "autokey" feature. Type "demo" to run the included demo.bat and
demo.key files for a great demonstration of Fractint.
See {Autokey Mode} for details.

New <@> command executes a saved set of commands. The command has
changed to write the current image's parameters as a named set of
commands in a structured file. Saved sets of commands can subsequently
be executed with the <@> command.
See {Parameter Save/Restore Commands}.
A default "fractint.par" file is included with the release.

New command allows changing fractal type-specific parameters without
going back through the (fractal type selection) screen.

Ray tracer interface from Marc Reinig, generates 3d transform output for a
number of ray tracers; see {"Interfacing with Ray Tracing Programs"}

Selection of video modes and structure of "fractint.cfg" have changed. If
you have a customized fractint.cfg file, you'll have to rebuild it based
on this release's version. You can customize the assignment of your
favorite video modes to function keys; see {Video Mode Function Keys}.
is a new command key which goes directly to video mode selection.

New "cyclerange" option (command line and options screen) from Hugh
Steele. Limits color cycling to a specified range of colors.

Improved {Distance Estimator Method} algorithm from Phil Wilson.\

New "ranges=" option from Norman Hills.
See {Logarithmic Palettes and Color Ranges} for details.

type=formula definitions can use "variable functions" to select
sin, cos, sinh, cosh, exp, log, etc at run time;
new built-ins tan, tanh, cotan, cotanh, and flip
are available with type=formula; see Type {Formula}

New command in palette editing mode to convert image to greyscale\

All "fn" fractal types (e.g. fn*fn) can now use new functions tan, tanh,
cotan, cotanh, recip, and ident; bug in prior cos function fixed, new
function cosxx (conjugate of cos) is the old erroneous cos calculation

New L-Systems from Herb Savage\
New IFS types from Alex Matulich\
Many new formulas in fractint.frm, including a large group from
JM Richard-Collard
Generalized type manzpwr with complex exponent per Lee Skinner's request\
Initial orbit parameter added to Gingerbreadman fractal type\

New color maps (neon, royal, volcano, blues, headache) from Daniel Egnor\

IFS type has changed to use a single file containing named entries
(instead of a separate xxx.ifs file per type); the command brings up
IFS editor (used to be command). See {=HT_IFS Barnsley IFS Fractals}.

Much improved support for PaintJet printers; see {PaintJet Parameters}\

From Scott Taylor:\
Support for plotters using HP-GL; see {Plotter Parameters}\
Lots of new PostScript halftones; see {PostScript Parameters}\
"printer=PS[L]/0/..." for full page PostScript; see {PostScript Parameters}\
Option to drive printer ports directly (faster); see {Printer Parameters}\
Option to change printer end of line control chars; see {Printer Parameters}

Support for XGA video adapter\
Support for Targa+ video adapter\
16 color VGA mode enhancements:\
Now use the first 16 colors of .map files to be more predictable\
Palette editor now works with these modes\
Color cycling now works properly with these modes
Targa video adapter fixes; Fractint now uses (and requires) the "targa"
and "targaset" environment variables for Targa systems
"vesadetect=no" parameter to bypass use of VESA video driver; try
this if you encounter video problems with a VESA driver
Upgraded video adapter detect and handling from John Bridges; autodetect
added for NCR, Trident 8900, Tseng 4000, Genoa (this code
is from a beta release of VGAKIT, we're not sure it all works yet)

Zoom box is included in saved/printed images (but, is not recognized as
anything special when such an image is restored)

The colors numbers reserved by the palette editor are now selectable with
the new palette editing mode command

Option to use IIT floating point chip's special matrix arithmetic for
faster 3D transforms; see "fpu=" in {Startup Parameters}

Disk video cache increased to 64k; disk video does less seeking when
running to real disk
Faster floating point code for 287 and higher fpus, for types mandel,
julia, barnsleyj1/m1/j2/m2, lambda, manowar, from Chuck Ebbert

"filename=.xxx" can be used to set default function file mask\

Selection of type formula or lsys now goes directly to entry selection
(file selection step is now skipped); to change to a different file, use
from the entry selection screen

Three new values have been added to the textcolors= parameter; if you use
this parameter you should update it by inserting values for the new 6th,
7th, 9th, and 13th positions; see "textcolors=" in {Color Parameters}

The formula type's imag() function has changed to return the result as
a real number

Fractal type-specific parameters (entered after selecting a new fractal
type with ) now restart at their default values each time you select
a new fractal type

Floating point input fields can now be entered in scientific notation (e.g.
11.234e-20). Entering the letters "e" and "p" in the first column causes
the numbers e=2.71828... and pi=3.14159... to be entered.

New option "orbitsave=yes" to create files for Acrospin for
some types (see {Barnsley IFS Fractals}, {Orbit Fractals},
{=@ACROSPIN Acrospin})

Bug fixes:\
Problem with Hercules adapter auto-detection repaired.\
Problems with VESA video adapters repaired (we're not sure we've got them
all yet...)\
3D transforms fixed to work at high resolutions (> 1000 dots).\
3D parameters no longer clobbered when restoring non-3D images.\
L-Systems fixed to not crash when order too high for available memory.\
PostScript EPS file fixes.\
Bad leftmost pixels with floating point at 2048 dot resolution fixed.\
3D transforms fixed to use current screen float/integer setting.\
Restore of images using inversion fixed.\
Error in "cos" function (used with "fn" type fractals) fixed; prior
incorrect function still available as "cosxx" for compatibility

Old 3D=nn/nn/nn/... form of 3D transform parameters no longer supported\

Fractint source code now Microsoft C6.00A compatible.
;
;
~Topic=Version 15

Version 15.11, 3/91, companion to Fractal Creations, not for general
release

Autokey feature, IIT fpu support, and some bug fixes publicly released in
version 16.


Version 15 and 15.1, 12/90

New user interface! Enjoy! Some key assignments have changed and some have
been removed.
New palette editing from Ethan Nagel.\
Reduced memory requirements - Fractint now uses overlays and will run on a
512K machine.
New iew command: use to get small window for fast preview, or to setup
an image which will eventually be rendered on hard copy with different
aspect ratio
L-System fractal type from Adrian Mariano\
Postscript printer support from Scott Taylor\
Better Tandy video support and faster CGA video from Joseph A Albrecht\
16 bit continuous potential files have changed considerably; see the
Continuous Potential section for details. Continuous potential is now
resumable.
Mandelbrot calculation is faster again (thanks to Mike Gelvin) - double
speed in 8086 32 bit case
Compressed log palette and sqrt palette from Chuck Ebbert\
Calculation automatically resumes whenever current image is resumable and
is not paused for a visible reason.
Auto increment of savename changed to be more predictable\
New video modes:\
trident 1024x768x256 mode\
320x480x256 tweak mode (good for reduced 640x480 viewing)\
changed NEC GB-1, hopefully it works now\
Integer mandelbrot and julia now work with periodicitycheck\
Initial zoombox color auto-picked for better contrast (usually)\
New adapter=cga|ega|mcga|vga for systems having trouble with auto-detect\
New textsafe=no|yes for systems having trouble with garbled text mode\
and <3> commands now present list of video modes to pick from; can
reduce a non-standard or unviewable image size.
Diffusion fractal type is now resumable after interrupt/save\
Exitmode=n parameter, sets video mode to n when exiting from fractint\
When savetime is used with 1 and 2 pass and solid guessing, saves are
deferred till the beginning of a new row, so that no calculation time is
lost.
3d photographer's mode now allows the first image to be saved to disk\
textcolors=mono|12/34/56/... -- allows setting user interface colors\
Code (again!) compilable under TC++ (we think!)\
.TIW files (from v9.3) are no longer supported as input to 3D
transformations
bug fixes:\
multiple restores (msc 6.0, fixed in 14.0r)\
repeating 3d loads problem; slow 3d loads of images with float=yes\
map= is now a real substitute for default colors\
starfield and julibrot no longer cause permanent color map replacement\
starfield parameters bug fix - if you couldn't get the starfield
parameters to do anything interesting before, try again with this\
release\
Newton and newtbasin orbit display fixed

Version 15.1:

Fixed startup and text screen problems on systems with VESA compliant
video adapters.
New textsafe=save|bios options.\
Fixes for EGA with monochrome monitor, and for Hercules Graphics Card.
Both should now be auto-detected and operate correctly in text modes.
Options adapter=egamono and adapter=hgc added.
Fixed color L-Systems to not use color 0 (black).\
PostScript printing fix.
;
~Topic=Versions 12 through 14

Version 14, 8/90

LAST MINUTE NEWS FLASH!\
Compuserve announces the GIF89a on August 1, 1990, and Fractint supports
it on August 2! GIF files can now contain fractal information! Fractint
now saves its files in the new GIF89a format by default, and uses .GIF
rather than .FRA as a default filetype. Note that Fractint still
*looks* for a .FRA file on file restores if it can't find a .GIF file,
and can be coerced into using the old GIF87a format with the new
'gif87a=yes' command-line option.

Pieter Branderhorst mounted a major campaign to get his name in lights:\
Mouse interface: Diagonals, faster movement, improved feel. Mouse button
assignments have changed - see the online help.
Zoom box enhancements: The zoom box can be rotated, stretched, skewed,
and panned partially offscreen. See "More Zoom Box Commands".
FINALLY!! You asked for it and we (eventually, by talking Pieter into it
[actually he grabbed it]) did it! Images can be saved before
completion, for a subsequent restore and continue. See "Interrupting
and Resuming" and "Batch Mode".
Off-center symmetry: Fractint now takes advantage of x or y axis symmetry
anywhere on the screen to reduce drawing time.
Panning: If you move an image up, down, left, or right, and don't change
anything else, only the new edges are calculated.
Disk-video caching - it is now possible, reasonable even, to do most
things with disk video, including solid guessing, 3d, and plasma.
Logarithmic palette changed to use all colors. It now matches regular
palette except near the "lake". "logmap=old" gets the old way.
New "savetime=nnn" parameter to save checkpoints during long calculations.\
Calculation time is shown in display.

Kevin C Allen Finite Attractor, Bifurcation Engine, Magnetic fractals...\
Made Bifurcation/Verhulst into a generalized Fractal Engine (like
StandardFractal, but for Bifurcation types), and implemented periodicity
checking for Bifurcation types to speed them up.
Added Integer version of Verhulst Bifurcation (lots faster now). Integer
is the default. The Floating-Point toggle works, too.
Added NEW Fractal types BIFLAMBDA, BIF+SINPI, and BIF=SINPI. These are
Bifurcation types that make use of the new Engine. Floating-
point/Integer toggle is available for BIFLAMBDA. The SINPI types are
Floating-Point only, at this time.
Corrected the generation of the MandelLambda Set. Sorry, but it's always
been wrong (up to v 12, at least). Ask Mandelbrot !
Added NEW Fractal types MAGNET1M, MAGNET1J, MAGNET2M, MAGNET2J from "The
Beauty of Fractals". Floating-Point only, so far, but what do you

expect with THESE formulae ?!
Added new symmetry types XAXIS NOIMAG and XAXIS NOREAL, required by the
new MAGNETic Fractal types.
Added Finite Attractor Bailout (FAB) logic to detect when iterations are
approaching a known finite attractor. This is required by the new
MAGNETic Fractal types.
Added Finite Attractor Detection (FAD) logic which can be used by *SOME*
Julia types prior to generating an image, to test for finite attractors,
and find their values, for use by FAB logic. Can be used by the new
MAGNETic Fractal Types, Lambda Sets, and some other Julia types too.

Mike Burkey sent us new tweaked video modes:\
VGA - 400x600x256 376x564x256 400x564x256\
ATI VGA - 832x612x256
New HP Paintjet support from Chris Martin\
New "FUNCTION=" command to allow substition of different transcendental
functions for variables in types (allows one type with four of these
variables to represent 7*7*7*7 different types!
ALL KINDS of new fractal types, some using "FUNCTION=": fn(z*z), fn*fn,
fn*z+z, fn+fn, sqr(1/fn), sqr(fn), spider, tetrate, and Manowar. Most of
these are generalizations of formula fractal types contributed by Scott
Taylor and Lee Skinner.
Distance Estimator logic can now be applied to many fractal types using
distest= option. The types "demm" and "demj" have been replaced by
"type=mandel distest=nnn" and "type=julia distest=nnn"
Added extended memory support for diskvideo thanks to Paul Varner\
Added support for "center and magnification" format for corners.\
Color 0 is no longer generated except when specifically requested with
inside= or outside=.
Formula name is now included in display and in aved images.\
Bug fixes - formula type and diskvideo, batch file outside=-1 problem.\
Now you can produce your favorite fractal terrains in full color instead
of boring old monochrome! Use the fullcolor option in 3d! Along with a
few new 3D options.
New "INITORBIT=" command to allow alternate Mandelbrot set orbit
initialization.


Version 13.0, 5/90

F1 was made the help key.\
Use F1 for help\
Use F9 for EGA 320x200x16 video mode\
Use CF4 for EGA 640x200x16 mode (if anybody uses that mode)\
Super-Solid-guessing (three or more passes) from Pieter Branderhorst
(replaces the old solid-guessing mode)
Boundary Tracing option from David Guenther ("fractint passes=btm", or use
the new 'x' options screen)
"outside=nnn" option sets all points not "inside" the fractal to color
"nnn" (and generates a two-color image).
'x' option from the main menu brings up a full-screen menu of many popular
options and toggle switches
"Speed Key" feature for fractal type selection (either use the cursor keys
for point-and-shoot, or just start typing the name of your favorite
fractal type)
"Attractor" fractals (Henon, Rossler, Pickover, Gingerbread)\
Diffusion fractal type by Adrian Mariano\
"type=formula" formulas from Scott Taylor and Lee H. Skinner.\
"sound=" options for attractor fractals. Sound=x plays speaker tones
according to the 'x' attractor value Sound=y plays speaker tones
according to the 'y' attractor value. Sound=z plays speaker tones
according to the 'z' attractor value (These options are best invoked
with the floating-point algorithm flag set.)
"hertz=" option for adjusting the "sound=x/y/z" output.\
Printer support for color printers (printer=color) from Kurt Sowa\
Trident 4000 and Oak Technologies SuperVGA support from John Bridges\
Improved 8514/A support (the zoom-box keeps up with the cursor keys now!)\
Tandy 1000 640x200x16 mode from Brian Corbino (which does not, as yet,
work with the F1(help) and TAB functions)
The Julibrot fractal type and the Starmap option now automatically verify
that they have been selected with a 256-color palette, and search for,
and use, the appropriate GLASSESn.MAP or ALTERN.MAP palette map when
invoked. *You* were supposed to be doing that manually all along, but
*you* probably never read the docs, huh?
Bug Fixes:\
TAB key now works after R(estore) commands\
PS/2 Model 30 (MCGA) adapters should be able to select 320x200x256 mode
again (we think)\
Everex video adapters should work with the Autodetect modes again (we
think)


Version 12.0, 3/90

New SuperVGA Autodetecting and VESA Video modes (you tell us the
resolution you want, and we'll figure out how to do it)
New Full-Screen Entry for most prompting\
New Fractal formula interpreter ('type=formula') - roll your own fractals
without using a "C" compiler!
New 'Julibrot' fractal type\
Added floating point option to all remaining fractal types.\
Real (funny glasses) 3D - Now with "real-time" lorenz3D!!\
Non-Destructive - Check out what your fractal parameters are without
stopping the generation of a fractal image
New Cross-Hair mode for changing individual palette colors (VGA only)\
Zooming beyond the limits of Integer algorithms (with automatic switchover
to a floating-point algorithm when you zoom in "too far")
New 'inside=bof60', 'inside=bof61' ("Beauty of Fractals, Page nn") options\
New starmap ('a' - for astrology? astronomy?) transformation option\
Restrictions on the options available when using Expanded Memory
"Disk/RAM" video mode have been removed
And a lot of other nice little clean-up features that we've already
forgotten that we've added...
Added capability to create 3D projection images (just barely) for people
with 2 or 4 color video boards.
;
~Topic=Versions 1 through 11

Version 11.0, 1/90

More fractal types\
mandelsinh/lambdasinh mandelcosh/lambdacosh\
mansinzsqrd/julsinzsqrd mansinexp/julsinexp\
manzzprw/julzzpwr manzpower/julzpower\
lorenz (from Rob Beyer) lorenz3d\
complexnewton complexbasin\
dynamic popcorn\
Most fractal types given an integer and a floating point algorithm.
"Float=yes" option now determines whether integer or floating-point
algorithms are used for most fractal types. "F" command toggles the use
of floating-point algorithms, flagged in the status display
8/16/32/../256-Way decomposition option (from Richard Finegold)\
"Biomorph=", "bailout=", "symmetry=" and "askvideo=" options\
"T(ransform)" option in the IFS editor lets you select 3D options (used
with the Lorenz3D fractal type)
The "T(ype)" command uses a new "Point-and-Shoot" method of selecting
fractal types rather than prompting you for a type name
Bug fixes to continuous-potential algorithm on integer fractals, GIF
encoder, and IFS editor


Version 10.0, 11/89

Barnsley IFS type (Rob Beyer)\
Barnsley IFS3D type\
MandelSine/Cos/Exp type\
MandelLambda/MarksLambda/Unity type\
BarnsleyM1/J1/M2/J2/M3/J3 type\
Mandel4/Julia4 type\
Sierpinski gasket type\
Demm/Demj and bifurcation types (Phil Wilson), "test" is "mandel" again\
nversion command for most fractal types\
uaternary decomposition toggle and "DECOMP=" argument\
ditor for Barnsley IFS parameters\
Command-line options for 3D parameters\
Spherical 3D calculations 5x faster\
3D now clips properly to screen edges and works at extreme perspective\
"RSEED=" argument for reproducible plasma clouds\
Faster plasma clouds (by 40% on a 386)\
Sensitivity to "continuous potential" algorithm for all types except
plasma and IFS
Palette-map ave and Restore () commands\
ogarithmic and ormal palette-mapping commands and arguments\
Maxiter increased to 32,000 to support log palette maps\
.MAP and .IFS files can now reside anywhere along the DOS path\
Direct-video support for Hercules adapters (Dean Souleles)\
Tandy 1000 160x200x16 mode (Tom Price)\
320x400x256 register-compatible-VGA "tweaked" mode\
ATI VGA Wonder 1024x768x16 direct-video mode (Mark Peterson)\
1024x768x16 direct-video mode for all supported chipsets\
Tseng 640x400x256 mode\
"Roll-your-own" video mode 19\
New video-table "hot-keys" eliminate need for enhanced keyboard to access
later entries


Version 9.3, 8/89

rint command and "PRINTER=" argument (Matt Saucier)\
8514/A video modes (Kyle Powell)\
SSTOOLS.INI sensitivity and '@THISFILE' argument\
Continuous-potential algorithm for Mandelbrot/Julia sets\
Light source 3D option for all fractal types\
"Distance estimator" M/J method (Phil Wilson) implemented as "test" type\
LambdaCosine and LambdaExponent types\
Color cycling mode for 640x350x16 EGA adapters\
Plasma clouds for 16-color and 4-color video modes\
Improved TARGA support (Joe McLain)\
CGA modes now use direct-video read/writes\
Tandy 1000 320x200x16 and 640x200x4 modes (Tom Price)\
TRIDENT chip-set super-VGA video modes (Lew Ramsey)\
Direct-access video modes for TRIDENT, Chips & Technologies, and ATI VGA
WONDER adapters (John Bridges). and, unlike version 9.1, they WORK in
version 9.3!)
"zoom-out" () command\
os command for shelling out\
2/4/16-color Disk/RAM video mode capability and 2-color video modes
supporting full-page printer graphics
"INSIDE=-1" option (treated dynamically as "INSIDE=maxiter")\
Improved elp and sound routines (even a "SOUND=off" argument)\
Turbo-C and TASM compatibility (really! Would we lie to you?)


Version 8.1, 6/89

<3>D restore-from-disk and 3D verlay commands, "3D=" argument\
Fast Newton algorithm including inversion option (Lee Crocker)\
16-bit Mandelbrot/Julia logic for 386-class speed with non-386 PCs on
"large" images (Mark Peterson)
Restore now loads .GIF files (as plasma clouds)\
TARGA video modes and color-map file options (Joe McLain)\
30 new color-cycling palette options ( to )\
"Disk-video, RAM-video, EMS-video" modes\
Lambda sets now use integer math (with 80386 speedups)\
"WARN=yes" argument to prevent over-writing old .GIF files


Version 7.0, 4/89

Restore from disk (from prior save-to-disk using v. 7.0 or later)\
New types: Newton, Lambda, Mandelfp, Juliafp, Plasma, Lambdasine\
Many new color-cycling options (for VGA adapters only)\
New periodicity logic (Mark Peterson)\
Initial displays recognize (and use) symmetry\
Solid-guessing option (now the default)\
Context-sensitive elp\
Customizable video mode configuration file (FRACTINT.CFG)\
"Batch mode" option\
Improved super-VGA support (with direct video read/writes)\
Non-standard 360 x 480 x 256 color mode on a STANDARD IBM VGA!


Version 6.0, 2/89

32-bit integer math emulated for non-386 processors; FRACT386 renamed
FRACTINT
More video modes


Version 5.1, 1/89

Save to disk\
New! Improved! (and Incompatible!) optional arguments format\
"Correct" initial image aspect ratio\
More video modes


Version 4.0, 12/88

Mouse support (Mike Kaufman)\
Dynamic iteration limits\
Color cycling\
Dual-pass mode\
More video modes, including "tweaked" modes for IBM VGA and register-
compatible adapters


Version 3.1, 11/88

Julia sets


Version 2.1, 10/23/88 (the "debut" on CIS)

Video table\
CPU type detector


Version 2.0, 10/10/88

Zoom and pan


Version 1.0, 9/88

The original, blindingly fast, 386-specific 32-bit integer algorithm
;
;
;
~Topic=Version13 to 14 Conversion

A number of types in Fractint version 13 and earlier were generalized in
version 14. We added a "backward compatibility" hook that (hopefully)
automatically translates these to the new form when the old files are
read. Files may be converted via:

FRACTINT OLDFILE.FRA SAVENAME=NEWFILE.GIF BATCH=YES

In a few cases the biomorph flag was incorrectly set in older files. In
that case, add "biomorph=no" to the command line.

This procedure can also be used to convert any *.fra file to the new
GIF89a spec, which now allows storage of fractal information.


~Format-
TYPES CHANGED FROM VERSION 13 -


V13 NAME V14 NAME + PARAMETERS
-------- --------------------------------------

LOGMAP=YES LOGMAP=OLD for identical Logmap type

DEMJ JULIA DISTEST=nnn

DEMM MANDEL DISTEST=nnn

Note: DISTEST also available on many other types

MANSINEXP MANFN+EXP FUNCTION=SIN

Note: New functions for this type are
cos sinh cosh exp log sqr

JULSINEXP JULFN+EXP FUNCTION=SIN

Note: New functions for this type are
cos sinh cosh exp log sqr

MANSINZSQRD MANFN+ZSQRD FUNCTION=SQR/SIN

Note: New functions for this type are
cos sinh cosh exp log sqr

JULSINZSQRD JULFN+ZSQRD FUNCTION=SQR/SIN

Note: New functions for this type are
cos sinh cosh exp log sqr

LAMBDACOS LAMBDAFN FUNCTION=COS

LAMBDACOSH LAMBDAFN FUNCTION=COSH

LAMBDAEXP LAMBDAFN FUNCTION=EXP

LAMBDASINE LAMBDAFN FUNCTION=SIN

LAMBDASINH LAMBDAFN FUNCTION=SINH

Note: New functions for this type are
log sqr

MANDELCOS MANDELFN FUNCTION=COS

MANDELCOSH MANDELFN FUNCTION=COSH

MANDELEXP MANDELFN FUNCTION=EXP

MANDELSINE MANDELFN FUNCTION=SIN

MANDELSINH MANDELFN FUNCTION=SINH

Note: New functions for this type are
log sqr

MANDELLAMBDA MANDELLAMBDA INITORBIT=PIXEL

POPCORN SYMMETRY=NONE POPCORNJUL

-------------------------------------------------------------

Formulas from FRACTINT.FRM in version 13

MANDELGLASS MANDELLAMBDA INITORBIT=.5/0

INVMANDEL V13 divide bug may cause some image differences.

NEWTON4 V13 divide bug may cause some image differences.

SPIDER V13 divide bug may cause some image differences.

MANDELSINE MANDELFN FUNCTION=SIN BAILOUT=50

MANDELCOSINE MANDELFN FUNCTION=COS BAILOUT=50

MANDELHYPSINE MANDELFN FUNCTION=SINH BAILOUT=50

MANDELHYPCOSINE MANDELFN FUNCTION=COSH BAILOUT=50

SCOTTSIN PARAMS=nnn FN+FN FUNCTION=SIN/SQR BAILOUT=nnn+3

SCOTTSINH PARAMS=nnn FN+FN FUNCTION=SINH/SQR BAILOUT=nnn+3

SCOTTCOS PARAMS=nnn FN+FN FUNCTION=COS/SQR BAILOUT=nnn+3

SCOTTCOSH PARAMS=nnn FN+FN FUNCTION=COSH/SQR BAILOUT=nnn+3

SCOTTLPC PARAMS=nnn FN+FN FUNCTION=LOG/COS BAILOUT=nnn+3

SCOTTLPS PARAMS=nnn FN+FN FUNCTION=LOG/SIN BAILOUT=nnn+3
Note: New functions for this type are
sin/sin sin/cos sin/sinh sin/cosh sin/exp
cos/cos cos/sinh cos/cosh cos/exp
sinh/sinh sinh/cosh sinh/exp sinh/log
cosh/cosh cosh/exp cosh/log
exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr

SCOTTSZSA PARAMS=nnn FN(Z*Z) FUNCTION=SIN BAILOUT=nnn+3

SCOTTCZSA PARAMS=nnn FN(Z*Z) FUNCTION=COS BAILOUT=nnn+3

Note: New functions for this type are
sinh cosh exp log sqr

SCOTTZSZZ PARAMS=nnn FN*Z+Z FUNCTION=SIN BAILOUT=nnn+3

SCOTTZCZZ PARAMS=nnn FN*Z+Z FUNCTION=COS BAILOUT=nnn+3

Note: New functions for this type are
sinh cosh exp log sqr

SCOTTSZSB PARAMS=nnn FN*FN FUNCTION=SIN/SIN BAILOUT=nnn+3

SCOTTCZSB PARAMS=nnn FN*FN FUNCTION=COS/COS BAILOUT=nnn+3

SCOTTLTS PARAMS=nnn FN*FN FUNCTION=LOG/SIN BAILOUT=nnn+3

SCOTTLTC PARAMS=nnn FN*FN FUNCTION=LOG/COS BAILOUT=nnn+3

Note: New functions for this type are
sin/cos sin/sinh sin/cosh sin/exp sin/sqr
cos/sinh cos/cosh cos/exp cos/sqr
sinh/sinh sinh/cosh sinh/exp sinh/log sinh/sqr
cosh/cosh cosh/exp cosh/log cosh/sqr
exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr

SCOTTSIC PARAMS=nnn SQR(1/FN) FUNCTION=COS BAILOUT=nnn+3

SCOTTSIS PARAMS=nnn SQR(1/FN) FUNCTION=SIN BAILOUT=nnn+3

TETRATE PARAMS=nnn TETRATE BAILOUT=nnn+3

Note: New function type sqr(1/fn) with
sin cos sinh cosh exp log sqr

Note: New function type sqr(fn) with
sin cos sinh cosh exp log sqr
~Format+
;
;
~Data=INTRO_AUTHORS
;
; FRACTINT intro screen primary authors
;
Primary Authors
Bert Tyler CompuServe (CIS) ID: [73477,433]
Timothy Wegner CIS ID: [71320,675] Internet: [email protected]
Mark Peterson CIS ID: [70441,3353]
Pieter Branderhorst CIS ID: [72611,2257]
Contributing Authors


; room for 14 authors at a time here













SPACEBAR toggles scrolling off/on
Copyright (C) 1990-93 The Stone Soup Group. Fractint may be freely copied
and distributed but may not be sold. See help for more information.
;
;
;
~Data=INTRO_CREDITS
;
; FRACTINT intro screen contributing authors.
;
...
Michael Abrash 360x480x256, 320x400x256 VGA video modes
Joseph Albrecht Tandy video, CGA video speedup
Kevin Allen [email protected] Finite attractor, bifurcation engine
Steve Bennett restore-from-disk logic
Rob Beyer [71021,2074] Barnsley IFS, Lorenz fractals
Francois Blais [70700,446] Lyapunov Fractals, LYAPUNOV.MAP
Dennis Bragg [75300,2456] DXF Raytracing output option
Juan J. Buhler [email protected] Diffusion options, inverse Julia type
Mike Burkey 376x564x256, 400x564x256, and 832x612x256 VGA video modes
Robin Bussell Palette-editor "freestyle" option
John Bridges [75300,2137] superVGA support, 360x480x256 mode
Brian Corbino [71611,702] Tandy 1000 640x200x16 video mode
Lee Crocker [73407,2030] Fast Newton, Inversion, Decomposition..
Monte Davis [71450,3542] Documentation
Chuck Ebbert [76306,1226] cmprsd & sqrt logmap, fpu speedups
Dan Farmer [70703,1632] orbits enhancements
Richard Finegold [76701,153] 8/16/../256-Way Decomposition option
Frank Fussenegger Mandelbrot speedups
Mike Gelvin [73337,520] Mandelbrot speedups
Lawrence Gozum [73437,2372] Tseng 640x400x256 Video Mode
David Guenther [70531,3525] Boundary Tracing algorithm
Norman Hills [71621,1352] Ranges option
Richard Hughes [70461,3272] "inside=", "outside=" coloring options
Mike Kaufman [[email protected]] mouse support, other features
Wesley Loewer fast fp Mandel/Julia/Lyapunov, boundary trace, frothybasin
Adrian Mariano [[email protected]] Diffusion & L-Systems
Charles Marslett [75300,1636] VESA video and IIT math chip support
Joe McLain [75066,1257] TARGA Support, color-map files
Bob Montgomery [73357,3140] (Author of VPIC) Fast text I/O routines
Bret Mulvey plasma clouds
Roy Murphy [76376,721] Lyapunov Fractals
Ethan Nagel [70022,2552] Palette editor, integrated help/doc system
Jonathan Osuch [73277,1432] IIT detect, register-compatible 8514/A code
Marc Reinig [72410,77] Lots of 3D options
Kyle Powell [76704,12] 8514/A Support
Matt Saucier [72371,3101] Printer Support
Herb Savage [71640,455] 'inside=bof60', 'inside=bof61' options
Ken Shirriff [email protected] Quaternions, CA, Xfract port
Lee Skinner [75450,3631] Tetrate fractal types and more
Dean Souleles [75115,1671] Hercules Support
Kurt Sowa [73467,2013] Color Printer Support
Hugh Steele cyclerange feature
John Swenson [75300,2136] Postscript printer features
Chris Taylor Floating&Fixed-point algorithm speedups, Tesseral Option
Scott Taylor [72401,410] PostScript, Kam Torus, many fn types.
Bill Townsend Mandelbrot Speedups
Paul Varner [73237,441] Extended Memory support for Disk Video
Dave Warker Integer Mandelbrot Fractals concept
Aaron Williams Register-compatible 8514/A code
Phil Wilson [76247,3145] Distance Estimator, Bifurcation fractals
Nicholas Wilt Lsystem speedups
Richard Wilton Tweaked VGA Video modes
...
; Byte Magazine Tweaked VGA Modes
; MS-Kermit Keyboard Routines
; PC Magazine Sound Routines
; PC Tech Journal CPU, FPU Detectors
;
;


  3 Responses to “Category : C Source Code
Archive   : FRASRC18.ZIP
Filename : HELP5.SRC

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/