home *** CD-ROM | disk | FTP | other *** search
/ Computerworld 1996 March / Computerworld_1996-03_cd.bin / idg_cd3 / grafika / fraktaly / frasr192 / help5.src < prev    next >
Text File  |  1995-04-08  |  125KB  |  2,836 lines

  1. ~Topic=Common Problems
  2.  
  3. Of course, Fractint would never stoop to having a "common" problem.  These
  4. notes describe some, ahem, "special situations" which come up occasionally
  5. and which even we haven't the gall to label as "features".
  6.  
  7. Hang during startup:\
  8.   There might be a problem with Fractint's video detection logic and your
  9.   particular video adapter. Try running with "fractint adapter=xxx" where
  10.   xxx is cga, ega, egamono, mcga, or vga.  If "adapter=vga" works, and you
  11.   really have a SuperVGA adapter capable of higher video modes, there are
  12.   other "adapter=" options for a number of SuperVGA chipsets - please see
  13.   the full selection in {Video Parameters} for details.  If this solves the
  14.   problem, create an SSTOOLS.INI file with the "adapter=xxx" command in it
  15.   so that the fix will apply to every run.\
  16.   Another possible cause:  If you install the latest Fractint in say
  17.   directory "newfrac", then run it from another directory with the command
  18.   "\\newfrac\\fractint", *and* you have an older version of fractint.exe
  19.   somewhere in your DOS PATH, a silent hang is all you'll get.  See the
  20.   notes under the "Cannot find FRACTINT.EXE message" problem for the reason.\
  21.   Another possibility: try one of the "textsafe" parameter choices
  22.   described in {Video Parameters}.
  23.  
  24. Scrambled image when returning from a text mode display:\
  25.   If an image which has been partly or completely generated gets partly
  26.   destroyed when you return to it from the menu, help, or the information
  27.   display, please try the various "textsafe" parameter options - see
  28.   {Video Parameters} for details.  If this cures the problem, create
  29.   an SSTOOLS.INI file with the "textsafe=xxx" command so that the fix will
  30.   apply to every run.
  31.  
  32. "Holes" in an image while it is being drawn:\
  33.   Little squares colored in your "inside" color, in a pattern of every
  34.   second square of that size, in solid guessing mode, both across and down
  35.   (i.e., 1 out of 4), are
  36.   a symptom of an image which should be calculated with more conservative
  37.   periodicity checking than the default.  See the Periodicity parameter
  38.   under {Image Calculation Parameters}.
  39.  
  40. Black bar at top of screen during color cycling on 8086/8088 machines:\
  41.   (This might happen intermittently, not every run.)\
  42.   "fractint cyclelimit=10" might cure the problem.  If so, increase
  43.   the cyclelimit value (try increasing by 5 or 10 each time) until the
  44.   problem reappears, then back off one step and add that cyclelimit value
  45.   to your SSTOOLS.INI file.
  46.  
  47. Other video problems:
  48.  
  49.   If you are using a VESA driver with your video adapter, the first thing
  50.   to try is the "vesadetect=no" parameter. If that fixes the problem, add
  51.   it to your SSTOOLS.INI file to make the fix permanent.
  52.  
  53.   It may help to explicitly specify your type of adapter - see the
  54.   "adapter=" parameter in {Video Parameters}.
  55.  
  56.   We've had one case where a video driver for Windows does not work
  57.   properly with Fractint.  If running under Windows, DesqView, or some
  58.   other layered environment, try running Fractint directly from DOS to see
  59.   if that avoids the problem.\
  60.   We've also had one case of a problem co-existing with "386 to the Max".
  61.  
  62.   We've had one report of an EGA adapter which got scrambled images in
  63.   all modes until "textsafe=no" was used (see {Video Parameters}).
  64.  
  65.   Also, see {Video Adapter Notes} for information
  66.   about enhanced video modes - Fractint makes only limited attempts to
  67.   verify that a video mode you request is actually supported by your
  68.   adapter.
  69. ~OnlineFF
  70.  
  71. Other Hangs and Strange Behavior:\
  72.   We've had some problems (hangs and solid beeps) on an FPU equipped
  73.   machine when running under Windows 3's enhanced mode.  The only ways
  74.   around the problem we can find are to either run the Fractint image
  75.   involved outside Windows, or to use the DOS command "SET NO87=nofpu"
  76.   before running Fractint.  (This SET command makes Fractint ignore your
  77.   fpu, so things might be a lot slower as a result.)
  78.  
  79. Insufficient memory:\
  80.   Fractint requires a fair bit of memory to run.  Most machines with at
  81.   least 640k (ok sticklers, make that "PC-compatible machines") will have
  82.   no problem.  Machines with 512k and machines with many TSR utilities
  83.   and/or a LAN interface may have problems.  Some Fractint features
  84.   allocate memory when required during a run.  If you get a message about
  85.   insufficient memory, or suspect that some problem is due to a memory
  86.   shortage, you could try commenting out some TSR utilities in your
  87.   AUTOEXEC.BAT file, some non-critical drivers in your CONFIG.SYS file, or
  88.   reducing the BUFFERS parameter in your CONFIG.SYS.
  89. ~OnlineFF
  90.  
  91. "Cannot find FRACTINT.EXE" message:\
  92.   Fractint is an overlayed program - some parts of it are brought from
  93.   disk into memory only when used.  The overlay manager needs to know
  94.   where to find the program.  It must be named FRACTINT.EXE (which it is
  95.   unless somebody renamed it), and you should either be in the directory
  96.   containing it when you start Fractint, or that directory should be in
  97.   your DOS PATH.
  98.  
  99. "File FRACTINT.CFG is missing or invalid" message:\
  100.   You should either start Fractint while you are in the directory
  101.   containing it, or should have that directory in your DOS PATH variable.
  102.   If that isn't the problem, maybe you have a FRACTINT.CFG file from an
  103.   older release of Fractint lying around? If so, best rename or delete it.
  104.   If that isn't the problem either, then the FRACTINT.CFG included in the
  105.   FRAINT.EXE release file has probably been changed or deleted. Best
  106.   reinstall Fractint to get a fresh copy.
  107. ~OnlineFF
  108.  
  109. Some other program doesn't like GIF files created by Fractint:\
  110.   Fractint generates nice clean GIF89A spec files, honest! But telling
  111.   this to the other program isn't likely to change its mind. Instead, try
  112.   an option which might get around the problem: run Fractint with the
  113.   command line option "gif87a=yes" and then save an image. Fractint will
  114.   store the image in the older GIF87A format, without any fractal
  115.   parameters in it (so you won't be able to load the image back into
  116.   Fractint and zoom into it - the fractal type, coordinates, etc. are not
  117.   stored in this older format), and without an "aspect ratio" in the GIF
  118.   header (we've seen one utility which doesn't like that field.)
  119.  
  120. Disk video mode performance:\
  121.   This won't be blindingly fast at the best of times, but there are things
  122.   which can slow it down and can be tuned.  See {"Disk-Video" Modes}
  123.   for details.
  124. ;
  125. ;
  126. ;
  127. ~Topic=Fractals and the PC
  128. ;
  129. ; empty for document, present just so we can reference the subject
  130.  
  131. ~Format-,Doc-
  132.  
  133.     A Little History:
  134.        { Before Mandelbrot }
  135.        { Who Is This Guy, Anyway? }
  136.  
  137.     A Little Code:
  138.        { Periodicity Logic }
  139.        { Limitations of Integer Math (And How We Cope) }
  140.        { Arbitrary Precision and Deep Zooming }
  141.        { The Fractint "Fractal Engine" Architecture }
  142.  
  143.     A Little Math:
  144.        { Summary of Fractal Types }
  145.        { Inside=bof60|bof61|zmag|period }
  146.        { Inside=epscross|startrail }
  147.        { Finite Attractors }
  148.        { Trig Identities }
  149.        { Quaternion and Hypercomplex Algebra }
  150. ~Format+,Doc+
  151. ;
  152. ;
  153. ~Topic=Before Mandelbrot
  154.  
  155. Like new forms of life, new branches of mathematics and science don't
  156. appear from nowhere. The ideas of fractal geometry can be traced to the
  157. late nineteenth century, when mathematicians created shapes -- sets of
  158. points -- that seemed to have no counterpart in nature.  By a wonderful
  159. irony, the "abstract" mathematics descended from that work has now turned
  160. out to be MORE appropriate than any other for describing many natural
  161. shapes and processes.
  162.  
  163. Perhaps we shouldn't be surprised.  The Greek geometers worked out the
  164. mathematics of the conic sections for its formal beauty; it was two
  165. thousand years before Copernicus and Brahe, Kepler and Newton overcame the
  166. preconception that all heavenly motions must be circular, and found the
  167. ellipse, parabola, and hyperbola in the paths of planets, comets, and
  168. projectiles.
  169.  
  170. In the 17th century Newton and Leibniz created calculus, with its
  171. techniques for "differentiating" or finding the derivative of functions --
  172. in geometric terms, finding the tangent of a curve at any given point.
  173. True, some functions were discontinuous, with no tangent at a gap or an
  174. isolated point. Some had singularities: abrupt changes in direction at
  175. which the idea of a tangent becomes meaningless. But these were seen as
  176. exceptional, and attention was focused on the "well-behaved" functions
  177. that worked well in modeling nature.
  178.  
  179. Beginning in the early 1870s, though, a 50-year crisis transformed
  180. mathematical thinking. Weierstrass described a function that was
  181. continuous but nondifferentiable -- no tangent could be described at any
  182. point. Cantor showed how a simple, repeated procedure could turn a line
  183. into a dust of scattered points, and Peano generated a convoluted curve
  184. that eventually touches every point on a plane. These shapes seemed to
  185. fall "between" the usual categories of one-dimensional lines, two-
  186. dimensional planes and three-dimensional volumes. Most still saw them as
  187. "pathological" cases, but here and there they began to find applications.
  188.  
  189. In other areas of mathematics, too, strange shapes began to crop up.
  190. Poincare attempted to analyze the stability of the solar system in the
  191. 1880s and found that the many-body dynamical problem resisted traditional
  192. methods. Instead, he developed a qualitative approach, a "state space" in
  193. which each point represented a different planetary orbit, and studied what
  194. we would now call the topology -- the "connectedness" -- of whole families
  195. of orbits. This approach revealed that while many initial motions quickly
  196. settled into the familiar curves, there were also strange, "chaotic"
  197. orbits that never became periodic and predictable.
  198.  
  199. Other investigators trying to understand fluctuating, "noisy" phenomena --
  200. the flooding of the Nile, price series in economics, the jiggling of
  201. molecules in Brownian motion in fluids -- found that traditional models
  202. could not match the data. They had to introduce apparently arbitrary
  203. scaling features, with spikes in the data becoming rarer as they grew
  204. larger, but never disappearing entirely.
  205.  
  206. For many years these developments seemed unrelated, but there were
  207. tantalizing hints of a common thread. Like the pure mathematicians' curves
  208. and the chaotic orbital motions, the graphs of irregular time series often
  209. had the property of self-similarity: a magnified small section looked very
  210. similar to a large one over a wide range of scales.
  211. ;
  212. ;
  213. ~Topic=Who Is This Guy\, Anyway?
  214.  
  215. While many pure and applied mathematicians advanced these trends, it is
  216. Benoit Mandelbrot above all who saw what they had in common and pulled the
  217. threads together into the new discipline.
  218.  
  219. He was born in Warsaw in 1924, and moved to France in 1935. In a time when
  220. French mathematical training was strongly analytic, he visualized problems
  221. whenever possible, so that he could attack them in geometric terms.  He
  222. attended the Ecole Polytechnique, then Caltech, where he encountered the
  223. tangled motions of fluid turbulence.
  224.  
  225. In 1958 he joined IBM, where he began a mathematical analysis of
  226. electronic "noise" -- and began to perceive a structure in it, a hierarchy
  227. of fluctuations of all sizes, that could not be explained by existing
  228. statistical methods. Through the years that followed, one seemingly
  229. unrelated problem after another was drawn into the growing body of ideas
  230. he would come to call fractal geometry.
  231.  
  232. As computers gained more graphic capabilities, the skills of his mind's
  233. eye were reinforced by visualization on display screens and plotters.
  234. Again and again, fractal models produced results -- series of flood
  235. heights, or cotton prices -- that experts said looked like "the real
  236. thing."
  237.  
  238. Visualization was extended to the physical world as well. In a provocative
  239. essay titled "How Long Is the Coast of Britain?" Mandelbrot noted that the
  240. answer depends on the scale at which one measures: it grows longer and
  241. longer as one takes into account every bay and inlet, every stone, every
  242. grain of sand. And he codified the "self-similarity" characteristic of
  243. many fractal shapes -- the reappearance of geometrically similar features
  244. at all scales.
  245.  
  246. First in isolated papers and lectures, then in two editions of his seminal
  247. book, he argued that many of science's traditional mathematical models are
  248. ill-suited to natural forms and processes: in fact, that many of the
  249. "pathological" shapes mathematicians had discovered generations before are
  250. useful approximations of tree bark and lung tissue, clouds and galaxies.
  251.  
  252. Mandelbrot was named an IBM Fellow in 1974, and continues to work at the
  253. IBM Watson Research Center. He has also been a visiting professor and
  254. guest lecturer at many universities.
  255. ;
  256. ;
  257. ~Topic=Periodicity Logic
  258.  
  259. The "Mandelbrot Lake" in the center of the M-set images is the traditional
  260. bane of plotting programs. It sucks up the most computer time because it
  261. always reaches the iteration limit -- and yet the most interesting areas
  262. are invariably right at the edge the lake.
  263. (See {The Mandelbrot Set} for a description of the iteration process.)
  264.  
  265. Thanks to Mark Peterson for pointing out (well, he more like beat us over
  266. the head until we paid attention) that the iteration values in the middle
  267. of Mandelbrot Lake tend to decay to periodic loops (i.e., Z(n+m) == Z(n),
  268. a fact that is pointed out on pages 58-61 of "The Beauty of Fractals"). An
  269. intelligent program (like the one he wrote) would check for this
  270. periodicity once in a while, recognize that iterations caught in a loop
  271. are going to max out, and bail out early.
  272.  
  273. For speed purposes, the current version of the program turns this checking
  274. algorithm on only if the last pixel generated was in the lake.  (The
  275. checking itself takes a small amount of time, and the pixels on the very
  276. edge of the lake tend to decay to periodic loops very slowly, so this
  277. compromise turned out to be the fastest generic answer).
  278.  
  279. Try a full M-set plot with a 1000-iteration maximum with any other
  280. program, and then try it on this one for a pretty dramatic proof of the
  281. value of periodicity checking.
  282.  
  283. You can get a visual display of the periodicity effects if you press
  284. <O>rbits while plotting. This toggles display of the intermediate
  285. iterations during the generation process.  It also gives you an idea of
  286. how much work your poor little PC is going through for you!  If you use
  287. this toggle, it's best to disable solid-guessing first using <1> or <2>
  288. because in its second pass, solid-guessing bypasses many of the pixel
  289. calculations precisely where the orbits are most interesting.
  290.  
  291. Mark was also responsible for pointing out that 16-bit integer math was
  292. good enough for the first few levels of M/J images, where the round-off
  293. errors stay well within the area covered by a single pixel. Fractint now
  294. uses 16-bit math where applicable, which makes a big difference on non-32-
  295. bit PCs.
  296. ;
  297. ;
  298. ~Topic=Limitations of Integer Math (And How We Cope)
  299.  
  300. By default, Fractint uses 16-bit and/or 32-bit integer math to generate
  301. nearly all its fractal types. The advantage of integer math is speed: this
  302. is by far the fastest such plotter that we have ever seen on any PC. The
  303. disadvantage is an accuracy limit. Integer math represents numbers like
  304. 1.00 as 32-bit integers of the form [1.00 * (2^29)] (approximately
  305. a range of 500,000,000) for the Mandelbrot and Julia sets. Other integer
  306. fractal types use a bitshift of 24 rather than 29, so 1.0 is stored
  307. internally as [1.00 * (2^24)]. This yields accuracy of better than 8
  308. significant digits, and works fine... until the initial values of the
  309. calculations on consecutive pixels differ only in the ninth decimal place.
  310.  
  311. At that point, if Fractint has a floating-point algorithm handy for that
  312. particular fractal type (and virtually all of the fractal types have one
  313. these days), it will silently switch over to the floating-point algorithm
  314. and keep right on going.  Fair warning - if you don't have an FPU, the
  315. effect is that of a rocket sled hitting a wall of jello, and even if you
  316. do, the slowdown is noticeable.
  317.  
  318. If it has no floating-point algorithm, Fractint does the best it can: it
  319. switches to its minimal drawing mode, with adjacent pixels having initial
  320. values differing by 1 (really 0.000000002).  Attempts to zoom further may
  321. result in moving the image around a bit, but won't actually zoom.  If you
  322. are stuck with an integer algorithm, you can reach minimal mode with your
  323. fifth consecutive "maximum zoom", each of which covers about 0.25% of the
  324. previous screen. By then your full-screen image is an area less than
  325. 1/(10^13)th [\~0.0000000000001] the area of the initial screen.  (If your
  326. image is rotated or stretched very slightly, you can run into the wall of
  327. jello as early as the fourth consecutive maximum zoom.  Rotating or
  328. stretching by larger amounts has less impact on how soon you run into it.)
  329.  
  330. Think of it this way: at minimal drawing mode, your VGA display would have
  331. to have a surface area of over one million square miles just to be able to
  332. display the entire M-set using the integer algorithms.  Using the
  333. floating-point algorithms, your display would have to be big enough to fit
  334. the entire solar system out to the orbit of Saturn inside it.  So there's
  335. a considerable saving on hardware, electricity and desk space involved
  336. here.  Also, you don't have to take out asteroid insurance.
  337.  
  338. 32 bit integers also limit the largest number which can be stored.  This
  339. doesn't matter much since numbers outside the supported range (which is
  340. between -4 and +4) produce a boring single color. If you try to zoom-out
  341. to reduce the entire Mandelbrot set to a speck, or to squeeze
  342. it to a pancake, you'll find you can't do so in integer math mode.
  343. ;
  344. ;
  345. ~Topic=Arbitrary Precision and Deep Zooming
  346.  
  347. The zoom limit of Fractint is approximately 10^15 (10 to the fifteenth
  348. power). This limit is due to the precision possible with the computer 
  349. representation of numbers as 64 bit double precision data. To give you an 
  350. idea of just how big a magnification 10^15 is, consider this. At the scale 
  351. of your computer screen while displaying a tiny part of the Mandelbrot set at 
  352. the deepest possible zoom, the entire Mandelbrot set would be many millions 
  353. of miles wide, as big as the orbit of Jupiter.
  354.  
  355. Big as this zoom magnification is, your PC can do better using something
  356. called arbitrary precision math. Instead of using 64 bit double precision to
  357. represent numbers, your computer software allocates as much memory as needed
  358. to create a data type supporting as many decimals of precision as you want.
  359.  
  360. Incorporation of this feature in Fractint was inspired by Jay Hill and his
  361. DEEPZOOM program which uses the shareware MFLOAT programming library.
  362. Several of the Stone Soup programmers noticed Jay's posts in the Internet
  363. sci.fractals newsgroup and began to investigate adding arbitrary precision
  364. to Fractint. High school math and physics teacher Wes Loewer wrote an
  365. arbitrary precision library in both 80x86 assembler and C, and the Stone Soup 
  366. team incorporated Wes's library into Fractint. Initially, support was added 
  367. for fractal types mandel, julia, manzpower, and julzpower.
  368.  
  369. Normally, when you reach Fractint's zoom limit, Fractint simply
  370. refuses to let you zoom any more. When using the fractal types that support
  371. arbitrary precision, you will not reach this limit, but can keep on
  372. zooming. When you pass the threshold between double precision and arbitrary
  373. precision, Fractint will dramatically slow down. The <tab> status screen can
  374. be used to verify that Fractint is indeed using arbitrary precision.
  375.  
  376. Fractals with arbitrary precision are SLOW, as much as ten times slower than
  377. if the math were done with your math coprocessor, and even slower simply
  378. because the zoom depth is greater. The good news, if you want to call it
  379. that, is that your math coprocessor is not needed; coprocessorless machines
  380. can produce deep zooms with the same glacial slowness as machines with
  381. coprocessors!
  382.  
  383. Maybe the real point of arbitrary precision math is to prolong the "olden"
  384. days when men were men, women were women, and real fractal programmers spent
  385. weeks generating fractals. One of your Stone Soup authors has a large
  386. monitor that blinks a bit when changing video modes--PCs have gotten so fast
  387. that Fractint finishes the default 320x200 Mandelbrot before the monitor can
  388. even complete its blinking transition to graphics mode! Computers are getting 
  389. faster every day, and soon a new generation of fractal lovers might forget 
  390. that fractal generation is *supposed* to be slow, just as it was in Grandpa's
  391. day when they only had Pentium chips. The solution to this educational
  392. dilemma is Fractint's arbitrary precision feature. Even the newest sexium and 
  393. septium machines are going to have to chug for days or weeks at the extreme 
  394. zoom depths now possible ...
  395.  
  396. So how far can you zoom? How does 10^1600 sound--roughly 1600 decimal
  397. digits of precision. To put *this* magnification in perspective, the "tiny"
  398. ratio of 10^61 is the ratio of the entire visible universe to the smallest
  399. quantum effects. With 1600 digits to work with, you can expand an 
  400. electron-sized image up to the size of the visible universe, not once but 
  401. more than twenty times. So you can examine screen-sized portions of a 
  402. Mandelbrot set so large all but a tiny part of it would be vastly farther away 
  403. than the billion or so light year limit of our best telescopes. 
  404.  
  405. Lest anyone suppose that we Stone Soupers suffer from an inflated pride over 
  406. having thus spanned the Universe, current inflationary cosmological theories 
  407. estimate the size of the universe to be unimaginably larger than the 
  408. "tiny" part we can see.
  409.  
  410. Note: many of Fractint's options do not work with arbitrary precision. To
  411. experiment with arbitrary precision at the speedier ordinary magnifications,
  412. start Fractint with the debug=3200 command-line option. With the exception 
  413. of mandel and manzpower perturbations, values that would normally be entered 
  414. in the Parameters and Coordinates screens need to be entered using the 
  415. command-line interface or .par files.  Other known things that do not yet 
  416. work with arbitrary precision are: biomorph, decomp, distance estimator, 
  417. inversion, Julia-Mandel switch, history, orbit-in-window, and the browse 
  418. feature.
  419. ;
  420. ;
  421. ~Topic=The Fractint "Fractal Engine" Architecture
  422.  
  423. Several of the authors would never ADMIT this, but Fractint has evolved a
  424. powerful and flexible architecture that makes adding new fractals very
  425. easy. (They would never admit this because they pride themselves on being
  426. the sort that mindlessly but happily hacks away at code and "sees if it
  427. works and doesn't hang the machine".)
  428.  
  429. Many fractal calculations work by taking a rectangle in the complex plane,
  430. and, point by point, calculating a color corresponding to that point.
  431. Furthermore, the color calculation is often done by iterating a function
  432. over and over until some bailout condition is met.
  433. (See {The Mandelbrot Set} for a description of the iteration process.)
  434.  
  435. In implementing such a scheme, there are three fractal-specific
  436. calculations that take place within a framework that is pretty much the
  437. same for them all.  Rather than copy the same code over and over, we
  438. created a standard fractal engine that calls three functions that may be
  439. bolted in temporarily to the engine.  The "bolting in" process uses the C
  440. language mechanism of variable function pointers.
  441.  
  442. These three functions are:
  443.  
  444.    1) a setup function that is run once per image, to do any required
  445.    initialization of variables,
  446.  
  447.    2) a once-per-pixel function that does whatever initialization has to
  448.    be done to calculate a color for one pixel, and
  449.  
  450.    3) a once-per-orbit-iteration function, which is the fundamental
  451.    fractal algorithm that is repeatedly iterated in the fractal
  452.    calculation.
  453.  
  454. The common framework that calls these functions can contain all sorts of
  455. speedups, tricks, and options that the fractal implementor need not worry
  456. about.  All that is necessary is to write the three functions in the
  457. correct way, and BINGO! - all options automatically apply. What makes it
  458. even easier is that usually one can re-use functions 1) and 2) written for
  459. other fractals, and therefore only need to write function 3).
  460.  
  461. Then it occurred to us that there might be more than one sort of fractal
  462. engine, so we even allowed THAT to be bolted in. And we created a data
  463. structure for each fractal that includes pointers to these four functions,
  464. various prompts, a default region of the complex plane, and various
  465. miscellaneous bits of information that allow toggling between Julia and
  466. Mandelbrot or toggling between the various kinds of math used in
  467. implementation.
  468.  
  469. That sounds pretty flexible, but there is one drawback - you have to be a
  470. C programmer and have a C compiler to make use of it! So we took it a step
  471. further, and designed a built-in high level compiler, so that you can
  472. enter the formulas for the various functions in a formula file in a
  473. straightforward algebra-like language, and Fractint will compile them and
  474. bolt them in for you!
  475.  
  476. There is a terrible down side to this flexibility.  Fractint users
  477. everywhere are going berserk. Fractal-inventing creativity is running
  478. rampant. Proposals for new fractal types are clogging the mail and the
  479. telephones.
  480.  
  481. All we can say is that non-productivity software has never been so potent,
  482. and we're sorry, it's our fault!
  483.  
  484. Fractint was compiled using Microsoft C 7.0 and Microsoft Assembler 6.0,
  485. using the "Medium" model. Note that the assembler code uses the "C" model
  486. option added to version 5.1, and must be assembled with the /MX or /ML
  487. switch to link with the "C" code. Because it has become too large to
  488. distribute comfortably as a single compressed file, and because many
  489. downloaders have no intention of ever modifying it, Fractint is now
  490. distributed as two files: one containing FRACTINT.EXE, auxiliary files and
  491. this document, and another containing complete source code (including a
  492. .MAK file and MAKEFRAC.BAT).  See {Distribution of Fractint}.
  493. ;
  494. ;
  495. ;
  496. ~Topic=Inside=bof60|bof61|zmag|period
  497. ~Format-,Online-
  498.  
  499. INSIDE=BOF60|BOF61|ZMAG|PERIOD
  500. ~Format+,Online+
  501.  
  502. Here is an *ATTEMPTED* explanation of what the inside=bof60 and
  503. inside=bof61 options do. This explanation is hereby dedicated to Adrian
  504. Mariano, who badgered it out of us! For the *REAL* explanation, see
  505. "Beauty of Fractals", page 62.
  506.  
  507. Let p(z) be the function that is repeatedly iterated to generate a fractal
  508. using the escape-time algorithm.  For example, p(z) = z^2+c in the case of
  509. a Julia set. Then let pk(z) be the result of iterating the function p for
  510. k iterations. (The "k" should be shown as a superscript.) We could also
  511. use the notation pkc(z) when the function p has a parameter c, as it does
  512. in our example.  Now hold your breath and get your thinking cap on. Define
  513. a(c) = inf\{|pkc(0)|:k=1,2,3,...}. In English - a(c) is the greatest lower
  514. bound of the images of zero of as many iterations as you like. Put another
  515. way, a(c) is the closest to the origin any point in the orbit starting
  516. with 0 gets. Then the index (c) is the value of k (the iteration) when
  517. that closest point was achieved.  Since there may be more than one,
  518. index(c) is the least such. Got it?  Good, because the "Beauty of
  519. Fractals" explanation of this, is, ahhhh, *TERSE* ! Now for the punch
  520. line. Inside=bof60 colors the lake alternating shades according to the
  521. level sets of a(c).  Each band represents solid areas of the fractal where
  522. the closest value of the orbit to the origin is the same.  Inside=bof61
  523. show domains where index(c) is constant.  That is, areas where the
  524. iteration when the orbit swooped closest to the origin has the same value.
  525. Well, folks, that's the best we can do! Improved explanations will be
  526. accepted for the next edition!
  527.  
  528. In response to this request for lucidity, Herb Savage offers this explanation
  529. the bof60 and bof61 options:
  530. \
  531.  The picture on page 60 of The Beauty of Fractals shows the distance to\
  532.  origin of the closest point to the origin in the sequence of points\
  533.  generated from a given X,Y coordinate.  The picture on page 61 shows\
  534.  the index (or number) in the sequence of the closest point.\
  535. \
  536. inside=zmag is similar. This option colors inside pixels according to
  537. the magnitude of the orbit point when maxiter was reached, using the formula
  538. color = (x^2 + y^2) * maxiter/2 + 1.
  539.  
  540. inside=period colors pixels according to the length of their eventual cycle.
  541. For example, points that approach a fixed point have color=1.  Points that
  542. approach a 2-cycle have color=2.  Points that do not approach a cycle during
  543. the iterations performed have color=maxit.  This option works best with a
  544. fairly large number of iterations.
  545. ;
  546. ;
  547. ;
  548. ~Topic=Inside=epscross|startrail
  549. ~Format-,Online-
  550.  
  551. INSIDE=EPSCROSS|STARTRAIL
  552. ~Format+,Online+
  553.  
  554. Kenneth Hooper has written a paper entitled "A Note On Some Internal
  555. Structures Of The Mandelbrot Set" published in "Computers and Graphics", Vol
  556. 15, No.2, pp. 295-297.  In that article he describes Clifford Pickover's
  557. "epsilon cross" method which creates some mysterious plant-like tendrils in
  558. the Mandelbrot set. The algorithm is this. In the escape-time calculation of a
  559. fractal, if the orbit comes within .01 of the Y-axis, the orbit is terminated
  560. and the pixel is colored green. Similarly, the pixel is colored yellow if it
  561. approaches the X-axis. Strictly speaking, this is not an "inside" option
  562. because a point destined to escape could be caught by this bailout criterion.
  563.  
  564. Hooper has another coloring scheme called "star trails" that involves
  565. detecting clusters of points being traversed by the orbit. A table of tangents
  566. of each orbit point is built, and the pixel colored according to how many
  567. orbit points are near the first one before the orbit flies out of the cluster.
  568. This option looks fine with maxiter=16, which greatly speeds the calculation.
  569.  
  570. Both of these options should be tried with the outside color fixed
  571. (outside=<nnn>) so that the "lake" structure revealed by the algorithms can be
  572. more clearly seen. Epsilon Cross is fun to watch with boundary tracing turned
  573. on - even though the result is incorrect it is interesting! Shucks - what
  574. does "incorrect" mean in chaos theory anyway?!
  575. ;
  576. ;
  577. ;
  578. ~Topic=Finite Attractors
  579. ~Format-,Online-
  580.  
  581. FINITE ATTRACTORS
  582. ~Format+,Online+
  583.  
  584. Many of Fractint's fractals involve the iteration of functions of complex
  585. numbers until some "bailout" value is exceeded, then coloring the
  586. associated pixel according to the number of iterations performed.  This
  587. process identifies which values tend to infinity when iterated, and gives
  588. us a rough measure of how "quickly" they get there.
  589.  
  590. In dynamical terms, we say that "Infinity is an Attractor", as many
  591. initial values get "attracted" to it when iterated.  The set of all points
  592. that are attracted to infinity is termed The Basin of Attraction of
  593. Infinity.  The coloring algorithm used divides this Basin of Attraction
  594. into many distinct sets, each a single band of one color, representing all
  595. the points that are "attracted" to Infinity at the same "rate".  These
  596. sets (bands of color) are termed "Level Sets" - all points in such a set
  597. are at the same "Level" away from the attractor, in terms of numbers of
  598. iterations required to exceed the bailout value.
  599.  
  600. Thus, Fractint produces colored images of the Level Sets of the Basin of
  601. Attraction of Infinity, for all fractals that iterate functions of Complex
  602. numbers, at least.  Now we have a sound mathematical definition of what
  603. Fractint's "bailout" processing generates, and we have formally introduced
  604. the terms Attractor, Basin of Attraction, and Level Set, so you should
  605. have little trouble following the rest of this section!
  606.  
  607. For certain Julia-type fractals, Fractint can also display the Level Sets
  608. of Basins of Attraction of Finite Attractors.  This capability is a by-
  609. product of the implementation of the MAGNETic fractal types, which always
  610. have at least one Finite Attractor.
  611.  
  612. This option can be invoked by setting the "Look for finite attractor"
  613. option on the <Y> options screen, or by giving the "finattract=yes"
  614. command-line option.
  615.  
  616. Most Julia-types that have a "lake" (normally colored blue by default)
  617. have a Finite Attractor within this lake, and the lake turns out to be,
  618. quite appropriately, the Basin of Attraction of this Attractor.
  619.  
  620. The "finattract=yes" option (command-line or <Y> options screen)
  621. instructs Fractint to seek out and identify a possible Finite Attractor
  622. and, if found, to display the Level Sets of its Basin of Attraction, in
  623. addition to those of the Basin of Attraction of Infinity.  In many cases
  624. this results in a "lake" with colored "waves" in it;  in other cases there
  625. may be little change in the lake's appearance.
  626.  
  627. For a quick demonstration, select a fractal type of LAMBDA, with a
  628. parameter of 0.5 + 0.5i.  You will obtain an image with a large blue lake.
  629. Now set "Look for finite attractor" to 1 with the "Y" menu.
  630. The image will be re-drawn
  631. with a much more colorful lake.  A Finite Attractor lives in the center of
  632. one of the resulting "ripple" patterns in the lake - turn the <O>rbits
  633. display on to see where it is - the orbits of all initial points that are
  634. in the lake converge there.
  635.  
  636. Fractint tests for the presence of a Finite Attractor by iterating a
  637. Critical Value of the fractal's function.  If the iteration doesn't bail
  638. out before exceeding twice the iteration limit, it is almost certain that
  639. we have a Finite Attractor - we assume that we have.
  640.  
  641. Next we define a small circle around it and, after each iteration, as well
  642. as testing for the usual bailout value being exceeded, we test to see if
  643. we've hit the circle. If so, we bail out and color our pixels according to
  644. the number of iterations performed.  Result - a nicely colored-in lake
  645. that displays the Level Sets of the Basin of Attraction of the Finite
  646. Attractor.  Sometimes !
  647.  
  648. First exception: This does not work for the lakes of Mandel-types.  Every
  649. point in a Mandel-type is, in effect, a single point plucked from one of
  650. its related Julia-types.  A Mandel-type's lake has an infinite number of
  651. points, and thus an infinite number of related Julia-type sets, and
  652. consequently an infinite number of finite attractors too.  It *MAY* be
  653. possible to color in such a lake, by determining the attractor for EVERY
  654. pixel, but this would probably treble (at least) the number of iterations
  655. needed to draw the image.  Due to this overhead, Finite Attractor logic
  656. has not been implemented for Mandel-types.
  657.  
  658. Secondly, certain Julia-types with lakes may not respond to this
  659. treatment, depending on the parameter value used.  E.g., the Lambda Set
  660. for 0.5 + 0.5i responds well; the Lambda Set for 0.0 + 1.0i does not - its
  661. lake stays blue.  Attractors that consist of single points, or a cycle of
  662. a finite number of points are ok.  Others are not.  If you're into fractal
  663. technospeak, the implemented approach fails if the Julia-type is a
  664. Parabolic case, or has Siegel Disks, or has Herman Rings.
  665.  
  666. However, all the difficult cases have one thing in common - they all have
  667. a parameter value that falls exactly on the edge of the related Mandel-
  668. type's lake.  You can avoid them by intelligent use of the Mandel-Julia
  669. Space-Bar toggle:  Pick a view of the related Mandel-type where the center
  670. of the screen is inside the lake, but not too close to its edge, then use
  671. the space-bar toggle.  You should obtain a usable Julia-type with a lake,
  672. if you follow this guideline.
  673.  
  674. Thirdly, the initial implementation only works for Julia-types that use
  675. the "Standard" fractal engine in Fractint.  Fractals with their own
  676. special algorithms are not affected by Finite Attractor logic, as yet.
  677.  
  678. Finally, the finite attractor code will not work if it fails to detect
  679. a finite attractor.  If the number of iterations is set too low, the finite
  680. attractor may be missed.
  681.  
  682. Despite these restrictions, the Finite Attractor logic can produce
  683. interesting results.  Just bear in mind that it is principally a bonus
  684. off-shoot from the development of the MAGNETic fractal types, and is not
  685. specifically tuned for optimal performance for other Julia types.
  686.  
  687. (Thanks to Kevin Allen for the above).
  688.  
  689. There is a second type of finite attractor coloring, which is selected
  690. by setting "Look for Finite Attractor" to a negative value.  This colors
  691. points by the phase of the convergence to the finite attractor,
  692. instead of by the speed of convergence.
  693.  
  694. For example, consider the Julia set for -0.1 + 0.7i, which is the three-lobed
  695. "rabbit" set.  The Finite Attractor is an orbit of length three; call these
  696. values a, b, and c.  Then, the Julia set iteration can converge to one of
  697. three sequences: a,b,c,a,b,c,..., or b,c,a,b,c,..., or c,a,b,c,a,b,...  
  698. The Finite Attractor phase option colors the interior of the Julia set with
  699. three colors, depending on which of the three sequences the orbit converges
  700. to.  Internally, the code determines one point of the orbit, say "a", and
  701. the length of the orbit cycle, say 3.  It then iterates until the sequence
  702. converges to a, and then uses the iteration number modulo 3 to determine the
  703. color.
  704.  
  705. ;
  706. ;
  707. ~Topic=Trig Identities
  708. ~Online-
  709.  
  710. TRIG IDENTITIES
  711.  
  712. ~Online+
  713. The following trig identities are invaluable for coding fractals that use
  714. complex-valued transcendental functions of a complex variable in terms of 
  715. real-valued functions of a real variable, which are usually found in
  716. compiler math libraries. In what follows, we sometimes use "*" for 
  717. multiplication, but leave it out when clarity is not lost. We use "^" for 
  718. exponentiation; x^y is x to the y power.
  719. ~Format-
  720.  
  721.    (u+iv) + (x+iy) = (u+x) + i(v+y)
  722.    (u+iv) - (x+iy) = (u-x) + i(v-y)
  723.    (u+iv) * (x+iy) = (ux - vy) + i(vx + uy)
  724.    (u+iv) / (x+iy) = ((ux + vy) + i(vx - uy)) / (x^2 + y^2)
  725.                              
  726.    e^(x+iy)   = (e^x) (cos(y) + i sin(y))
  727.  
  728.    log(x+iy) = (1/2)log(x*x + y*y) + i(atan(y/x) + 2kPi)
  729.       for k = 0, -1, 1, -2, 2, ...
  730.        (Fractint generally uses only the principle value, k=0. The log 
  731.         function refers to log base e, or ln.)
  732.  
  733.    z^w = e^(w*log(z))
  734.  
  735.    sin(x+iy)  = sin(x)cosh(y) + i cos(x)sinh(y)
  736.    cos(x+iy)  = cos(x)cosh(y) - i sin(x)sinh(y)
  737.    tan(x+iy)  = sin(x+iy) / cos(x+iy)
  738.    sinh(x+iy) = sinh(x)cos(y) + i cosh(x)sin(y)
  739.    cosh(x+iy) = cosh(x)cos(y) + i sinh(x)sin(y)
  740.    tanh(x+iy) = sinh(x+iy) / cosh(x+iy)
  741.    cosxx(x+iy) = cos(x)cosh(y) + i sin(x)sinh(y)
  742.      (cosxx is present in Fractint to provide compatibility with a bug
  743.      which was in its cos calculation before version 16)
  744.  
  745.                      sin(2x)               sinh(2y)
  746.    tan(x+iy) = ------------------  + i------------------
  747.                cos(2x) + cosh(2y)     cos(2x) + cosh(2y)
  748.  
  749.                  sin(2x) - i*sinh(2y)
  750.    cotan(x+iy) = --------------------
  751.                   cosh(2y) - cos(2x)
  752.  
  753.                     sinh(2x)                sin(2y)
  754.    tanh(x+iy) = ------------------ + i------------------
  755.                 cosh(2x) + cos(2y)    cosh(2x) + cos(2y)
  756.  
  757.                   sinh(2x) - i*sin(2y)
  758.    cotanh(x+iy) = --------------------
  759.                    cosh(2x) - cos(2y)
  760.  
  761.    asin(z) = -i * log(i*z+sqrt(1-z*z))
  762.    acos(z) = -i * log(z+sqrt(z*z-1))
  763.    atan(z) = i/2* log((1-i*z)/(1+i*z))
  764.  
  765.    asinh(z) = log(z+sqrt(z*z+1))
  766.    acosh(z) = log(z+sqrt(z*z-1))
  767.    atanh(z) = 1/2*log((1+z)/(1-z))
  768.  
  769.    sqr(x+iy) = (x^2-y^2) + i*2xy
  770.    sqrt(x+iy) = sqrt(sqrt(x^2+y^2)) * (cos(atan(y/x)/2) + i sin(atan(y/x)/2))
  771.  
  772.    ident(x+iy) = x+iy
  773.    conj(x+iy) = x-iy
  774.    recip(x+iy) = (x-iy)/(x^2+y^2)
  775.    flip(x+iy) = y+ix
  776.    zero(x+iy) = 0
  777.    cabs(x+iy) = sqrt(x^2 + y^2)
  778.  
  779. ~Format+
  780. Fractint's definitions of abs(x+iy) and |x+iy| below are non-standard.  
  781. Math texts define both absolute value and modulus of a complex number to 
  782. be the same thing.  They are both equal to cabs(x+iy) as defined above. 
  783. ~Format-
  784.  
  785.    |x+iy| = x^2 + y^2        
  786.    abs(x+iy) = sqrt(x^2) + i sqrt(y^2)
  787. ;
  788. ;
  789. ;  
  790. ~Topic=Quaternion and Hypercomplex Algebra
  791.  
  792. Quaternions are four dimensional generalizations of complex numbers.
  793. They almost obey the familiar field properties of real numbers, but
  794. fail the commutative law of multiplication, since x*y is not generally
  795. equal to y*x.
  796.  
  797. Quaternion algebra is most compactly described by specifying the rules
  798. for multiplying the basis vectors 1, i, j, and k. Quaternions form a
  799. superset of the complex numbers, and the basis vectors 1 and i are the 
  800. familiar basis vectors for the complex algebra. Any quaternion q can be
  801. represented as a linear combination q = x + yi + zj + wk of the basis
  802. vectors just as any complex number can be written in the form z = a + bi.
  803. ~Format-
  804.  
  805. Multiplication rules for quaternion basis vectors:
  806. ij =  k jk =  i ki = j 
  807. ji = -k kj = -i ik = -j 
  808. ii = jj = kk = -1
  809. ijk = -1 
  810.  
  811. Note that ij = k but ji = -k, showing the failure of the commutative law.
  812. The rules for multiplying any two quaternions follow from the behavior
  813. of the basis vectors just described. However, for your convenience, the 
  814. following formula works out the details. 
  815.  
  816. Let q1 = x1 + y1i + z1j + w1k and q2 = x2 + y2i + z2j + w2k. 
  817. Then q1q2 = 1(x1x2 - y1y2 - z1z2 - w1w2) +
  818.             i(y1x2 + x1y2 + w1z2 - z1w2) +
  819.             j(z1x2 - w1y2 + x1z2 + y1w2) +
  820.             k(w1x2 + z1y2 - y1z2 + x1w2)
  821.  
  822. ~Format+
  823. Quaternions are not the only possible four dimensional supersets of the 
  824. complex numbers. William Hamilton, the discoverer of quaternions in the 
  825. 1830's, considered the alternative called the hypercomplex number system. 
  826. Unlike quaternions, the hypercomplex numbers satisfy the commutative law of 
  827. multiplication. The law which fails is the field property that states that 
  828. all non-zero elements of a field have a multiplicative inverse. For a non-zero
  829. hypercomplex number h, the multiplicative inverse 1/h does not always exist.
  830.  
  831. As with quaternions, we will define multiplication in terms of the basis
  832. vectors 1, i, j, and k, but with subtly different rules. 
  833. ~Format-
  834.  
  835. Multiplication rules for hypercomplex basis vectors:
  836. ij = k  jk = -i ki = -j 
  837. ji = k  kj = -i ik = -j 
  838. ii = jj = -kk = -1      
  839. ijk = 1 
  840.  
  841. Note that now ij = k and ji = k, and similarly for other products of pairs
  842. of basis vectors, so the commutative law holds.
  843.  
  844. Hypercomplex multiplication formula:
  845. Let h1 = x1 + y1i + z1j + w1k and h2 = x2 + y2i + z2j + w2k. 
  846. Then  h1h2 =  1(x1x2 - y1y2 - z1z2 + w1w2) + 
  847.               i(y1x2 + x1y2 - w1z2 - z1w2) +
  848.               j(z1x2 - w1y2 + x1z2 - y1w2) +
  849.               k(w1x2 + z1y2 + y1z2 + x1w2) 
  850.  
  851. As an added bonus, we'll give you the formula for the reciprocal. 
  852.  
  853. Let det = [((x-w)^2+(y+z)^2)((x+w)^2+(y-z)^2)]
  854. Then 1/h =   1[ x(x^2+y^2+z^2+w^2)-2w(xw-yz)]/det +
  855.              i[-y(x^2+y^2+z^2+w^2)-2z(xw-yz)]/det +
  856.              j[-z(x^2+y^2+z^2+w^2)-2y(xw-yz)]/det +
  857.              k[ w(x^2+y^2+z^2+w^2)-2x(xw-yz)]/det
  858.  
  859. ~Format+
  860. A look at this formula shows the difficulty with hypercomplex numbers. 
  861. In order to calculate 1/h, you have to divide by the quantity 
  862. det = [((x-w)^2+(y+z)^2)((x+w)^2+(y-z)^2)]. So when this quantity is zero, 
  863. the multiplicative inverse will not exist.
  864.  
  865. Hypercomplex numbers numbers have an elegant generalization of any unary 
  866. complex valued function defined on the complex numbers. First, note that
  867. hypercomplex numbers can be represented as a pair of complex numbers in the 
  868. following way. 
  869. ~Format-
  870. Let h = x + yi + zj + wk. 
  871.     a = (x-w) + i(y+z) 
  872.     b = (x+w) + i(y-z) 
  873. ~Format+
  874. The numbers a and b are complex numbers. We can represent h as the pair of 
  875. complex numbers (a,b). Conversely, if we have a hypercomplex number given 
  876. to us in the form (a,b), we can solve for x, y, z, and w. The solution to 
  877. ~Format-
  878.    c = (x-w) + i(y+z) 
  879.    d = (x+w) + i(y-z) 
  880. is 
  881.    x = (real(c) + real(d))/2 
  882.    y = (imag(c) + imag(d))/2 
  883.    z = (imag(c) - imag(d))/2 
  884.    x = (real(d) - real(c))/2 
  885. ~Format+
  886. We can now, for example, define sin(h) as (sin(a),sin(b)). We know how to 
  887. compute sin(a) and sin(b) (see trig identities above).
  888.  
  889. Let c = sin(a) and d = sin(b). Now use the equations above to solve for 
  890. x, y, z, and w in terms of c and d. The beauty of this is that it really 
  891. doesn't make any difference what function we use. Instead of sin, we could 
  892. have used cos, sinh, ln, or z^2. Using this technique, Fractint can create 
  893. 3-D fractals using the formula h' = fn(h) + c, where "fn" is any of the 
  894. built-in functions. Where fn is sqr(), this is the famous mandelbrot formula,
  895. generalized to four dimensions.
  896.  
  897. For more information, see _Fractal Creations, Second Edition_ by Tim Wegner
  898. and Bert Tyler, Waite Group Press, 1993.
  899. ;
  900. ;
  901. ;
  902. ~Topic=GIF Save File Format
  903.  
  904. Since version 5.0, Fractint has had the <S>ave-to-disk command, which
  905. stores screen images in the extremely compact, flexible .GIF (Graphics
  906. Interchange Format) widely supported on CompuServe. Version 7.0 added the
  907. <R>estore-from-disk capability.
  908.  
  909. Until version 14, Fractint saved images as .FRA files, which were a
  910. non-standard extension of the then-current GIF87a specification.  The
  911. reason was that GIF87a did not offer a place to store the extra
  912. information needed by Fractint to implement the
  913. <R> feature -- i.e., the parameters that let you keep zooming, etc.
  914. as if the restored file had just been created in this session.
  915. The .FRA format worked with all of the popular GIF decoders that we
  916. tested, but these were not true GIF files. For one thing,
  917. information after the GIF terminator (which is where we put the extra info)
  918. has the potential to confuse the
  919. online GIF viewers used on CompuServe. For another, it is the opinion of
  920. some GIF developers that the addition of this extra information violates
  921. the GIF87a spec. That's why we used the default filetype .FRA instead.
  922.  
  923. Since version 14, Fractint has used a genuine .GIF format, using the
  924. GIF89a spec - an upwardly compatible extension of GIF87a, released by
  925. CompuServe on August 1 1990.
  926. This new spec allows the
  927. placement of application data within "extension blocks".
  928. In version 14 we changed our default savename extension from .FRA
  929. to .GIF.
  930.  
  931. There is one significant advantage to the new GIF89a format compared to
  932. the old GIF87a-based .FRA format for Fractint purposes:  the new .GIF
  933. files may be uploaded to the CompuServe graphics forums fractal information 
  934. intact.  Therefore anyone downloading a Fractint image from CompuServe will 
  935. also be downloading all the information needed to regenerate the image.
  936.  
  937. Fractint can still read .FRA files generated by
  938. earlier versions.  If for some reason you wish to save files in the older
  939. GIF87a format, for example because your favorite GIF decoder has not yet
  940. been upgraded to GIF89a, use the command-line parameter "GIF87a=yes".
  941. Then any saved files will use the original GIF87a format without any
  942. application-specific information.
  943.  
  944. An easy way to convert an older .FRA file into true .GIF format suitable
  945. for uploading is something like this at the DOS prompt:\
  946.     FRACTINT MYFILE.FRA SAVENAME=MYFILE.GIF BATCH=YES\
  947. Fractint will load MYFILE.FRA, save it in true .GIF format as MYFILE.GIF,
  948. and return to DOS.
  949.  
  950. GIF and "Graphics Interchange Format" are trademarks of CompuServe
  951. Incorporated, an H&R Block Company.
  952. ;
  953. ;
  954. ;
  955. ~Topic=Using Fractint With a Mouse
  956. ; This topic is online only.
  957.  
  958. ~FormatExclude-
  959. Left Button:   Brings up and sizes the Zoom Box.   While holding down the
  960.                left button, push the mouse forward to shrink the Zoom Box,
  961.                and pull it back to expand it.
  962.                Double-clicking the left button performs the Zoom.
  963.  
  964. Right Button:  While holding the right button held down, move the mouse
  965.                from side to side to 'rotate' the Zoom Box.  Move the mouse
  966.                forward or back to change the Zoom Box color.
  967.                Double-clicking the right button performs a 'Zoom-Out'.
  968.  
  969. Both Buttons:  (or the middle button, if you have three of them) While
  970.                holding down both buttons, move the mouse up and down to
  971.                stretch/shrink the height of the Zoom Box, or side to side
  972.                to 'squish' the Zoom Box into a non-rectangular shape.
  973.  
  974. Zoom and Pan using the mouse typically consists of pushing in the left
  975. button, sizing the zoom box, letting go of the button, panning to the
  976. general area, then double-clicking the left button to perform the Zoom.
  977. ;
  978. ;
  979. ;
  980. ~Topic=Selecting a video mode when loading a file, Label=HELPLOADFILE
  981. ; This topic is only online, context-sensitive.
  982. ~Format-
  983.  
  984. The most suitable video modes for the file are listed first.
  985.  
  986. The 'err' column in the video mode information indicates:
  987.   blank  mode seems perfect for this image
  988.   v      image smaller than screen, will be loaded in a <v>iew window
  989.   c      mode has more colors than image needs
  990.   *      a major problem, one or more of the following is also shown:
  991.    C     mode has too few colors
  992.    R     image larger than screen, Fractint will reduce the image, possibly
  993.          into a <v>iew window, and maybe with aspect ratio a bit wrong
  994.    A     mode has the wrong shape of pixels for this image
  995. ;
  996. ;
  997. ;
  998. ~Topic=Distribution of Fractint
  999. ~Format-,Online-
  1000.  
  1001. DISTRIBUTION OF FRACTINT
  1002. ~Format+,Online+
  1003.  
  1004. New versions of FRACTINT are uploaded to the CompuServe network, and make
  1005. their way to other systems from that point.  FRACTINT is available as
  1006. two self-extracting archive files - FRAINT.EXE (executable & documentation)
  1007. and FRASRC.EXE (source code).
  1008.  
  1009. The latest version can always be found in one of CompuServe's GO GRAPHICS
  1010. forums. Alas, the GO GRAPHICS Group is growing so fast that we get moved 
  1011. around from periodically, and rumor has it that yet another move is imminent. 
  1012. The current location of Fractint is the "Fractal Sources" library of the GO 
  1013. GRAPHDEV forum. The forum staff will leave pointers to our new home if we are 
  1014. moved again. 
  1015.  
  1016. If you're not a CompuServe subscriber, but
  1017. wish to get more information about CompuServe and its graphics forums,
  1018. feel free to call their 800 number (800-848-8199) and ask for operator
  1019. number 229.
  1020.  
  1021. If you don't have access to CompuServe, many other sites tend to carry
  1022. these files shortly after their initial release (although sometimes
  1023. using different naming conventions).  For instance...
  1024.  
  1025. If you speak Internet and FTP, SIMTEL20 and its various mirror sites
  1026. tend to carry new versions of Fractint shortly after they are released.
  1027. look in the /SimTel/msdos/graphics directory for files named FRA*.*.  Then
  1028. again, if you don't speak Internet and FTP...
  1029.  
  1030. Your favorite local BBS probably carries these files as well (although
  1031. perhaps not the latest versions) using naming conventions like FRA*.ZIP.
  1032. One BBS that *does* carry the latest version is the "Ideal Studies BBS"
  1033. (508)757-1806, 1200/2400/9600HST.  Peter Longo is the SYSOP and a true
  1034. fractal fanatic.  There is a very short registration, and thereafter the
  1035. entire board is open to callers on the first call.  Then again, if you
  1036. don't even have a modem...
  1037.  
  1038. Many Shareware/Freeware library services will ship you diskettes containing
  1039. the latest versions of Fractint for a nominal fee that basically covers
  1040. their cost of packaging and a small profit that we don't mind them making.
  1041. One in particular is the Public (Software) Library, PO Box 35705,
  1042. Houston, TX 77235-5705, USA.  Their phone number is 800-242-4775 (outside
  1043. the US, dial 713-524-6394).  Ask for item #9112 for five 5.25" disks, #9113
  1044. for three 3.5" disks.  Cost is $6.99 plus $4 S&H in the U.S./Canada, $11
  1045. S&H overseas.
  1046.  
  1047. In Europe, the latest versions are available from another Fractint enthusiast,
  1048. Jon Horner - Editor of FRAC'Cetera, a disk-based fractal/chaos resource.
  1049. Disk prices for UK/Europe are: 5.25" HD BP4.00/4.50  : 3.5" HD BP (British 
  1050. Pounds) 4.00/4.50.  Prices include p&p (airmail to Europe).  Contact:
  1051. Jon Horner, FRAC'Cetera, Le Mont Ardaine, Rue des Ardaines, St. Peters,
  1052. Guernsey GY7 9EU, CI, UK.  Phone (44) 01481 63689.  CIS 100112,1700
  1053.  
  1054. The X Windows port of Fractint maintained by Ken Shirriff is available
  1055. via FTP from sprite.berkeley.edu. 
  1056. ;
  1057. ;
  1058. ~Topic=Contacting the Authors
  1059. ~Format-,Online-
  1060.  
  1061. CONTACTING THE AUTHORS
  1062. ~Format+,Online+
  1063. Communication between the authors for development of the next version of
  1064. Fractint takes place in a CompuServe (CIS) GO GRAPHICS GROUP (GGG) forum. 
  1065. This forum changes from time to time as as the GGG grows. You can always
  1066. find it using the CompuServe GO GRAPHICS command. Currently we are located
  1067. in GRAPHDEV (Graphics Developers) forum, Section 4 (Fractal Sources).
  1068.  
  1069. Most of the authors have never met except on CompuServe. Access to the 
  1070. GRAPHDEV forum is open to any and all interested in computer generated 
  1071. fractals. New members are always welcome! Stop on by if you have any 
  1072. questions or just want to take a peek at what's getting tossed into the soup.
  1073. This is by far the best way to have your questions answered or participate
  1074. in discussion. Also, you'll find many GIF image files generated by fellow 
  1075. Fractint fans and many fractal programs as well in the GRAPHDEV forum's data 
  1076. library 5.
  1077.  
  1078. If you're not a CompuServe subscriber, but wish to get more information
  1079. about CompuServe and its graphics forums, feel free to call their 800
  1080. number (800-848-8199) and ask for operator number 229.
  1081.  
  1082. The following authors have agreed to the distribution of their addresses.
  1083. Usenet/Internet/Bitnet/Whatevernet users can reach CIS users directly if
  1084. they know the user ID (i.e., Bert Tyler's ID is 73477.433@compuserve.com).
  1085.  
  1086. Just remember that CIS charges by the minute, so it costs us a little bit
  1087. to read a message -- don't kill us with kindness. And don't send all your
  1088. mail to Bert -- spread it around a little! Postal addresses are listed below 
  1089. so that you have a way to send bug reports 
  1090. and ideas to the Stone Soup team. 
  1091.  
  1092. Please understand that we receive a lot of 
  1093. mail, and because of the demands of volunteer work on Fractint as well as
  1094. our professional responsibilities, we are generally unable to answer it all.
  1095. Several of us have reached the point where we can't answer any conventional
  1096. mail. We *do* read and enjoy all the mail we receive, however. If you need a 
  1097. reply, the best thing to do is use email, which we are generally able to 
  1098. answer, or better yet, leave a message in CompuServe's GRAPHDEV.
  1099.  
  1100. (This address list is getting
  1101. seriously out of date. We have updated information from those folks who have 
  1102. contacted us. The next release of Fractint will contain the addresses of
  1103. *only* those people who have explicitly told us that their address is
  1104. correct and they want it listed. Please contact one of the main authors with 
  1105. this information.)
  1106.  
  1107. ~FF
  1108. Current main authors:
  1109.  
  1110. ~Format-
  1111. Bert Tyler              [73477,433] on CIS
  1112. Tyler Software          (which is also 73477.433@compuserve.com, if
  1113. 124 Wooded Lane          you're on the Internet - see above)
  1114. Villanova, PA 19085
  1115. (610) 525-5478
  1116.  
  1117. Timothy Wegner          [71320,675] on CIS
  1118. 4714 Rockwood           twegner@phoenix.net (Internet)
  1119. Houston, TX 77004
  1120. (713) 747-7543
  1121.  
  1122. Jonathan Osuch          [73277,1432] on CIS
  1123. 2110 Northview Drive
  1124. Marion, IA  52302
  1125.  
  1126. Wesley Loewer           loewer@tenet.edu on INTERNET
  1127. 78 S. Circlewood Glen
  1128. The Woodlands, TX  77381
  1129. (713) 292-3449
  1130.  
  1131. Contributing authors' addresses (in alphabetic order). 
  1132.  
  1133. Joseph A Albrecht
  1134. 9250 Old Cedar Ave #215
  1135. Bloomington, Mn 55425
  1136. (612) 884-3286
  1137.  
  1138. Kevin C Allen           kevina@microsoft.com on Internet
  1139. 9 Bowen Place
  1140. Seven Hills
  1141. NSW 2147
  1142. Australia
  1143. +61-2-870-2297 (Work)
  1144. (02) 831-4821 (Home)
  1145.  
  1146. Rob Beyer               [71021,2074] on CIS
  1147. 23 Briarwood Lane
  1148. Laguna Hills, CA, 92656
  1149. (714) 957-0227
  1150. (7-12pm PST & weekends)
  1151.  
  1152. John W. Bridges         (Author GRASP/Pictor, Imagetools, PICEM, VGAKIT)
  1153. 2810 Serang Place Costa Mesa
  1154. California 92626-4827   [75300,2137] on CIS, GENIE:JBRIDGES
  1155.  
  1156. Juan J Buhler           jbuhler@usina.org.ar
  1157. Santa Fe 2227 1P "E"
  1158. (54-1) 84 3528
  1159. Buenos Aires, Argentina
  1160.  
  1161. Michael D. Burkey       burkey@sun9.math.utk.edu on Internet
  1162. 6600 Crossgate Rd.
  1163. Knoxville, TN 37912
  1164.  
  1165. Robin Bussell
  1166. 13 Bayswater Rd
  1167. Horfield
  1168. Bristol
  1169. Avon, England
  1170. (044)-0272-514451
  1171.  
  1172. Prof Jm Collard-Richard jmc@math.ethz.ch 
  1173.  
  1174. Monte Davis             [71450,3542] on CIS
  1175. 223 Vose Avenue
  1176. South Orange, NJ 07079
  1177. (201) 378-3327
  1178.  
  1179. Paul de Leeuw           
  1180. 50 Henry Street
  1181. Five Dock
  1182. New South Wales
  1183. 2046
  1184. Australia
  1185. +61-2-396-2246 (Work)
  1186. +61-2-713-6064 (Home)
  1187.  
  1188. David Guenther          [70531,3525] on CIS
  1189. 50 Rockview Drive
  1190. Irvine, CA 92715
  1191.  
  1192. Michael L. Kaufman      kaufman@eecs.nwu.edu on INTERNET
  1193. 2247 Ridge Ave, #2K     (also accessible via EXEC-PC bbs)
  1194. Evanston, IL, 60201
  1195. (708) 864-7916
  1196. Joe McLain              [75066,1257] on CIS
  1197. McLain Imaging
  1198. 2417 Venier
  1199. Costa Mesa, CA 92627
  1200. (714) 642-5219
  1201.  
  1202. Bob Montgomery          [73357,3140] on CIS
  1203. (Author of VPIC)
  1204. 132 Parsons Road
  1205. Longwood, Fl  32779
  1206.  
  1207. Roy Murphy              [76376,721] on CIS
  1208. 9050 Ewing Ave.
  1209. Evanston, IL 60203
  1210.  
  1211. Ethan Nagel             [71062,3677] on CIS
  1212. 4209 San Pedro NE #308
  1213. Albuquerque, NM 87109
  1214. (505) 884-7442
  1215. ~OnlineFF
  1216. Mark Peterson           [73642,1775] on CIS
  1217. The Yankee Programmer
  1218. 405-C Queen St., Suite #181
  1219. Southington, CT 06489
  1220. (203) 276-9721
  1221.  
  1222. Marc Reinig             [72410,77] on CIS
  1223. 3415 Merrill Rd.        72410.77@compuserve.com.
  1224. Aptos, CA. 95003
  1225. (408) 475-2132
  1226.  
  1227. Lee H. Skinner          [75450,3631] on CIS
  1228. P.O. Box 14944
  1229. Albuquerque, NM  87191
  1230. (505) 293-5723
  1231.  
  1232. Dean Souleles           [75115,1671] on CIS
  1233. 8840 Collett Ave.
  1234. Sepulveda, CA  91343
  1235. (818) 893-7558
  1236.  
  1237. Chris J Lusby Taylor
  1238. 32 Turnpike Road
  1239. Newbury, England
  1240. Tel 011 44 635 33270
  1241.  
  1242. Scott Taylor                  [72401,410] on CIS
  1243. 2913 Somerville Drive Apt #1  scott@bohemia.metronet.org on Internet
  1244. Ft. Collins, Co  80526        DGWM18A on Prodigy
  1245. (303) 221-1206
  1246.  
  1247. Paul Varner             [73237,441] on CIS
  1248. PO Box 930
  1249. Shepherdstown, WV 25443
  1250. (304) 876-2011
  1251.  
  1252. Phil Wilson             [76247,3145] on CIS
  1253. 410 State St., #55
  1254. Brooklyn, NY 11217
  1255. (718) 624-5272
  1256. ~Format+
  1257. ;
  1258. ;
  1259. ~Topic=The Stone Soup Story
  1260. ~Format-,Online-
  1261. THE STONE SOUP STORY
  1262. ~Format+,Online+
  1263.  
  1264. Once upon a time, somewhere in Eastern Europe, there was a great famine.
  1265. People jealously hoarded whatever food they could find, hiding it even
  1266. from their friends and neighbors. One day a peddler drove his wagon into a
  1267. village, sold a few of his wares, and began asking questions as if he
  1268. planned to stay for the night.
  1269.  
  1270. [No!  No!  It was three Russian Soldiers! - Lee Crocker]\
  1271. [Wait!  I heard it was a Wandering Confessor! - Doug Quinn]\
  1272. [Well *my* kids have a book that uses Russian Soldiers! - Bert]\
  1273. [Look, who's writing this documentation, anyway? - Monte]\
  1274. [Ah, but who gets it *last* and gets to upload it? - Bert]\
  1275.  
  1276. "There's not a bite to eat in the whole province," he was told. "Better
  1277. keep moving on."
  1278.  
  1279. "Oh, I have everything I need," he said. "In fact, I was thinking of
  1280. making some stone soup to share with all of you." He pulled an iron
  1281. cauldron from his wagon, filled it with water, and built a fire under it.
  1282. Then, with great ceremony, he drew an ordinary-looking stone from a velvet
  1283. bag and dropped it into the water.
  1284.  
  1285. By now, hearing the rumor of food, most of the villagers had come to the
  1286. square or watched from their windows. As the peddler sniffed the "broth"
  1287. and licked his lips in anticipation, hunger began to overcome their
  1288. skepticism.
  1289.  
  1290. "Ahh," the peddler said to himself rather loudly, "I do like a tasty stone
  1291. soup. Of course, stone soup with CABBAGE -- that's hard to beat."
  1292.  
  1293. Soon a villager approached hesitantly, holding a cabbage he'd retrieved
  1294. from its hiding place, and added it to the pot. "Capital!" cried the
  1295. peddler. "You know, I once had stone soup with cabbage and a bit of salt
  1296. beef as well, and it was fit for a king."
  1297.  
  1298. The village butcher managed to find some salt beef...and so it went,
  1299. through potatoes, onions, carrots, mushrooms, and so on, until there was
  1300. indeed a delicious meal for all. The villagers offered the peddler a great
  1301. deal of money for the magic stone, but he refused to sell and traveled on
  1302. the next day. And from that time on, long after the famine had ended, they
  1303. reminisced about the finest soup they'd ever had.
  1304.  
  1305.                                 ***
  1306.  
  1307. That's the way Fractint has grown, with quite a bit of magic, although
  1308. without the element of deception. (You don't have to deceive programmers
  1309. to make them think that hours of painstaking, often frustrating work is
  1310. fun... they do it to themselves.)
  1311.  
  1312. It wouldn't have happened, of course, without Benoit Mandelbrot and the
  1313. explosion of interest in fractal graphics that has grown from his work at
  1314. IBM. Or without the example of other Mandelplotters for the PC. Or without
  1315. those wizards who first realized you could perform Mandelbrot calculations
  1316. using integer math (it wasn't us - we just recognize good algorithms when
  1317. we steal--uhh--see them).  Or those graphics experts who hang around the
  1318. CompuServe PICS forum and keep adding video modes to the program.  Or...
  1319. ~Doc-
  1320. (continued in {A Word About the Authors})
  1321. ~Doc+
  1322. ;
  1323. ;
  1324. ~Topic=A Word About the Authors
  1325. ~Format-,Online-
  1326.  
  1327. A WORD ABOUT THE AUTHORS
  1328. ~Format+,Online+
  1329.  
  1330. Fractint is the result of a synergy between the main authors, many
  1331. contributors, and published sources.  All four of the main authors have
  1332. had a hand in many aspects of the code.  However, each author has certain
  1333. areas of greater contribution and creativity.  Since there is not room in
  1334. the credits screen for the contributions of the main authors, we list these
  1335. here to facilitate those who would like to communicate with us on
  1336. particular subjects. 
  1337.  
  1338. Main Authors of Version 19.
  1339.  
  1340. BERT TYLER is the original author of Fractint.  He wrote the "blindingly 
  1341. fast" 386-specific 32 bit integer math code and the original video mode 
  1342. logic. Bert made Stone Soup possible, and provides a sense of direction when 
  1343. we need it. His forte is writing fast 80x86 assembler, his knowledge of a 
  1344. variety of video hardware, and his skill at hacking up the code we send him!
  1345.  
  1346. Bert has a BA in mathematics from Cornell University.  He has been in
  1347. programming since he got a job at the computer center in his sophomore
  1348. year at college - in other words, he hasn't done an honest day's work in
  1349. his life.  He has been known to pass himself off as a PC expert, a UNIX
  1350. expert, a statistician, and even a financial modeling expert.  He is
  1351. currently masquerading as an independent PC consultant, supporting the PC-
  1352. to-Mainframe communications environment at NIH.  If you sent mail from the
  1353. Internet to an NIH staffer on his 3+Mail system, it was probably Bert's
  1354. code that mangled it during the Internet-to-3+Mail conversion.  He also
  1355. claims to support the MS-Kermit environment at NIH. Fractint is Bert's
  1356. first effort at building a graphics program.
  1357.  
  1358. TIM WEGNER contributed the original implementation of palette animation,
  1359. and is responsible for most of the 3D mechanisms.  He provided 
  1360. the main outlines of the "StandardFractal" engine and data structures, and is
  1361. accused by his cohorts of being "obsessed with options". One of Tim's main
  1362. interests is the use of four dimensional algebras to produce fractals. 
  1363. Tim served as team coordinator for version 19, and integrated Wes Loewer's
  1364. arbitrary precision library into Fractint.  
  1365.  
  1366. Tim has BA and MA degrees in mathematics from Carleton College and the
  1367. University of California Berkeley.  He worked for 7 years overseas as a
  1368. volunteer, doing things like working with Egyptian villagers building
  1369. water systems. Since returning to the US in 1982, he has written shuttle
  1370. navigation software, a software support environment prototype, and
  1371. supported strategic information planning, all at NASA's Johnson Space
  1372. Center. Tim has started his own business, and now writes and programs full
  1373. time.
  1374.  
  1375. JONATHAN OSUCH started throwing pebbles into the soup around version 15.0
  1376. with a method for simulating an if-then-else structure using the formula
  1377. parser.  He has contributed the fn||fn fractal types, the built-in bailout
  1378. tests, the increase in both the maximum iteration count and bailout value,
  1379. and bug fixes too numerous to count. Jonathan worked closely with Robin 
  1380. Bussell to implement Robin's browser mechanism in Fractint.
  1381.  
  1382. Jonathan has a B.S. in Physics from the University of Dubuque and a B.S. in
  1383. Computer Science from Mount Mercy College, both in Iowa.  He is currently
  1384. working as a consultant in the nuclear power industry.
  1385.  
  1386. WES LOEWER first got his foot in the Stone Soup door by writing fast
  1387. floating point assembler routines for Mandelbrot, Julia, and Lyapunov
  1388. fractals.  He also rewrote the boundary trace algorithms and added the
  1389. frothybasin fractal.  His most significant contribution is the addition of
  1390. the arbitrary precision library which allows Fractint to perform
  1391. incredibly deep zooms.
  1392.  
  1393. Wes has a B.S. in Physics from Wheaton College in Illinois.  He also holds
  1394. an M.S. in Physics and an M.Ed. in Education from Texas A&M University.
  1395. Wes teaches physics and math at McCullough High School in The Woodlands,
  1396. Texas where his pupils inspire him to keep that sense of amazement that
  1397. students get when they understand a physical or mathematical principle for
  1398. the first time.  Since he uses Fractint to help teach certain mathematical
  1399. principles, he's one of the few folks who actually gets to use Fractint on
  1400. the job.  Besides his involvement with Fractint, Wes is the author of
  1401. WL-Plot, an equation graphing program, and MatCalc, a matrix calculator
  1402. program.
  1403. ;
  1404. ;
  1405. ~Topic=Other Fractal Products
  1406.  
  1407. (Forgive us, but we just *have* to begin this section with a plug for
  1408. *our* fractal products...)
  1409.  
  1410. Several of Fractint's programmers have written books about fractals,
  1411. Fractint, and Winfract (the Windows version of Fractint).
  1412. The book about Fractint is Fractal Creations Second Edition (1994 Waite 
  1413. Group Press, ISBN # 1-878739-34-4).  The book about Winfract is The Waite 
  1414. Group's Fractals for Windows (1992 Waite Group Press, ISBN # 1-878739-25-5).
  1415.  
  1416. ~Format-
  1417. Fractal Creations Second Edition includes:
  1418.  o A guided tour of Fractint.
  1419.  o A detailed manual and reference section of commands.
  1420.  o A tutorial on fractals.
  1421.  o A reference containing tips, explanations, and examples of parameters
  1422.    for all the Fractals generated by Fractint/Winfract.
  1423.  o Secrets on how the programs work internally.
  1424.  o Spectacular color plate section.
  1425.  o A CD containing Fractint and Xfract source and executable, and over a 
  1426.    thousand spectacular fractal images.
  1427.  o A complete copy of the source code with a chapter explaining how the
  1428.    program works.
  1429. ~Format+
  1430.  
  1431. If you enjoy Fractint, you're sure to enjoy Fractal Creations. The book
  1432. includes Fractint and is an excellent companion to the program.  If you
  1433. use the Windows environment, be sure to pick up a copy of Fractals for
  1434. Windows as well.
  1435. ;
  1436. ;
  1437. ~OnlineFF
  1438.  
  1439. A great fractals newsletter is "Amygdala" published by Rollo Silver. 
  1440. You'll find equal parts fractal algorithms, humor, reviews, and ideas.
  1441. Write to: 
  1442.    Amygdala\
  1443.    Box 219\
  1444.    San Cristobal, NM 87564\
  1445.    USA\
  1446.    Email:rsilver@lanl.gov\
  1447.    Phone: 505-586-0197\
  1448.  
  1449. Another great fractals newsletter (this one based in the UK) is
  1450. "FRAC'Cetera", a disk-based fractal/chaos resource, for PCs and 
  1451. compatibles, distributed on 3.5" HD disk, published by Jon Horner.
  1452. Contact:
  1453.  
  1454.    Jon Horner\
  1455.    FRAC'Cetera\
  1456.    Le Mont Ardaine\
  1457.    Rue des Ardaines\
  1458.    ST Peters\
  1459.    Guernsey GY7 9EU, CI, UK\
  1460.    Email: 100112.1700@compuserve.com\
  1461.    PH: (44) 01481 63689\
  1462.  
  1463. Several Fractint enthusiasts are selling Fractal CDs.  Two of the best are
  1464. called "Fractal Frenzy" by Lee Skinner, and "Fractography" by Caren Park.
  1465. Highly recommended original artwork in a variety of graphics formats.
  1466.  
  1467. You can receive the "Fractal Frenzy CD" by sending $39.95US + $5.00 S&H to
  1468.    Walnut Creek CDROM\
  1469.    1537 Palos Verdes Mall, Suite 260\
  1470.    Walnut Creek, CA 94596\
  1471.  
  1472. and the "Fractography" CD by sending $30.00US + $5.00 S&H (in US/Canada) to\
  1473.    Lost and Found Books\
  1474.    485 Front Street N, Suite A\
  1475.    Issaquah, WA 98027-2900\
  1476.  
  1477. Michael Peters (author of PARTOBAT) and Randall Scott have written a fractal 
  1478. program called HOP based on the Martin orbit fractals. This program is much
  1479. narrower than Fractint in the kind of thing that it does, but has many more
  1480. animation effects and makes a great screen saver. Michael sent us the 
  1481. algorithms for the chip, quadruptwo, and threeply fractal types to give us
  1482. a taste. The file is called HOPZIP.EXE in LIB 4 of CompuServe's GRAPHDEV
  1483. forum.
  1484. ;
  1485. ;
  1486. ;
  1487. ~Topic=Bibliography
  1488.  
  1489. BARNSLEY, Michael: "Fractals Everywhere," Academic Press, 1988.
  1490.  
  1491. DAVENPORT, Clyde: "A Hypercomplex Calculus with Applications to Relativity",
  1492.    ISBN 0-9623837-0-8. This self-published expansion of Mr. Davenport's
  1493.    Master's thesis makes the case for using hypercomplex numbers rather than
  1494.    quaternions. This book provided the background for Fractint's 
  1495.    implementation of hypercomplex fractals.
  1496.  
  1497. DEWDNEY, A. K., "Computer Recreations" columns in "Scientific American" --
  1498.    8/85, 7/87, 11/87, 12/88, 7/89.
  1499.  
  1500. FEDER, Jens: "Fractals," Plenum, 1988.\
  1501.    Quite technical, with good coverage of applications in fluid
  1502.    percolation, game theory, and other areas.
  1503.  
  1504. GLEICK, James: "Chaos: Making a New Science," Viking Press, 1987.\
  1505.    The best non-technical account of the revolution in our understanding
  1506.    of dynamical systems and its connections with fractal geometry.
  1507.  
  1508. MANDELBROT, Benoit: "The Fractal Geometry of Nature," W. H. Freeman & Co.,
  1509.    1982.\
  1510.    An even more revised and expanded version of the 1977 work. A rich and
  1511.    sometimes confusing stew of formal and informal mathematics, the
  1512.    prehistory of fractal geometry, and everything else. Best taken in
  1513.    small doses.
  1514. ~OnlineFF
  1515.  
  1516. MANDELBROT, Benoit: "Fractals: Form, Chance, and Dimension," W. H. Freeman
  1517.    & Co., 1977.\
  1518.    A much revised translation of "Les objets fractals: forme, hasard, et
  1519.    dimension," Flammarion, 1975.
  1520.  
  1521. PEITGEN, Heinz-Otto & RICHTER, Peter: "The Beauty of Fractals," Springer-
  1522.    Verlag, 1986.\
  1523.    THE coffee-table book of fractal images, knowledgeable on computer
  1524.    graphics as well as the mathematics they portray.
  1525.  
  1526. PEITGEN, Heinz-Otto & SAUPE, Ditmar: "The Science of Fractal Images,"
  1527.    Springer-Verlag, 1988.\
  1528.    A fantastic work, with a few nice pictures, but mostly filled with
  1529.    *equations*!!!
  1530.  
  1531. PICKOVER, Clifford: "Computers, Pattern, Chaos, and Beauty," St. Martin's
  1532.    Press, 1990.\
  1533.  
  1534. SCHROEDER, Manfred: "Fractals, Chaos, Power Laws," W. H. Freeman
  1535.    & Co., 1991.\
  1536.  
  1537. WEGNER, Timothy: "Image Lab, Second Edition", Waite Group Press, to be 
  1538.    released in 1995. Learn how to create fractal animations, fractal
  1539.    RDS stereo images, and how to use Fractint with other image creation 
  1540.    and processing tools such as Piclab, POV-Ray and Polyray ray tracers.
  1541.  
  1542. WEGNER, Timothy & TYLER, Bert: "Fractal Creations, Second Edition" Waite 
  1543.    Group Press, 1993\
  1544.    This is the definitive Fractint book. Spectacular color plate section,
  1545.    totally new and expanded fractal type descriptions, annotated PAR files,
  1546.    source code secrets, and a CD filled to the brim with spectacular fractals.
  1547.  
  1548. WEGNER, Timothy, TYLER, Bert, PETERSON, Mark, and Branderhorst, Pieter:
  1549.    "Fractals for Windows," Waite Group Press, 1992.\
  1550.    This book is to Winfract (the Windows version of Fractint) what
  1551.    "Fractal Creations" is to Fractint.
  1552. ;
  1553. ;
  1554. ~Topic=Other Programs
  1555.  
  1556. WINFRACT. Bert Tyler has ported Fractint to run under Windows 3!  The same
  1557. underlying code is used, with a Windows user interface.  Winfract has
  1558. almost all the functionality of Fractint - the biggest difference is the
  1559. absence of a zillion weird video modes.  Fractint for DOS will continue to
  1560. be the definitive version.  Winfract is available from CompuServe in
  1561. GRAPHDEV Lib 4, as WINFRA.ZIP (executable) and WINSRC.ZIP (source).
  1562.  
  1563.  
  1564. PICLAB, by Lee Crocker - a freeware image manipulation utility available
  1565. from CompuServe in PICS Lib 10, as PICLAB.EXE.  PICLAB can do very
  1566. sophisticated resizing and color manipulation of GIF and TGA files.  It
  1567. can be used to reduce 24 bit TGA files generated with the Fractint
  1568. "lightname" option to GIF files.
  1569.  
  1570. ~OnlineFF
  1571.  
  1572. ~Label=@FDESIGN
  1573. FDESIGN, by Doug Nelson (CIS ID 70431,3374) - a freeware IFS fractal
  1574. generator available from CompuServe in GRAPHDEV Lib 4, and probably on your
  1575. local BBS.  This program requires a VGA adapter and a Microsoft-compatible
  1576. mouse, and a floating point coprocessor is highly recommended.  It
  1577. generates IFS fractals in a *much* more intuitive fashion than Fractint.
  1578. It can also (beginning with version 3.0) save its IFS formulas in
  1579. Fractint-style .IFS files.
  1580.  
  1581. ~Label=@ACROSPIN
  1582. ACROSPIN, by David Parker - An inexpensive commercial program that reads
  1583. an object definition file and creates images that can be rapidly rotated
  1584. in three dimensions. The Fractint "orbitsave=yes" option creates files that
  1585. this program can read for orbit-type fractals and IFS fractals. Contact:
  1586.    David Parker                         801-966-2580\
  1587.    P O Box 26871                        800-227-6248\
  1588.    Salt Lake City, UT  84126-0871
  1589. ;
  1590. ;
  1591. ~Topic=Revision History
  1592.  
  1593.   Please select one of:
  1594.  
  1595.       {Version 18}
  1596.  
  1597.       {Version 17}
  1598.  
  1599.       {Version 16}
  1600.  
  1601.       {Version 15}
  1602.  
  1603.       {Versions 12 through 14}
  1604.  
  1605.       {Versions  1 through 11}
  1606. ;
  1607. ~Topic=Version 18
  1608.  
  1609. Versions 18.1 and 18.2 are bug-fix releases for version 18.0.  Changes from
  1610. 18.1 to 18.2 include:
  1611.  
  1612.  The <b> command now causes filenames only to be written in PAR files.
  1613.  
  1614.  Fractint will now search directories in the PATH for files not found in the 
  1615.  requested the requested directory or the current directory. If you place 
  1616.  .MAP, .FRM, etc. in directories in your PATH, then Fractint will find them.
  1617.  
  1618.  Fixed bug that caused fractals using PI symmetry to fail at high resolution.
  1619.  
  1620.  Fractals interrupted with <3> or <r> can now resume.
  1621.  
  1622.  The palette editor's <u> (undo) now works.
  1623.  
  1624.  The <s> command in orbit/Julia window mode is no longer case sensitive.
  1625.  
  1626.  Added warnings that the POV-Ray output is obsolete (but has been left in).
  1627.  Use POV-Ray's height field facility instead or create and convert RAW files.
  1628.  
  1629.  Fixed several IFS bugs.
  1630.  
  1631. Changes from 18.0 to 18.1 include:
  1632.  
  1633.  Overlay tuning - the Mandelbrot/Julia Set fractals are now back up
  1634.  to 17.x speeds
  1635.  
  1636.  Disk Video modes now work correctly with VESA video adapters (they
  1637.  used to use the same array for different purposes, confusing each other)
  1638.  
  1639.  1024x768x256 and 2048x2048x256 disk video modes work again
  1640.  
  1641.  Parameter-file processing no longer crashes Fractint if it attempts to
  1642.  run a formula requiring access to a non-existent FRM file
  1643.  
  1644.  IFS arrays no longer overrun their array space
  1645.  
  1646.  type=cellular fixes
  1647.  
  1648.  "autologmap=2" now correctly picks up the minimum color
  1649.  
  1650.  The use of disk-video mode with random-access fractal types is now
  1651.  legal (it generates a warning message but lets you proceed if you
  1652.  really want to)
  1653.  
  1654.  The Lsystems "spinning-wheel" now spins slower (removing needless overhead)
  1655.  
  1656.  Changes to contributors' addresses in the Help screens
  1657.  
  1658. (The remainder of this "new features" section is from version 18.0)
  1659.  
  1660. New fractal types:
  1661.  
  1662.  19 new fractal types, including:
  1663.  
  1664.  New fractal types - 'lambda(fn||fn)', 'julia(fn||fn)', 'manlam(fn||fn)',
  1665.  'mandel(fn||fn)', 'halley', 'phoenix', 'mandphoenix', 'cellular',
  1666.  generalized bifurcation, and 'bifmay' - from Jonathan Osuch.
  1667.  
  1668.  New Mandelcloud, Quaternion, Dynamic System, Cellular Automata fractal
  1669.  types from Ken Shirriff.
  1670.  
  1671.  New HyperComplex fractal types from Timothy Wegner
  1672.  
  1673.  New ICON type from Dan Farmer, including a PAR file of examples.
  1674.  
  1675.  New Frothy Basin fractal types (and PAR entries) by Wesley Loewer
  1676.  
  1677.  MIIM (Modified Inverse Iteration Method) implementation of Inverse Julia
  1678.  from Michael Snyder.
  1679.  
  1680.  New Inverse Julia fractal type from Juan Buhler.
  1681.  
  1682.  New floating-point versions of Markslambda, Marksmandel, Mandel4,
  1683.  and Julia4 types (chosen automatically if the floating-point option
  1684.  is enabled).
  1685.  
  1686. New options/features:
  1687.  
  1688.  New assembler-based parser logic from Chuck Ebbert - significantly
  1689.  faster than the C-based code it replaces!
  1690.  
  1691.  New assembler-based Lyapunov logic from Nicholas Wilt and Wes Loewer.
  1692.  Roughly six times faster than the old version!
  1693.  
  1694.  New Orbits-on-a-window / Julia-in-a-window options:\
  1695.   1) The old Overlay option is now '#' (Shift-3).\
  1696.   2) During generation, 'O' brings up orbits (as before) - after\
  1697.      generation, 'O' brings up new orbits Windows mode.\
  1698.   3) Control-O brings up new orbits Windows mode at any time.\
  1699.   4) Spacebar toggles between Inverse Julia mode and the Julia set and\
  1700.      back to the Mandelbrot set.\
  1701.  These new "in-a-window" modes are really neat!  See {Orbits Window}
  1702.  and {Julia Toggle Spacebar Commands} for details.
  1703.  
  1704.  New multi-image GIF support in the <B> command.  You can now generate
  1705.  65535x65535x256 fractal images using Fractint (if you have the disk
  1706.  space, of course).  This option builds special PAR entries and a
  1707.  MAKEMIG.BAT file that you later use to invoke Fractint multiple times
  1708.  to generate individual sections of the image and (in a final step)
  1709.  stitch them all together.  If your other software can't handle
  1710.  Multiple-image GIFs, a SIMPLGIF program is also supplied that converts
  1711.  MIGS into simgle-image GIFs.  Press F1 at the <B> prompts screen for
  1712.  details.
  1713.  
  1714.  Fractint's decoder now handles Multi-Image Gifs.
  1715.  
  1716.  New SuperVGA/VESA Autodetect logic from the latest version of
  1717.  VGAKIT.  Sure hope we didn't break anything.
  1718.  
  1719.  New register-compatible 8514/A code from Jonathan Osuch.  By default,
  1720.  Fractint now looks first for the presence of an 8514/A register-compatible
  1721.  adapter and then (and only if it doesn't find one) the presence of the
  1722.  8514/A API (IE, HDILOAD is no longer necessary for register-compatible
  1723.  "8514/a" adapters).  Fractint can be forced to use the 8514/A API by using
  1724.  a new command-line option, "afi=yes".  Jonathan also added ATI's
  1725.  "8514/a-style" 800x600x256 and 1280x1024x16 modes.
  1726.  
  1727.  New XGA-detection logic for ISA-based XGA-2 systems.
  1728.  
  1729.  The palette editor now has a "freestyle" editing option.  See
  1730.  {Palette Editing Commands} for details.
  1731.  
  1732.  
  1733.  Fractint is now more "batch file" friendly.  When running Fractint from
  1734.  a batch file, pressing any key will cause Fractint to exit with an
  1735.  errorlevel = 2.  Any error that interrupts an image save to disk will
  1736.  cause an exit with errorlevel = 2.  Any error that prevents an
  1737.  image from being generated will cause an exit with errorlevel = 1.
  1738.  
  1739.  New Control-X, Control-Y, and Control-Z options flip a fractal image
  1740.  along the X-axis, Y-axis, and Origin, respectively.
  1741.  
  1742.  New area calculation mode in TAB screen from Ken Shirriff 
  1743.  (for accuracy use inside=0).
  1744.  
  1745.  The TAB screen now indicates when the Integer Math algorithms are in use.
  1746.  
  1747.  The palette must now be explicitly changed, it will not reset to the default
  1748.  unexpectedly when doing things like switching video modes.
  1749.  
  1750.  The Julibrot type has been generalized.
  1751.  Julibrot fractals can now be generated from PAR files.
  1752.  
  1753.  Added <b> command support for viewwindows. 
  1754.  
  1755.  Added room for two additional PAR comments in the <B> command
  1756.  
  1757.  New coloring method for IFS shows which parts of fractal came from
  1758.  which transform.
  1759.  
  1760.  Added attractor basin phase plotting for Julia sets from Ken Shirriff.
  1761.  
  1762.  Improved finite attractor code to find more attractors from Ken Shirriff.
  1763.  
  1764.  New zero function, to be used in PAR files to replace old integer tan, tanh
  1765.  
  1766.  Debugflag=10000 now reports video chipset in use as well as CPU/FPU
  1767.  type and available memory
  1768.  
  1769.  Added 6 additional parameters for params= for those fractal types that
  1770.  need them.
  1771.  
  1772.  New 'matherr()' logic lets Fractint get more aggressive when these errors
  1773.  happen.
  1774.  
  1775.  New autologmap option (log=+-2) from Robin Bussell that ensures that
  1776.  all palette values are used by searching the screen border for the lowest
  1777.  value and then setting log= to +- that color.
  1778.  
  1779.  Two new diffusion options - falling and square cavity.
  1780.  
  1781.  Three new Editpal commands: '!', '@' and '#' commands (that's
  1782.  <shift-1>, <shift-2>, and <shift-3>) to swap R<->G, G<->B, R<->B.
  1783.  
  1784.  Parameter files now use a slightly shorter maximum line length, making
  1785.  them a bit more readable when stuffed into messages on CompuServe.
  1786.  
  1787.  Plasma now has 16-bit .POT output for use with Ray tracers. The "old"
  1788.  algorithm has been modified so that the plasma effect is independent
  1789.  of resolution.
  1790.  
  1791.  Slight modification to the Raytrace code to make it compatible with
  1792.  Rayshade 4.0 patch level 6.
  1793.  
  1794.  Improved boundary-tracing logic from Wesley Loewer.
  1795.  
  1796.  Command-line parameters can now be entered on-the-fly using the <g> key
  1797.  thanks to Ken Shirriff.
  1798.  
  1799.  Dithered gif images can now be loaded onto a b/w display.
  1800.  Thanks to Ken Shirriff.
  1801.  
  1802.  Pictures can now be output as compressed PostScript.
  1803.  Thanks to Ken Shirriff.
  1804.  
  1805.  Periodicity is a new inside coloring option.
  1806.  Thanks to Ken Shirriff.
  1807.  
  1808.  Fixes: symmetry values for the SQR functions, bailout for the floating-pt
  1809.  versions of 'lambdafn' and 'mandelfn' fractals from Jonathan Osuch.
  1810.  
  1811.  "Flip", "conj" operators are now selectable in the parser
  1812.  
  1813.  New DXF Raytracing option from Dennis Bragg.
  1814.  
  1815.  Improved boundary-tracing logic from Wesley Loewer.
  1816.  
  1817.  New MSC7-style overlay structure is used if MAKEFRAC.BAT specifies MSC7.
  1818.  (with new FRACTINT.DEF and FRACTINT.LNK files for MSC7 users).  Several
  1819.  modules have been re-organized to take advantage of this new overlay
  1820.  capability if compiled under MSC7.
  1821.  
  1822.  Fractint now looks first any embedded help inside FRACTINT.EXE, and then
  1823.  for an external FRACTINT.HLP file before giving up. Previous releases
  1824.  required that the help text be embedded inside FRACTINT.EXE.
  1825.  
  1826. Bug fixes:
  1827.  
  1828.  Corrected formulas displayed for Marksmandel, Cmplxmarksmandel, and
  1829.   associated julia types.
  1830.  
  1831.  BTM and precision fixes.
  1832.  
  1833.  Symmetry logic changed for various "outside=" options
  1834.  
  1835.  Symmetry value for EXP function in lambdafn and lambda(fn||fn) fixed.
  1836.  
  1837.  Fixed bug where math errors prevented save in batch mode.
  1838.  
  1839.  The <3> and <r> commands no longer destroy image -- user can back out
  1840.  with ESC and image is still there.
  1841.  
  1842.  Fixed display of correct number of Julibrot parameters, and Julibrot
  1843.  relaxes and doesn't constantly force ALTERN.MAP.
  1844.  
  1845.  Fixed tesseral type for condition when border is all one color but center
  1846.  contains image.
  1847.  
  1848.  Fixed integer mandel and julia when used with parameters > +1.99 and < -1.99
  1849.  
  1850.  Eliminated recalculation when generating a julia type from a mandelbrot
  1851.  type when the 'z' screen is viewed for the first time.
  1852.  
  1853.  Minor logic change to prevent double-clutching into and out of graphics
  1854.  mode when pressing, say, the 'x' key from a menu screen.
  1855.  
  1856.  Changed non-US phone number for the Houston Public (Software) Library
  1857.  
  1858.  The "Y" screen is now "Extended Options" instead of "Extended Doodads"
  1859.  
  1860.  ...and probably a lot more bux-fixes that we've since forgotten that
  1861.  we've implemented.
  1862.  
  1863. ;
  1864. ~Topic=Version 17
  1865.  
  1866. Version 17.2, 3/92
  1867.  
  1868.  - Fixed a bug which caused Fractint to hang when a Continuous Potential\
  1869.    Bailout value was set (using the 'Y') screen and then the 'Z' screen\
  1870.    was activated.\
  1871.  - fixed a bug which caused "batch=yes" runs to abort whenever any\
  1872.    key was pressed.\
  1873.  - bug-fixes in the Stereo3D/Targa logic from Marc Reinig.\
  1874.  - Fractint now works correctly again on FPU-less 8088s when\
  1875.    zoomed deeply into the Mandelbrot/Julia sets\
  1876.  - The current image is no longer marked as "not resumable" on a\
  1877.    Shell-To-Dos ("D") command.\
  1878.  - fixed a bug which prevented the "help" functions from working\
  1879.    properly during fractal-type selection for some fractal types.\
  1880.  
  1881. Version 17.1, 3/92
  1882.  
  1883.  - fixed a bug which caused PCs with no FPU to lock up when they attempted\
  1884.    to use some fractal types.\
  1885.  - fixed a color-cycling bug which caused the palette to single-step \
  1886.    when you pressed ESCAPE to exit color-cycling.\
  1887.  - fixed the action of the '<' and '>' keys during color-cycling.\
  1888.  
  1889. Version 17.0, 2/92
  1890.  
  1891. - New fractal types (but of course!): 
  1892.  
  1893. Lyapunov Fractals from Roy Murphy (see {Lyapunov Fractals} for details)
  1894.  
  1895. 'BifStewart' (Stewart Map bifurcation) fractal type and new bifurcation
  1896. parameters (filter cycles, seed population) from Kevin Allen.
  1897.  
  1898. Lorenz3d1, Lorenz3d3, and Lorenz3d4 fractal types from Scott Taylor.
  1899. Note that a bug in the Lorenz3d1 fractal prevents zooming-out from
  1900. working with it at the moment.
  1901.  
  1902. Martin, Circle, and Hopalong (culled from Dewdney's Scientific American
  1903. Article)
  1904.  
  1905. Lots of new entries in fractint.par.
  1906.  
  1907. New ".L" files (TILING.L, PENROSE.L)
  1908.  
  1909. New 'rand()' function added to the 'type=formula' parser
  1910.  
  1911. - New fractal generation options:
  1912.  
  1913. New 'Tesseral' calculation algorithm (use the 'X' option list to
  1914. select it) from  Chris Lusby Taylor.
  1915.  
  1916. New 'Fillcolor=' option shows off Boundary Tracing and Tesseral structure
  1917.  
  1918. inside=epscross and inside=startrail options taken from a paper by
  1919. Kenneth Hooper, with credit also to Clifford Pickover
  1920.  
  1921. New Color Postscript Printer support from Scott Taylor.
  1922.  
  1923. Sound= command now works with <O>rbits and <R>ead commands.
  1924.  
  1925. New 'orbitdelay' option in X-screen and command-line interface
  1926.  
  1927. New "showdot=nn" command-line option that displays the pixel currently
  1928. being worked on using the specified color value (useful for those lloooonngg
  1929. images being calculated using solid guessing - "where is it now?").
  1930.  
  1931. New 'exitnoask=yes' commandline/SSTOOLS.INI option to avoid the final
  1932. "are you sure?" screen
  1933.  
  1934. New plasma-cloud options.  The interface at the moment (documented here and
  1935.   here only because it might change later) lets you:\
  1936.   - use an alternate drawing algorithm that gives you an earlier preview\
  1937.     of the finished image.
  1938.   - re-generate your favorite plasma cloud (say, at a higher resolution)
  1939.     by forcing a re-select of the random seed.\
  1940.  
  1941. New 'N' (negative palette) option from Scott Taylor - the documentation at
  1942. this point is:  Pressing 'N' while in the palette editor will invert
  1943. each color. It will convert only the current color if it is in 'x' mode,
  1944. a range if in 'y' mode, and every color if not in either the 'x' or 'y' mode.
  1945.  
  1946. - Speedups:
  1947.  
  1948. New, faster floating-point Mandelbrot/Julia set code from Wesley Loewer,
  1949. Frank Fussenegger and Chris Lusby Taylor (in separate contributions).
  1950.  
  1951. Faster non-386 integer Mandelbrot code from Chris Lusby Taylor, Mike Gelvin
  1952. and Bill Townsend (in separate contributions)
  1953.  
  1954. New integer Lsystems logic from Nicholas Wilt
  1955.  
  1956. Finite-Attractor fixups and Lambda/mandellambda speedups from Kevin Allen.
  1957.  
  1958. GIF Decoder speedups from Mike Gelvin
  1959.  
  1960. - Bug-fixes and other enhancements:
  1961.  
  1962. Fractint now works with 8088-based AMSTRAD computers.
  1963.  
  1964. The video logic is improved so that (we think) fewer video boards will need
  1965. "textsafe=save" for correct operation.
  1966.  
  1967. Fixed a bug in the VESA interface which effectively messed up adapters
  1968. with unusual VESA-style access, such as STB's S3 chipset.
  1969.  
  1970. Fixed a color-cycling bug that would at times restore the wrong colors
  1971. to your image if you exited out of color-cycling, displayed a 'help'
  1972. screen, and then returned to the image.
  1973.  
  1974. Fixed the XGA video logic so that its 256-color modes use the same 
  1975. default 256 colors as the VGA adapter's 320x200x256 mode.
  1976.  
  1977. Fixed the 3D bug that caused bright spots on surfaces
  1978. to show as black blotches of color 0 when using a light source.
  1979.  
  1980. Fixed an image-generation bug that sometimes caused image regeneration
  1981. to restart even if not required if the image had been zoomed in
  1982. to the point that floating-point had been automatically activated.
  1983.  
  1984. Added autodetection and 640x480x256 support for the Compaq Advanced VGA
  1985. Systems board - I wonder if it works?
  1986.  
  1987. Added VGA register-compatible 320x240x256 video mode.
  1988.  
  1989. Fixed the "logmap=yes" option to (again) take effect for continuous potential
  1990. images.  This was broken in version 15.x.
  1991.  
  1992. The colors for the floating-point algorithm of the Julia fractal
  1993. now match the colors for the integer algorithm.
  1994.  
  1995. If the GIF Encoder (the "Save" command) runs out of disk space, it now
  1996. tells you about it.
  1997.  
  1998. If you select both the boundary-tracing algorithm and either "inside=0"
  1999. or "outside=0", the algorithm will now give you an error message instead
  2000. of silently failing.
  2001.  
  2002. Updated 3D logic from Marc Reinig.
  2003.  
  2004. Minor changes to permit IFS3D fractal types to be handled properly
  2005. using the "B" command.
  2006.  
  2007. Minor changes to the "Obtaining the latest Source" section to refer
  2008. to BBS access (Peter Longo's) and mailed diskettes (the Public (Software)
  2009. Library).
  2010.  
  2011. ~Topic=Version 16
  2012.  
  2013. Version 16.12, 8/91
  2014.  
  2015.   Fix to cure some video problems reported with Amstrad
  2016.      8088/8086-based PCs.
  2017.  
  2018. Version 16.11, 7/91
  2019.  
  2020.   SuperVGA Autodetect fixed for older Tseng 3000 adapters.\
  2021.  
  2022.   New "adapter=" options to force the selection of specific SuperVGA
  2023.      adapter types.  See {Video Parameters} for details.\
  2024.  
  2025.   Integer/Floating-Point math toggle is changed only temporarily
  2026.      if floating-point math is forced due to deep zooming.\
  2027.  
  2028.   Fractint now survives being modified by McAfee's "SCAN /AV" option.\
  2029.  
  2030.   Bug Fixes for Acrospin interface, 3D "Light Source Before
  2031.      Transformation" fill type, and GIF decoder.\
  2032.  
  2033.   New options in the <Z> parameters screen allow you to directly
  2034.      enter image coordinates.\
  2035.  
  2036.   New "inside=zmag" and "outside=real|imag|mult|summ" options.\
  2037.  
  2038.   The GIF Decoder now survives reading GIF files with a local color map.\
  2039.   Improved IIT Math Coprocessor support.\
  2040.  
  2041.   New color-cycling single-step options, '<' and '>'.\
  2042.  
  2043. Version 16.0, 6/91
  2044.  
  2045.   Integrated online help / fractint.doc system from Ethan Nagel.
  2046.     To create a printable fractint.doc file see {Startup Parameters}.
  2047.  
  2048.   Over 350 screens of online help! Try pressing <F1> just about anywhere!\
  2049.  
  2050.   New "autokey" feature.  Type "demo" to run the included demo.bat and
  2051.     demo.key files for a great demonstration of Fractint.
  2052.     See {Autokey Mode} for details.
  2053.  
  2054.   New <@> command executes a saved set of commands.  The <b> command has
  2055.     changed to write the current image's parameters as a named set of
  2056.     commands in a structured file.  Saved sets of commands can subsequently
  2057.     be executed with the <@> command.
  2058.     See {Parameter Save/Restore Commands}.
  2059.     A default "fractint.par" file is included with the release.
  2060.  
  2061.   New <z> command allows changing fractal type-specific parameters without
  2062.     going back through the <t> (fractal type selection) screen.
  2063.  
  2064.   Ray tracer interface from Marc Reinig, generates 3d transform output for a
  2065.     number of ray tracers; see {"Interfacing with Ray Tracing Programs"}
  2066.  
  2067.   Selection of video modes and structure of "fractint.cfg" have changed. If
  2068.     you have a customized fractint.cfg file, you'll have to rebuild it based
  2069.     on this release's version. You can customize the assignment of your
  2070.     favorite video modes to function keys; see {Video Mode Function Keys}.
  2071.     <delete> is a new command key which goes directly to video mode selection.
  2072.  
  2073.   New "cyclerange" option (command line and <y> options screen) from Hugh
  2074.     Steele. Limits color cycling to a specified range of colors.
  2075.  
  2076.   Improved {Distance Estimator Method} algorithm from Phil Wilson.\
  2077.  
  2078.   New "ranges=" option from Norman Hills.
  2079.     See {Logarithmic Palettes and Color Ranges} for details.
  2080.  
  2081.   type=formula definitions can use "variable functions" to select
  2082.     sin, cos, sinh, cosh, exp, log, etc at run time;
  2083.     new built-ins tan, tanh, cotan, cotanh, and flip
  2084.     are available with type=formula; see Type {Formula}
  2085.  
  2086.   New <w> command in palette editing mode to convert image to greyscale\
  2087.  
  2088.   All "fn" fractal types (e.g. fn*fn) can now use new functions tan, tanh,
  2089.     cotan, cotanh, recip, and ident; bug in prior cos function fixed, new
  2090.     function cosxx (conjugate of cos) is the old erroneous cos calculation
  2091.  
  2092.   New L-Systems from Herb Savage\
  2093.   New IFS types from Alex Matulich\
  2094.   Many new formulas in fractint.frm, including a large group from
  2095.     JM Collard-Richard
  2096.   Generalized type manzpwr with complex exponent per Lee Skinner's request\
  2097.   Initial orbit parameter added to Gingerbreadman fractal type\
  2098.  
  2099.   New color maps (neon, royal, volcano, blues, headache) from Daniel Egnor\
  2100.  
  2101.   IFS type has changed to use a single file containing named entries
  2102.     (instead of a separate xxx.ifs file per type); the <z> command brings up
  2103.     IFS editor (used to be <i> command).  See {=HT_IFS Barnsley IFS Fractals}.
  2104.  
  2105.   Much improved support for PaintJet printers; see {PaintJet Parameters}\
  2106.  
  2107.   From Scott Taylor:\
  2108.     Support for plotters using HP-GL; see {Plotter Parameters}\
  2109.     Lots of new PostScript halftones; see {PostScript Parameters}\
  2110.     "printer=PS[L]/0/..." for full page PostScript; see {PostScript Parameters}\
  2111.     Option to drive printer ports directly (faster); see {Printer Parameters}\
  2112.     Option to change printer end of line control chars; see {Printer Parameters}
  2113.  
  2114.   Support for XGA video adapter\
  2115.   Support for Targa+ video adapter\
  2116.   16 color VGA mode enhancements:\
  2117.     Now use the first 16 colors of .map files to be more predictable\
  2118.     Palette editor now works with these modes\
  2119.     Color cycling now works properly with these modes
  2120.   Targa video adapter fixes; Fractint now uses (and requires) the "targa"
  2121.     and "targaset" environment variables for Targa systems
  2122.   "vesadetect=no" parameter to bypass use of VESA video driver; try
  2123.     this if you encounter video problems with a VESA driver
  2124.   Upgraded video adapter detect and handling from John Bridges; autodetect
  2125.     added for NCR, Trident 8900, Tseng 4000, Genoa (this code
  2126.     is from a beta release of VGAKIT, we're not sure it all works yet)
  2127.  
  2128.   Zoom box is included in saved/printed images (but, is not recognized as
  2129.     anything special when such an image is restored)
  2130.  
  2131.   The colors numbers reserved by the palette editor are now selectable with
  2132.     the new <v> palette editing mode command
  2133.  
  2134.   Option to use IIT floating point chip's special matrix arithmetic for
  2135.     faster 3D transforms; see "fpu=" in {Startup Parameters}
  2136.  
  2137.   Disk video cache increased to 64k; disk video does less seeking when
  2138.     running to real disk
  2139.   Faster floating point code for 287 and higher fpus, for types mandel,
  2140.     julia, barnsleyj1/m1/j2/m2, lambda, manowar, from Chuck Ebbert
  2141.  
  2142.   "filename=.xxx" can be used to set default <r> function file mask\
  2143.  
  2144.   Selection of type formula or lsys now goes directly to entry selection
  2145.     (file selection step is now skipped); to change to a different file, use
  2146.     <F6> from the entry selection screen
  2147.  
  2148.   Three new values have been added to the textcolors= parameter; if you use
  2149.     this parameter you should update it by inserting values for the new 6th,
  2150.     7th, 9th, and 13th positions; see "textcolors=" in {Color Parameters}
  2151.  
  2152.   The formula type's imag() function has changed to return the result as
  2153.     a real number
  2154.  
  2155.   Fractal type-specific parameters (entered after selecting a new fractal
  2156.     type with <T>) now restart at their default values each time you select
  2157.     a new fractal type
  2158.  
  2159.   Floating point input fields can now be entered in scientific notation (e.g.
  2160.     11.234e-20). Entering the letters "e" and "p" in the first column causes
  2161.     the numbers e=2.71828... and pi=3.14159... to be entered.
  2162.  
  2163.   New option "orbitsave=yes" to create files for Acrospin for
  2164.     some types (see {Barnsley IFS Fractals}, {Orbit Fractals},
  2165.     {=@ACROSPIN Acrospin})
  2166.  
  2167.   Bug fixes:\
  2168.     Problem with Hercules adapter auto-detection repaired.\
  2169.     Problems with VESA video adapters repaired (we're not sure we've got them
  2170.       all yet...)\
  2171.     3D transforms fixed to work at high resolutions (> 1000 dots).\
  2172.     3D parameters no longer clobbered when restoring non-3D images.\
  2173.     L-Systems fixed to not crash when order too high for available memory.\
  2174.     PostScript EPS file fixes.\
  2175.     Bad leftmost pixels with floating point at 2048 dot resolution fixed.\
  2176.     3D transforms fixed to use current <x> screen float/integer setting.\
  2177.     Restore of images using inversion fixed.\
  2178.     Error in "cos" function (used with "fn" type fractals) fixed; prior
  2179.       incorrect function still available as "cosxx" for compatibility
  2180.  
  2181.   Old 3D=nn/nn/nn/... form of 3D transform parameters no longer supported\
  2182.  
  2183.   Fractint source code now Microsoft C6.00A compatible.
  2184. ;
  2185. ;
  2186. ~Topic=Version 15
  2187.  
  2188. Version 15.11, 3/91, companion to Fractal Creations, not for general
  2189. release
  2190.  
  2191.   Autokey feature, IIT fpu support, and some bug fixes publicly released in
  2192.   version 16.
  2193.  
  2194.  
  2195. Version 15 and 15.1, 12/90
  2196.  
  2197.   New user interface! Enjoy! Some key assignments have changed and some have
  2198.     been removed.
  2199.   New palette editing from Ethan Nagel.\
  2200.   Reduced memory requirements - Fractint now uses overlays and will run on a
  2201.     512K machine.
  2202.   New <v>iew command: use to get small window for fast preview, or to setup
  2203.     an image which will eventually be rendered on hard copy with different
  2204.     aspect ratio
  2205.   L-System fractal type from Adrian Mariano\
  2206.   Postscript printer support from Scott Taylor\
  2207.   Better Tandy video support and faster CGA video from Joseph A Albrecht\
  2208.   16 bit continuous potential files have changed considerably;  see the
  2209.     Continuous Potential section for details.  Continuous potential is now
  2210.     resumable.
  2211.   Mandelbrot calculation is faster again (thanks to Mike Gelvin) - double
  2212.     speed in 8086 32 bit case
  2213.   Compressed log palette and sqrt palette from Chuck Ebbert\
  2214.   Calculation automatically resumes whenever current image is resumable and
  2215.     is not paused for a visible reason.
  2216.   Auto increment of savename changed to be more predictable\
  2217.   New video modes:\
  2218.     trident 1024x768x256 mode\
  2219.     320x480x256 tweak mode (good for reduced 640x480 viewing)\
  2220.     changed NEC GB-1, hopefully it works now\
  2221.   Integer mandelbrot and julia now work with periodicitycheck\
  2222.   Initial zoombox color auto-picked for better contrast (usually)\
  2223.   New adapter=cga|ega|mcga|vga for systems having trouble with auto-detect\
  2224.   New textsafe=no|yes for systems having trouble with garbled text mode\
  2225.   <r> and <3> commands now present list of video modes to pick from; <r> can
  2226.     reduce a non-standard or unviewable image size.
  2227.   Diffusion fractal type is now resumable after interrupt/save\
  2228.   Exitmode=n parameter, sets video mode to n when exiting from fractint\
  2229.   When savetime is used with 1 and 2 pass and solid guessing, saves are
  2230.     deferred till the beginning of a new row, so that no calculation time is
  2231.     lost.
  2232.   3d photographer's mode now allows the first image to be saved to disk\
  2233.   textcolors=mono|12/34/56/... -- allows setting user interface colors\
  2234.   Code (again!) compilable under TC++ (we think!)\
  2235.   .TIW files (from v9.3) are no longer supported as input to 3D
  2236.     transformations
  2237.   bug fixes:\
  2238.     multiple restores (msc 6.0, fixed in 14.0r)\
  2239.     repeating 3d loads problem; slow 3d loads of images with float=yes\
  2240.     map= is now a real substitute for default colors\
  2241.     starfield and julibrot no longer cause permanent color map replacement\
  2242.     starfield parameters bug fix - if you couldn't get the starfield
  2243.     parameters to do anything interesting before, try again with this\
  2244.     release\
  2245.     Newton and newtbasin orbit display fixed
  2246.  
  2247.  Version 15.1:
  2248.  
  2249.   Fixed startup and text screen problems on systems with VESA compliant
  2250.     video adapters.
  2251.   New textsafe=save|bios options.\
  2252.   Fixes for EGA with monochrome monitor, and for Hercules Graphics Card.
  2253.     Both should now be auto-detected and operate correctly in text modes.
  2254.     Options adapter=egamono and adapter=hgc added.
  2255.   Fixed color L-Systems to not use color 0 (black).\
  2256.   PostScript printing fix.
  2257. ;
  2258. ~Topic=Versions 12 through 14
  2259.  
  2260. Version 14, 8/90
  2261.  
  2262.   LAST MINUTE NEWS FLASH!\
  2263.     CompuServe announces the GIF89a on August 1, 1990, and Fractint supports
  2264.     it on August 2! GIF files can now contain fractal information!  Fractint
  2265.     now saves its files in the new GIF89a format by default, and uses .GIF
  2266.     rather than .FRA as a default filetype.  Note that Fractint still
  2267.     *looks* for a .FRA file on file restores if it can't find a .GIF file,
  2268.     and can be coerced into using the old GIF87a format with the new
  2269.     'gif87a=yes' command-line option.
  2270.  
  2271.   Pieter Branderhorst mounted a major campaign to get his name in lights:\
  2272.   Mouse interface:  Diagonals, faster movement, improved feel. Mouse button
  2273.     assignments have changed - see the online help.
  2274.   Zoom box enhancements:  The zoom box can be rotated, stretched, skewed,
  2275.     and panned partially offscreen.  See "More Zoom Box Commands".
  2276.   FINALLY!! You asked for it and we (eventually, by talking Pieter into it
  2277.     [actually he grabbed it]) did it!  Images can be saved before
  2278.     completion, for a subsequent restore and continue.  See "Interrupting
  2279.     and Resuming" and "Batch Mode".
  2280.   Off-center symmetry:  Fractint now takes advantage of x or y axis symmetry
  2281.     anywhere on the screen to reduce drawing time.
  2282.   Panning:  If you move an image up, down, left, or right, and don't change
  2283.     anything else, only the new edges are calculated.
  2284.   Disk-video caching - it is now possible, reasonable even, to do most
  2285.     things with disk video, including solid guessing, 3d, and plasma.
  2286.   Logarithmic palette changed to use all colors.  It now matches regular
  2287.     palette except near the "lake".  "logmap=old" gets the old way.
  2288.   New "savetime=nnn" parameter to save checkpoints during long calculations.\
  2289.   Calculation time is shown in <Tab> display.
  2290.  
  2291.   Kevin C Allen    Finite Attractor, Bifurcation Engine, Magnetic fractals...\
  2292.   Made Bifurcation/Verhulst into a generalized Fractal Engine (like
  2293.     StandardFractal, but for Bifurcation types), and implemented periodicity
  2294.     checking for Bifurcation types to speed them up.
  2295.   Added Integer version of Verhulst Bifurcation (lots faster now). Integer
  2296.     is the default.  The Floating-Point toggle works, too.
  2297.   Added NEW Fractal types BIFLAMBDA, BIF+SINPI, and BIF=SINPI. These are
  2298.     Bifurcation types that make use of the new Engine. Floating-
  2299.     point/Integer toggle is available for BIFLAMBDA. The SINPI types are
  2300.     Floating-Point only, at this time.
  2301.   Corrected the generation of the MandelLambda Set.  Sorry, but it's always
  2302.     been wrong (up to v 12, at least).  Ask Mandelbrot !
  2303.   Added NEW Fractal types MAGNET1M, MAGNET1J, MAGNET2M, MAGNET2J from "The
  2304.     Beauty of Fractals".  Floating-Point only, so far, but what do you
  2305.     expect with THESE formulae ?!
  2306.   Added new symmetry types XAXIS NOIMAG and XAXIS NOREAL, required by the
  2307.     new MAGNETic Fractal types.
  2308.   Added Finite Attractor Bailout (FAB) logic to detect when iterations are
  2309.     approaching a known finite attractor. This is required by the new
  2310.     MAGNETic Fractal types.
  2311.   Added Finite Attractor Detection (FAD) logic which can be used by *SOME*
  2312.     Julia types prior to generating an image, to test for finite attractors,
  2313.     and find their values, for use by FAB logic. Can be used by the new
  2314.     MAGNETic Fractal Types, Lambda Sets, and some other Julia types too.
  2315.  
  2316.   Mike Burkey sent us new tweaked video modes:\
  2317.     VGA     - 400x600x256   376x564x256   400x564x256\
  2318.     ATI VGA - 832x612x256
  2319.   New HP Paintjet support from Chris Martin\
  2320.   New "FUNCTION=" command to allow substition of different transcendental
  2321.     functions for variables in types (allows one type with four of these
  2322.     variables to represent 7*7*7*7 different types!
  2323.   ALL KINDS of new fractal types, some using "FUNCTION=": fn(z*z), fn*fn,
  2324.     fn*z+z, fn+fn, sqr(1/fn), sqr(fn), spider, tetrate, and Manowar. Most of
  2325.     these are generalizations of formula fractal types contributed by Scott
  2326.     Taylor and Lee Skinner.
  2327.   Distance Estimator logic can now be applied to many fractal types using
  2328.     distest= option. The types "demm" and "demj" have been replaced by
  2329.     "type=mandel distest=nnn" and "type=julia distest=nnn"
  2330.   Added extended memory support for diskvideo thanks to Paul Varner\
  2331.   Added support for "center and magnification" format for corners.\
  2332.   Color 0 is no longer generated except when specifically requested with
  2333.     inside= or outside=.
  2334.   Formula name is now included in <Tab> display and in <S>aved images.\
  2335.   Bug fixes - formula type and diskvideo, batch file outside=-1 problem.\
  2336.   Now you can produce your favorite fractal terrains in full color instead
  2337.     of boring old monochrome! Use the fullcolor option in 3d! Along with a
  2338.     few new 3D options.
  2339.   New "INITORBIT=" command to allow alternate Mandelbrot set orbit
  2340.     initialization.
  2341.  
  2342.  
  2343. Version 13.0, 5/90
  2344.  
  2345.   F1 was made the help key.\
  2346.     Use F1 for help\
  2347.     Use F9 for EGA 320x200x16 video mode\
  2348.     Use CF4 for EGA 640x200x16 mode (if anybody uses that mode)\
  2349.   Super-Solid-guessing (three or more passes) from Pieter Branderhorst
  2350.     (replaces the old solid-guessing mode)
  2351.   Boundary Tracing option from David Guenther ("fractint passes=btm", or use
  2352.     the new 'x' options screen)
  2353.   "outside=nnn" option sets all points not "inside" the fractal to color
  2354.     "nnn" (and generates a two-color image).
  2355.   'x' option from the main menu brings up a full-screen menu of many popular
  2356.     options and toggle switches
  2357.   "Speed Key" feature for fractal type selection (either use the cursor keys
  2358.     for point-and-shoot, or just start typing the name of your favorite
  2359.     fractal type)
  2360.   "Attractor" fractals (Henon, Rossler, Pickover, Gingerbread)\
  2361.   Diffusion fractal type by Adrian Mariano\
  2362.   "type=formula" formulas from Scott Taylor and Lee H. Skinner.\
  2363.   "sound=" options for attractor fractals.  Sound=x  plays speaker tones
  2364.     according to the 'x' attractor value  Sound=y  plays speaker tones
  2365.     according to the 'y' attractor value.  Sound=z  plays speaker tones
  2366.     according to the 'z' attractor value  (These options are best invoked
  2367.     with the floating-point algorithm flag set.)
  2368.   "hertz=" option for adjusting the "sound=x/y/z" output.\
  2369.   Printer support for color printers (printer=color) from Kurt Sowa\
  2370.   Trident 4000 and Oak Technologies SuperVGA support from John Bridges\
  2371.   Improved 8514/A support (the zoom-box keeps up with the cursor keys now!)\
  2372.   Tandy 1000 640x200x16 mode from Brian Corbino (which does not, as yet,
  2373.     work with the F1(help) and TAB functions)
  2374.   The Julibrot fractal type and the Starmap option now automatically verify
  2375.     that they have been selected with a 256-color palette, and search for,
  2376.     and use, the appropriate GLASSESn.MAP or ALTERN.MAP palette map when
  2377.     invoked.  *You* were supposed to be doing that manually all along, but
  2378.     *you* probably never read the docs, huh?
  2379.   Bug Fixes:\
  2380.     TAB key now works after R(estore) commands\
  2381.     PS/2 Model 30 (MCGA) adapters should be able to select 320x200x256 mode
  2382.       again (we think)\
  2383.     Everex video adapters should work with the Autodetect modes again (we
  2384.       think)
  2385.  
  2386.  
  2387. Version 12.0, 3/90
  2388.  
  2389.   New SuperVGA Autodetecting and VESA Video modes (you tell us the
  2390.     resolution you want, and we'll figure out how to do it)
  2391.   New Full-Screen Entry for most prompting\
  2392.   New Fractal formula interpreter ('type=formula') - roll your own fractals
  2393.     without using a "C" compiler!
  2394.   New 'Julibrot' fractal type\
  2395.   Added floating point option to all remaining fractal types.\
  2396.   Real (funny glasses) 3D - Now with "real-time" lorenz3D!!\
  2397.   Non-Destructive <TAB> - Check out what your fractal parameters are without
  2398.     stopping the generation of a fractal image
  2399.   New Cross-Hair mode for changing individual palette colors (VGA only)\
  2400.   Zooming beyond the limits of Integer algorithms (with automatic switchover
  2401.     to a floating-point algorithm when you zoom in "too far")
  2402.   New 'inside=bof60', 'inside=bof61' ("Beauty of Fractals, Page nn") options\
  2403.   New starmap ('a' - for astrology? astronomy?) transformation option\
  2404.   Restrictions on the options available when using Expanded Memory
  2405.     "Disk/RAM" video mode have been removed
  2406.   And a lot of other nice little clean-up features that we've already
  2407.     forgotten that we've added...
  2408.   Added capability to create 3D projection images (just barely) for people
  2409.     with 2 or 4 color video boards.
  2410. ;
  2411. ~Topic=Versions  1 through 11
  2412.  
  2413. Version 11.0, 1/90
  2414.  
  2415.   More fractal types\
  2416.     mandelsinh/lambdasinh        mandelcosh/lambdacosh\
  2417.     mansinzsqrd/julsinzsqrd      mansinexp/julsinexp\
  2418.     manzzprw/julzzpwr            manzpower/julzpower\
  2419.     lorenz (from Rob Beyer)      lorenz3d\
  2420.     complexnewton                complexbasin\
  2421.     dynamic                      popcorn\
  2422.   Most fractal types given an integer and a floating point algorithm.
  2423.     "Float=yes" option now determines whether integer or floating-point
  2424.     algorithms are used for most fractal types.  "F" command toggles the use
  2425.     of floating-point algorithms, flagged in the <Tab> status display
  2426.   8/16/32/../256-Way decomposition option (from Richard Finegold)\
  2427.   "Biomorph=", "bailout=", "symmetry="  and "askvideo=" options\
  2428.   "T(ransform)" option in the IFS editor lets you select 3D options (used
  2429.     with the Lorenz3D fractal type)
  2430.   The "T(ype)" command uses a new "Point-and-Shoot" method of selecting
  2431.     fractal types rather than prompting you for a type name
  2432.   Bug fixes to continuous-potential algorithm on integer fractals, GIF
  2433.     encoder, and IFS editor
  2434.  
  2435.  
  2436. Version 10.0, 11/89
  2437.  
  2438.   Barnsley IFS type (Rob Beyer)\
  2439.   Barnsley IFS3D type\
  2440.   MandelSine/Cos/Exp type\
  2441.   MandelLambda/MarksLambda/Unity type\
  2442.   BarnsleyM1/J1/M2/J2/M3/J3 type\
  2443.   Mandel4/Julia4 type\
  2444.   Sierpinski gasket type\
  2445.   Demm/Demj and bifurcation types (Phil Wilson), "test" is "mandel" again\
  2446.   <I>nversion command for most fractal types\
  2447.   <Q>uaternary decomposition toggle and "DECOMP=" argument\
  2448.   <E>ditor for Barnsley IFS parameters\
  2449.   Command-line options for 3D parameters\
  2450.   Spherical 3D calculations 5x faster\
  2451.   3D now clips properly to screen edges and works at extreme perspective\
  2452.   "RSEED=" argument for reproducible plasma clouds\
  2453.   Faster plasma clouds (by 40% on a 386)\
  2454.   Sensitivity to "continuous potential" algorithm for all types except
  2455.     plasma and IFS
  2456.   Palette-map <S>ave and Restore (<M>) commands\
  2457.   <L>ogarithmic and <N>ormal palette-mapping commands and arguments\
  2458.   Maxiter increased to 32,000 to support log palette maps\
  2459.   .MAP and .IFS files can now reside anywhere along the DOS path\
  2460.   Direct-video support for Hercules adapters (Dean Souleles)\
  2461.   Tandy 1000 160x200x16 mode (Tom Price)\
  2462.   320x400x256 register-compatible-VGA "tweaked" mode\
  2463.   ATI VGA Wonder 1024x768x16 direct-video mode (Mark Peterson)\
  2464.   1024x768x16 direct-video mode for all supported chipsets\
  2465.   Tseng 640x400x256 mode\
  2466.   "Roll-your-own" video mode 19\
  2467.   New video-table "hot-keys" eliminate need for enhanced keyboard to access
  2468.     later entries
  2469.  
  2470.  
  2471. Version 9.3, 8/89
  2472.  
  2473.   <P>rint command and "PRINTER=" argument (Matt Saucier)\
  2474.   8514/A video modes (Kyle Powell)\
  2475.   SSTOOLS.INI sensitivity and '@THISFILE' argument\
  2476.   Continuous-potential algorithm for Mandelbrot/Julia sets\
  2477.   Light source 3D option for all fractal types\
  2478.   "Distance estimator" M/J method (Phil Wilson) implemented as "test" type\
  2479.   LambdaCosine and LambdaExponent types\
  2480.   Color cycling mode for 640x350x16 EGA adapters\
  2481.   Plasma clouds for 16-color and 4-color video modes\
  2482.   Improved TARGA support (Joe McLain)\
  2483.   CGA modes now use direct-video read/writes\
  2484.   Tandy 1000 320x200x16 and 640x200x4 modes (Tom Price)\
  2485.   TRIDENT chip-set super-VGA video modes (Lew Ramsey)\
  2486.   Direct-access video modes for TRIDENT, Chips & Technologies, and ATI VGA
  2487.     WONDER adapters (John Bridges). and, unlike version 9.1, they WORK in
  2488.     version 9.3!)
  2489.   "zoom-out" (<Ctrl><Enter>) command\
  2490.   <D>os command for shelling out\
  2491.   2/4/16-color Disk/RAM video mode capability and 2-color video modes
  2492.     supporting full-page printer graphics
  2493.   "INSIDE=-1" option (treated dynamically as "INSIDE=maxiter")\
  2494.   Improved <H>elp and sound routines (even a "SOUND=off" argument)\
  2495.   Turbo-C and TASM compatibility (really!  Would we lie to you?)
  2496.  
  2497.  
  2498. Version 8.1, 6/89
  2499.  
  2500.   <3>D restore-from-disk and 3D <O>verlay commands, "3D=" argument\
  2501.   Fast Newton algorithm including inversion option (Lee Crocker)\
  2502.   16-bit Mandelbrot/Julia logic for 386-class speed with non-386 PCs on
  2503.     "large" images (Mark Peterson)
  2504.   Restore now loads .GIF files (as plasma clouds)\
  2505.   TARGA video modes and color-map file options (Joe McLain)\
  2506.   30 new color-cycling palette options (<Shft><F1> to <Alt><F10>)\
  2507.   "Disk-video, RAM-video, EMS-video" modes\
  2508.   Lambda sets now use integer math (with 80386 speedups)\
  2509.   "WARN=yes" argument to prevent over-writing old .GIF files
  2510.  
  2511.  
  2512. Version 7.0, 4/89
  2513.  
  2514.   Restore from disk (from prior save-to-disk using v. 7.0 or later)\
  2515.   New types: Newton, Lambda, Mandelfp, Juliafp, Plasma, Lambdasine\
  2516.   Many new color-cycling options (for VGA adapters only)\
  2517.   New periodicity logic (Mark Peterson)\
  2518.   Initial displays recognize (and use) symmetry\
  2519.   Solid-guessing option (now the default)\
  2520.   Context-sensitive <H>elp\
  2521.   Customizable video mode configuration file (FRACTINT.CFG)\
  2522.   "Batch mode" option\
  2523.   Improved super-VGA support (with direct video read/writes)\
  2524.   Non-standard 360 x 480 x 256 color mode on a STANDARD IBM VGA!
  2525.  
  2526.  
  2527. Version 6.0, 2/89
  2528.  
  2529.   32-bit integer math emulated for non-386 processors; FRACT386 renamed
  2530.     FRACTINT
  2531.   More video modes
  2532.  
  2533.  
  2534. Version 5.1, 1/89
  2535.  
  2536.   Save to disk\
  2537.   New! Improved! (and Incompatible!) optional arguments format\
  2538.   "Correct" initial image aspect ratio\
  2539.   More video modes
  2540.  
  2541.  
  2542. Version 4.0, 12/88
  2543.  
  2544.   Mouse support (Mike Kaufman)\
  2545.   Dynamic iteration limits\
  2546.   Color cycling\
  2547.   Dual-pass mode\
  2548.   More video modes, including "tweaked" modes for IBM VGA and register-
  2549.     compatible adapters
  2550.  
  2551.  
  2552. Version 3.1, 11/88
  2553.  
  2554.   Julia sets
  2555.  
  2556.  
  2557. Version 2.1, 10/23/88 (the "debut" on CIS)
  2558.  
  2559.   Video table\
  2560.   CPU type detector
  2561.  
  2562.  
  2563. Version 2.0, 10/10/88
  2564.  
  2565.   Zoom and pan
  2566.  
  2567.  
  2568. Version 1.0, 9/88
  2569.  
  2570.   The original, blindingly fast, 386-specific 32-bit integer algorithm
  2571. ;
  2572. ;
  2573. ;
  2574. ~Topic=Version13 to 14 Conversion
  2575.  
  2576. A number of types in Fractint version 13 and earlier were generalized in
  2577. version 14. We added a "backward compatibility" hook that (hopefully)
  2578. automatically translates these to the new form when the old files are
  2579. read. Files may be converted via:
  2580.  
  2581.    FRACTINT OLDFILE.FRA SAVENAME=NEWFILE.GIF BATCH=YES
  2582.  
  2583. In a few cases the biomorph flag was incorrectly set in older files.  In
  2584. that case, add "biomorph=no" to the command line.
  2585.  
  2586. This procedure can also be used to convert any *.fra file to the new
  2587. GIF89a spec, which now allows storage of fractal information.
  2588.  
  2589.  
  2590. ~Format-
  2591. TYPES CHANGED FROM VERSION 13 -
  2592.  
  2593.  
  2594. V13 NAME                V14 NAME + PARAMETERS
  2595. --------                --------------------------------------
  2596.  
  2597. LOGMAP=YES              LOGMAP=OLD   for identical Logmap type
  2598.  
  2599. DEMJ                    JULIA DISTEST=nnn
  2600.  
  2601. DEMM                    MANDEL DISTEST=nnn
  2602.  
  2603.                         Note: DISTEST also available on many other types
  2604.  
  2605. MANSINEXP               MANFN+EXP FUNCTION=SIN
  2606.  
  2607.                         Note: New functions for this type are
  2608.                               cos sinh cosh exp log sqr
  2609.  
  2610. JULSINEXP               JULFN+EXP FUNCTION=SIN
  2611.  
  2612.                         Note: New functions for this type are
  2613.                               cos sinh cosh exp log sqr
  2614.  
  2615. MANSINZSQRD             MANFN+ZSQRD FUNCTION=SQR/SIN
  2616.  
  2617.                         Note: New functions for this type are
  2618.                               cos sinh cosh exp log sqr
  2619.  
  2620. JULSINZSQRD             JULFN+ZSQRD FUNCTION=SQR/SIN
  2621.  
  2622.                         Note: New functions for this type are
  2623.                               cos sinh cosh exp log sqr
  2624.  
  2625. LAMBDACOS               LAMBDAFN FUNCTION=COS
  2626.  
  2627. LAMBDACOSH              LAMBDAFN FUNCTION=COSH
  2628.  
  2629. LAMBDAEXP               LAMBDAFN FUNCTION=EXP
  2630.  
  2631. LAMBDASINE              LAMBDAFN FUNCTION=SIN
  2632.  
  2633. LAMBDASINH              LAMBDAFN FUNCTION=SINH
  2634.  
  2635.                         Note: New functions for this type are
  2636.                               log sqr
  2637.  
  2638. MANDELCOS               MANDELFN FUNCTION=COS
  2639.  
  2640. MANDELCOSH              MANDELFN FUNCTION=COSH
  2641.  
  2642. MANDELEXP               MANDELFN FUNCTION=EXP
  2643.  
  2644. MANDELSINE              MANDELFN FUNCTION=SIN
  2645.  
  2646. MANDELSINH              MANDELFN FUNCTION=SINH
  2647.  
  2648.                         Note: New functions for this type are
  2649.                               log sqr
  2650.  
  2651. MANDELLAMBDA            MANDELLAMBDA INITORBIT=PIXEL
  2652.  
  2653. POPCORN SYMMETRY=NONE   POPCORNJUL
  2654.  
  2655. -------------------------------------------------------------
  2656.  
  2657. Formulas from FRACTINT.FRM in version 13
  2658.  
  2659. MANDELGLASS             MANDELLAMBDA INITORBIT=.5/0
  2660.  
  2661. INVMANDEL               V13 divide bug may cause some image differences.
  2662.  
  2663. NEWTON4                 V13 divide bug may cause some image differences.
  2664.  
  2665. SPIDER                  V13 divide bug may cause some image differences.
  2666.  
  2667. MANDELSINE              MANDELFN FUNCTION=SIN BAILOUT=50
  2668.  
  2669. MANDELCOSINE            MANDELFN FUNCTION=COS BAILOUT=50
  2670.  
  2671. MANDELHYPSINE           MANDELFN FUNCTION=SINH BAILOUT=50
  2672.  
  2673. MANDELHYPCOSINE         MANDELFN FUNCTION=COSH BAILOUT=50
  2674.  
  2675. SCOTTSIN PARAMS=nnn     FN+FN FUNCTION=SIN/SQR BAILOUT=nnn+3
  2676.  
  2677. SCOTTSINH PARAMS=nnn    FN+FN FUNCTION=SINH/SQR BAILOUT=nnn+3
  2678.  
  2679. SCOTTCOS PARAMS=nnn     FN+FN FUNCTION=COS/SQR BAILOUT=nnn+3
  2680.  
  2681. SCOTTCOSH PARAMS=nnn    FN+FN FUNCTION=COSH/SQR BAILOUT=nnn+3
  2682.  
  2683. SCOTTLPC PARAMS=nnn     FN+FN FUNCTION=LOG/COS BAILOUT=nnn+3
  2684.  
  2685. SCOTTLPS PARAMS=nnn     FN+FN FUNCTION=LOG/SIN BAILOUT=nnn+3
  2686.                         Note: New functions for this type are
  2687.                         sin/sin sin/cos sin/sinh sin/cosh sin/exp
  2688.                         cos/cos cos/sinh cos/cosh cos/exp
  2689.                         sinh/sinh sinh/cosh sinh/exp sinh/log
  2690.                         cosh/cosh cosh/exp cosh/log
  2691.                         exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
  2692.  
  2693. SCOTTSZSA PARAMS=nnn    FN(Z*Z) FUNCTION=SIN BAILOUT=nnn+3
  2694.  
  2695. SCOTTCZSA PARAMS=nnn    FN(Z*Z) FUNCTION=COS BAILOUT=nnn+3
  2696.  
  2697.                         Note: New functions for this type are
  2698.                         sinh cosh exp log sqr
  2699.  
  2700. SCOTTZSZZ PARAMS=nnn    FN*Z+Z FUNCTION=SIN BAILOUT=nnn+3
  2701.  
  2702. SCOTTZCZZ PARAMS=nnn    FN*Z+Z FUNCTION=COS BAILOUT=nnn+3
  2703.  
  2704.                         Note: New functions for this type are
  2705.                         sinh cosh exp log sqr
  2706.  
  2707. SCOTTSZSB PARAMS=nnn    FN*FN FUNCTION=SIN/SIN BAILOUT=nnn+3
  2708.  
  2709. SCOTTCZSB PARAMS=nnn    FN*FN FUNCTION=COS/COS BAILOUT=nnn+3
  2710.  
  2711. SCOTTLTS PARAMS=nnn     FN*FN FUNCTION=LOG/SIN BAILOUT=nnn+3
  2712.  
  2713. SCOTTLTC PARAMS=nnn     FN*FN FUNCTION=LOG/COS BAILOUT=nnn+3
  2714.  
  2715.                         Note: New functions for this type are
  2716.                         sin/cos sin/sinh sin/cosh sin/exp sin/sqr
  2717.                         cos/sinh cos/cosh cos/exp cos/sqr
  2718.                         sinh/sinh sinh/cosh sinh/exp sinh/log sinh/sqr
  2719.                         cosh/cosh cosh/exp cosh/log cosh/sqr
  2720.                         exp/exp exp/log exp/sqr log/log log/sqr sqr/sqr
  2721.  
  2722. SCOTTSIC PARAMS=nnn     SQR(1/FN) FUNCTION=COS BAILOUT=nnn+3
  2723.  
  2724. SCOTTSIS PARAMS=nnn     SQR(1/FN) FUNCTION=SIN BAILOUT=nnn+3
  2725.  
  2726. TETRATE PARAMS=nnn      TETRATE BAILOUT=nnn+3
  2727.  
  2728.                         Note: New function type sqr(1/fn) with
  2729.                               sin cos sinh cosh exp log sqr
  2730.  
  2731.                         Note: New function type sqr(fn) with
  2732.                               sin cos sinh cosh exp log sqr
  2733. ~Format+
  2734. ;
  2735. ;
  2736. ~Data=INTRO_AUTHORS
  2737. ;
  2738. ; FRACTINT intro screen primary authors
  2739. ;
  2740.  Current Primary Authors
  2741.  Bert Tyler       [73477,433] (CompuServe) 73477.433@compuserve.com (Internet)
  2742.  Timothy Wegner   [71320,675]              twegner@phoenix.net
  2743.  Jonathan Osuch   [73277,1432]             73277.1432@compuserve.com
  2744.  Wesley Loewer                             loewer@tenet.edu
  2745.  Contributing Authors
  2746.  
  2747.  
  2748. ; room for 14 authors at a time here
  2749.  
  2750.  
  2751.  
  2752.  
  2753.  
  2754.  
  2755.  
  2756.  
  2757.  
  2758.  
  2759.  
  2760.  
  2761.  SPACEBAR toggles scrolling off/on
  2762.    Copyright (C) 1990-95 The Stone Soup Group.  Fractint may be freely copied
  2763.    and distributed but may not be sold.  See help for more information.
  2764. ;
  2765. ;
  2766. ;
  2767. ~Data=INTRO_CREDITS
  2768. ;
  2769. ; FRACTINT intro screen contributing authors.
  2770. ;
  2771.                   ...
  2772.  Michael Abrash   360x480x256, 320x400x256 VGA video modes
  2773.  Joseph Albrecht  Tandy video, CGA video speedup
  2774.  Kevin Allen      kevina@microsoft.com Finite attractor, bifurcation engine
  2775.  Steve Bennett    restore-from-disk logic
  2776.  Rob Beyer        [71021,2074] Barnsley IFS, Lorenz fractals
  2777.  Francois Blais   [70700,446] Lyapunov Fractals, LYAPUNOV.MAP
  2778.  Dennis Bragg     [75300,2456] DXF Raytracing output option
  2779.  Pieter Branderhorst Past main author, solid guessing, menus
  2780.  Juan J. Buhler   jbuhler@gidef.edu.ar Diffusion options, inverse Julia type 
  2781.  Mike Burkey      376x564x256, 400x564x256, and 832x612x256 VGA video modes
  2782.  Robin Bussell    Palette-editor "freestyle" option, "browser" feature
  2783.  John Bridges     [75300,2137] superVGA support, 360x480x256 mode
  2784.  Fulvio Cappelli  [100025,1507] ants options and speedup
  2785.  Brian Corbino    [71611,702] Tandy 1000 640x200x16 video mode
  2786.  Lee Crocker      lcrocker@netcom.com Fast Newton, Inversion, Decomposition..
  2787.  Monte Davis      [71450,3542] Documentation
  2788.  Paul De Leeuw    RDS (Random Dot Stereogram) Feature
  2789.  Chuck Ebbert     [76306,1226] cmprsd & sqrt logmap, fpu speedups, fast parser
  2790.  Dan Farmer       [74431,1075] orbits enhancements
  2791.  Richard Finegold [76701,153] 8/16/../256-Way Decomposition option
  2792.  Frank Fussenegger Mandelbrot speedups
  2793.  Mike Gelvin      [73337,520] Mandelbrot speedups
  2794.  Luciano Genero   ants options and speedup
  2795.  Lawrence Gozum   [73437,2372] Tseng 640x400x256 Video Mode
  2796.  David Guenther   [70531,3525] Boundary Tracing algorithm
  2797.  Norman Hills     [71621,1352] Ranges option
  2798.  Richard Hughes   [70461,3272] "inside=", "outside=" coloring options
  2799.  Mike Kaufman     [kaufman@eecs.nwu.edu] mouse support, other features
  2800.  Adrian Mariano   [adrian@u.washington.edu] Diffusion & L-Systems
  2801.  Charles Marslett [75300,1636] VESA video and IIT math chip support
  2802.  Joe McLain       [75066,1257] TARGA Support, color-map files
  2803.  Bob Montgomery   [73357,3140] (Author of VPIC) Fast text I/O routines
  2804.  Bret Mulvey      plasma clouds
  2805.  Roy Murphy       [76376,721] Lyapunov Fractals
  2806.  Ethan Nagel      [70022,2552] Palette editor, integrated help/doc system
  2807.  Yavuz Onder      yavuz@bnr.ca Postscript printer driver
  2808.  Mark Peterson    [73642,1775] Past main author, parser, julibrot
  2809.  Kyle Powell      [76704,12] 8514/A Support
  2810.  Marc Reinig      [72410,77] Lots of 3D options
  2811.  Matt Saucier     [72371,3101] Printer Support
  2812.  Herb Savage      [75260,217] 'inside=bof60', 'inside=bof61' options
  2813.  Ken Shirriff     shirriff@sprite.berkeley.edu Quaternions, CA, Xfract port
  2814.  Lee Skinner      [75450,3631] Tetrate fractal types and more
  2815.  Michael Snyder   [75300,642] julia inverse and Julia-In-A-Window using MIIM
  2816.  Dean Souleles    [75115,1671] Hercules Support
  2817.  Kurt Sowa        [73467,2013] Color Printer Support
  2818.  Hugh Steele      cyclerange feature
  2819.  John Swenson     [75300,2136] Postscript printer features
  2820.  Chris Taylor     Floating&Fixed-point algorithm speedups, Tesseral Option
  2821.  Scott Taylor     [72401,410] PostScript, Kam Torus, many fn types.
  2822.  Bill Townsend    Mandelbrot Speedups
  2823.  Paul Varner      [73237,441] Extended Memory support for Disk Video
  2824.  Dave Warker      Integer Mandelbrot Fractals concept
  2825.  Aaron Williams   Register-compatible 8514/A code
  2826.  Phil Wilson      [76247,3145] Distance Estimator, Bifurcation fractals
  2827.  Nicholas Wilt    Lsystem speedups
  2828.  Richard Wilton   Tweaked VGA Video modes
  2829. ; Byte Magazine   Tweaked VGA Modes
  2830. ; MS-Kermit       Keyboard Routines
  2831. ; PC Magazine     Sound Routines
  2832. ; PC Tech Journal  CPU, FPU Detectors
  2833. ;
  2834. ;
  2835.