New Features in 20.4.X This is a developer's "incremental" release. These incremental releases typically have a short life and are updated frequently. They may have bug fixes, and thus be more stable, but they may also have new features which very likely have new bugs. Version 20.4.14 is an update of Fractint 20.0 based on the developer's version 20.4.13. New features include: Patch 14 to Version 20.4.0 Re-fixed the formula type buffer overflow in Xfractint. Fixed savetime=y to work with Xfractint. Patch 13 to Version 20.4.0 Fixed buffer overflow in Xfractint which was causing a segmentation fault when the formula parser tried to load a formula that was too large. Updated formula parser in Xfractint to use the long double type. Fixed sqrt_bf() function. Patch 12 to Version 20.4.0 Fixed buffer overflow in disk video mode when savename was too long. Patch 11 to Version 20.4.0 Fixed creation of sound PARs so that the sound= parameter appears after any other sound related parameters. Fixed sound related PARs in fract200.par. Fixed turning off sound when an image with sound is completed. Marcus Pallinger provided changes to allow compiling Xfractint on an Intel Mac. Fixed Xfractint version DivideBrot5 fractal type broken with patch 10. Fixed Xfractint ncurses interface broken with patch 10. Added a pause to the sound options via the use of the scalemap feature. Allowed scalemap value of 0 in PAR entries. Patch 10 to Version 20.4.0 Fixed WinFract resetting palette when parameters are changed with the , , , or screens. Fixed usage of shift and control keys in Xfractint. Added sanity checks in Xfractint parser functions. Fixed long standing bug in Xfractint that occurred when a PAR was invoked from the command line. Increased the WinFract maximum image size to 4096x4096 pixels. Your mileage may vary depending upon how much memory Windows can allocate. But remember that above 2048x2048 passes=1 is forced. Fixed bug in the cvtcentermagbf() routine that was introduced some time prior to version 19.6. This fixes the problem that was occurring when rotating ap math images by 90 degrees. Fixed buffer overflow in Xfractint that occurred when changing directories. Patch 9 to Version 20.4.0 Added new Fractal type DivideBrot5 by Jim Muth. This Fractal type has AP math support. Note that image skewing and inversion are not supported by the AP math routines. See {Arbitrary Precision and Deep Zooming} for other features not supported. Fixed several obscure bugs in the AP math. Added MakeFile changes from Michal Januszewski (xfractint maintainer in Gentoo Linux) to increase distribution compatibility. Patch 8 to Version 20.4.0 Fixed a bug in the virtual video code where the screen width was being reduced when going from a text screen back to the graphics screen. Revised logic that calculates the maximum X and Y resolutions possible with a given initial virtual screen size. Because of the variable type being used, the maximum size is 32767 even if sufficient video memory is available to support higher resolutions. Added back in code that forces passes=1 when either the X or Y resolution is greater than 2048. This was inadvertently removed with patch 5, and is needed because other passes= options are hard coded to use arrays of this size. Xfractint changes: Jean-Pierre Demailly provided extensive changes to eliminate the use of ncurses with Xfractint and also updated the MakeFile. Included a patch from Andrew Church and the people at Gentoo that fixes a filename buffer overflow that affected the help compiler. Also included their xioerror patch. Fixed a seg fault in Xfractint caused by not unstacking all the screens before exiting. Removed the shell-to-DOS option in Xfractint. Patch 7 to Version 20.4.0 Added feature to write the base map name to the first line of the file when a map file is saved and the only change has been a rotation of the palette. The base map name is then read in and used as the current map name when the new map file is restored. The recordcolors=comment command line option has been modified to not create a comment line in PARs. Two colors= entries are now created with the first one in the format colors=@fname.map and the second in the format colors=000<24>0n0...010. When a PAR entry is read, the first colors= sets the map name, and the second colors= effectively rotates the colors. Updated the Xfractint Makefile to install using sudo instead of as root. Patch 6 to Version 20.4.0 Added Per Image Settings to the formula parser. When initially selected from the fractal type formula screen, the symmetry and any per image settings are enforced. The per image settings will be saved to PARs and GIFs, and can be changed from the appropriate screen. The possible values for per image settings are the same as the parameters that appear in PAR files, with the exception of 'params='. Params can't be set in the per image settings section, because they get set to zero when the formula is parsed. Patch 5 to Version 20.4.0 Tim's changes (5/29/2006) Moved version 20.0 change history to revision history to make room in help.src. Changed help screen to show just two main authors - decided better not to show inactive authors. Removed commented out complex macros in fractals.c. Added commented out bf version of Mandelbrot in fractalp.c. Giving thought to offerring bfmath as an option to bnmath, but if we fix the current bignum problems, this may be moot. Added interation to screen. Jonathan's changes Fixed the logic for calculating when to switch from using a grid to using the on-the-fly calculation of an image's pixels. The logic was not handling disk video images sized above 2048x2048 with floating point enabled. Added the savename to the disk video status screen. Fixed bug in the compare routine of bn_math that fixes long standing problem with periodicity checking in deep zoomed images. Resurrected the documentation for ap_math that was at the beginning of bignum.c. Added code to force periodicity=0 when the inside=atan feature is used. Patch 4 to Version 20.4.0 Added minor changes so that Xfractint would compile under Cygwin. Added lines to the Xfractint makefile (commented out) for compiling in a 64-bit environment. Fixed Xfractint so that built in calls to a different map file would work. Modified the logic for calculating when to switch from using a grid to using the on-the-fly calculation of an image's pixels. This affects how large an image can be made when using integer math. The switch is now made when (xdots + ydots) * sizeof(long) > 32768. Pulled the WinFract version 18.21 source into the CVS repository source tree. This code now runs but still has many many bugs. Patch 3 to Version 20.4.0 Started the cleanup of the docs. Cleaned up the map directory. Fixed the Xfractint Makefile so that install would run. Added an uninstall. Fixed Xfractint so that it can be run from an arbitrary directory and still use the directory settings in sstools.ini. Patch 2 to Version 20.4.0 Fixed the display coordinates so they won't change, after an image had been zoomed, when the maintain screen coordinates parameter is set to yes. Fixed the corner parameter screen and image parameter screen so that rotating and/or skewing now doesn't get reset when changes are made. Patch 1 to Version 20.4.0 Added the mathtolerance and orbit_delay parameters to values written to PARs and GIFs. Fixed how a mathtolerance parameter with a slash and a second number, but no first number is read in. The slash was being interpreted as a double. Stole the

key for use by passes options. If you are brave enough to try it, printing is still available using . Put periodicity and orbit delay on the new

screen. There are currently two drawing modes available for the passes=orbits option. The rect(angle) method plots the orbits in a rectangle that can be zoomed, rotated, and skewed using the corner parameter screen, and the straight line method plots the orbits between two points specified on the corner parameter screen. The orbit interval parameter plots every nth orbit. The maintain screen coordinates parameter lets you zoom into an image changing the coordinates of the line or rectangle used to generate the image, but keeps the display coordinates, set on the screen, the same. Updated the docs for center-mag and corners because center-mag is now the default. Restructured the source to make it easier to maintain. Version 20.4.0 Incremented the version number to accommodate backwards compatibility for the mandel based per-pixel routines that were not setting the Y variable. Added a passes=o option that draws an image by plotting the orbits of the escape time fractals and leaving them on the screen. This technique uses the same coordinates to draw an image as the other passes options, sets "passes=1" and no symmetry, and then plots the orbits for each pixel. See {Drawing Method}. Cleaned up panning logic. Cleaned up docs. Xfractint fixes: Fixed the newton and newtbasin types in Xfractint so they would work without using the FPU=387 option. Fixed the Xfractint mandelbrot code in calmanfp.c so that the image generated matched the one produced by the StandardFractal() routine. Fixed the outside=sum option when used with the mandel fractal type. Fixed the command line option -geometry, which broke at 20.2.05. Patch 2 to Version 20.3.0 Fixed the inability to reload a PAR created from an arbitrary precision fractal with a large magnification. Fixed the problem with a left mouse click not bringing up the zoom box after an image is completed. Incorporated Gerald Dobiasovsky's fix for the julibrot type when used with quat and hypercomplex. Fixed the display of subdirectories in Xfractint. Replaced control characters in realdos.c with the equivalent ascii values to quiet complaints by CVS. Patch 1 Fixed the float bailout for the lambdafn fractal type when the EXP function is used so the float and integer images match. Jan Andres contributed Xfractint fixes that allow compiling with newer versions of gcc because varargs.h is no longer supported. Enabled the use of the long double type on Solaris. Moved the getwd() macro definition in prompts1.c after the #include lines, to avoid the mess that happens when the prototype for getwd() is included but it's already defined as a macro. Added some Solaris-specific comments to the Makefile. Fixed the sound in Xfractint so the beep turns off now. Changed lsys.c to use inline1 instead of the reserved word inline. Version 20.3.0 Incremented the version number to accommodate backwards compatibility for the inside=atan and outside=atan options. Fixed inside=atan and outside=atan to use the full color palette instead of limiting to 180 colors. Added Charlie Chernohorsky's virtual screen zoombox fix. See {View Window}. Added Gerald Dobiasovsky's fixes for the demo key files needed because of menu prompt changes and pan/zoom size changes. Fixed evolver parameter entry. Fixed hypercomplex fractal type to turn off symmetry when a cj parameter is used. Fixed the plasma type to show the value of the parameter that is actually used in the image genaration. Fixed the plasma type so that a parameter file uses the colors included in the parameter entry instead of the default colors. Revised the plasma type prompt to reflect the values that can actually be used. Increased the Lsystem line length from 160 characters to 255 characters. Fixed the browser so that it recognized the fractal type stored in images. Fixed the Xfractint FPUcplxdiv and FPUcplxlog routines in fpu087.c to match the Fractint assembler code. Modified the Xfractint resume code to remove the Xfractint specific sections since they are no longer needed (gcc macros match MSC macros). Patch 5 to Version 20.2.0 Made changes to allow Xfractint to find files that use upper case letters. Fixed a problem with the Cellular type that prevented entering an initial row of greater than 32767 from working. Added a message about not being able to resume after interrupting prior to rows being displayed on screen. Fixed an evolver bug which caused setting evolver parameters to turn evolving on, even though evolving was actually turned off. Added Charlie Chernohorsky's truecolor speed up and his implementation of virtual screen sizes for the VESA modes (dotmode=28). This feature does not work consistently between different video cards, so it may be turned off by using the startup command "virtual=n". Use the screen to set the desired virtual screen size. See {View Window}. Please remember that if either X or Y is greater than 2048, solid guessing is turned off. This is for multiple reasons, so it is likely it will NOT get fixed soon. There is also a problem with the colorbars that appear when saving an image leaving bits of corruption on the screen. This occurs in all the VESA truecolor modes. Added Charlie to the scrolling list of contributors. Added Charlie's fix for the l-system type which occurred when a push-pop combination was on two different lines. Fixed the PAGE-UP/PAGE-DN zoombox in Xfractint so that it now appears on the screen. Fixed ranges= in Xfractint so GIFs save correctly and program doesn't end abruptly. Patch 4 Updated Paul de Leeuw's contact information. Modified the Xfractint makefile and source files to allow compiling without an assembler. Patch 3 This patch ran the Xfractint code through -Wall to clear up most of the warnings. Updated the Xfractint man page. Turned on compiler optimizations. Fixed the documentation for the Latoocarfian fractal type thanks to comments by Pierre Desjardins on the Fractint Bug List. Patch 2 This patch adds the assembly language version of the mandelbrot code to Xfractint. To use it, it is necessary to place the command line switch fpu=387 in your sstools.ini file. The NASM assembler was used, but if you don't have it available, not to worry, the object file is included. Modified the Xfractint C mandelbrot code to match the assembly version. Patch 1 Made a small change to the quickcalc logic used to recalculate the inside pixels only when the iteration count is increased with a completed image. Interrupting and resuming the calculation was leaving extra pixels on the screen. Patched the Xfractint fractint.h file to match the DOS version. Fixed an Xfractint problem with color depths greater than 16 bits per pixel. Version 20.2.0 Incremented the version number to accommodate backwards compatibility for the logmap option. Modified the logmap routine so that the color with index # 2 would be displayed. Added a logmode=auto command line option that causes the logmap to adjust automatically when zooming. Changing almost anything will turn this feature off. It is best set using the screen prompt. Edited the help docs to document the move of the development area from Compuserve to the web. Patch 13 to Version 20.1.0 Added parameters p4 and p5 to the evolver. This required splitting the tweak central screen into two pages. Fixed an evolver bug that was causing the evolver to not exit cleanly. Changed the compile options on evolve.c to eliminate aliasing, which started to cause problems with this patch. Patch 12 Fixed a problem with a finished image not redrawing if the maxiter was increased and another parameter was changed. Added checks for p3, p4, and p5 to the browser for determining similar images. Updated Scott Boyd's email address. Xfractint fixes: Fixed the command line -disk segmentation fault. Fixed the Shell to Linux/Unix segmentation fault and the displayed prompt. Fixed the bug causing colors= data to be incorrect when in a truecolor mode. Removed or commented out extra lines of code and some experimental routines. Some of this code was stealing key strokes. Changed the prompt for getting to the second screen. Patch 11 Fixed a bug that caused a panned image to miss part of a line when the image was panned while the first row was being generated. Adjusted the time for keyboard checks when the showdot feature is used. Now the iterations stop much quicker when a key is pressed. Fixed a problem with the float-only version that appeared when an incomplete image was saved and restarted in the standard version. Fixed a problem in Xfractint pointed out by Ken on the Fractint bug list. Patch 10 Took out a sanity check in the VESA detection routines that certain graphics cards don't pass, but work fine anyway. Patch 9 Fixed evolver bug that occurred when some formula functions were evolved and others were not being evolved. Fixed a bug in the float-only version which truncated the image coordinates when saved to a PAR. Patch 8 Added truecolor support to Fractint thanks to Bert Tyler. While in a truecolor mode, the following features are disabled/changed:\ Color Cycling\ Palette Editor brings up the contents of the MAP directory\ Saving the image still only produces a 256 color GIF\ Removed Bert's truecolor test code used with the test fractal type. Updated Paul de Leeuw's contact information. Patch 7 Fixed a bug which caused the float only version to omit the name of the formula/lsystem/ifs in saved GIFs. Fixed the julia_inverse fractal type broken with the first patch to version 20.0. Incorporated Gerald Dobiasovsky's fix to make the background= command work. Added truecolor support to Xfractint thanks to Rich Thomson and Jean-Pierre Demailly. Additional Xfractint fixes include the mandelcloud type and outside=atan when used with type=mandel. Patch 6 Once again fixed the assignment of hotkeys to video modes so that the fractint.cfg file is no longer corrupted. This problem was caused by the section of code dealing with the true-color video modes. Patch 5 Updated the disk video help docs. The limit of disk video has been 32767x32767 since version 20.0. Fixed the tab and evolver screens so that not using formula parameters consecutively starting with p1 now displays the parameters properly. The p4 and p5 parameters have still not been added to the evolver. Setting directories in sstools.ini can now be done relative to the current directory. For example: .\frm\fract200.frm Patch 4 Modified the per image startup code for the circle type to turn off the inside= option if startrail is used. Since the inside=startrail option was locking up Fractint, no backwards compatibility is available. Fixed the cellular type in Xfractint. Fixed a problem with the Xfractint parameter, formula, and lsystem screens. Patch 3 Fixed the incremental redraw so that interrupting the redraw no longer sets passes=1. Added a command line option, nobof=yes, which allows the inside=bof60 and bof61 options to function like the rest of the inside options. With nobof=yes the images in "The Beauty of Fractals" are no longer reproduced. Increased the usable bailout values when using arbitrary precision math. Patch 2 Updated Bret Mulvey's email address. Patch 1 Fixed the display screen so the video memory doesn't get overwritten. This clears up the problem with extraneous dots with some fractal types. Added Iain Stirling to the scrolling credits screen for his contribution of the inside=fmod and outside=fmod options. The background= parameter, for 3D TGA files, is now saved to a PAR entry. Version 20.1.0 Incremented the version number to accommodate backwards compatibility for the inside=fmod option. Fixed the assignment of hotkeys to video modes so that the fractint.cfg file is no longer corrupted. Made the showdot= feature reset with if it is entered using the screen. Added a check for the video size before invoking the palette editor. Too small a size would crash Fractint. Fixed an extraseg conflict which occurred with arbitrary precision when the key was used with various screens open (x,y,b). This conflict also occurred when loading an ap math image at the video selection screen. Cleaned up some of the ap math initialization code. Added outside=fmod option. This is an extension of the inside=fmod option. The magnitude used for the comparison is now based on the same calculation as is used for the bailout test. This feature was contributed by Iain Stirling. There is a problem with the mandel fractal type when outside=fmod is used with inside=bof6x and bailoutest=real, imag, or manr. This is likely due to changes made in the code so that bof images could be reproduced. Select a different fractal type that produces the default mandel image to explore using these parameters. Added outside=tdis option. This colors the pixels according to the total distance traveled by the orbit. This feature was suggested by Steve Robinson on the Fractint Wish List. Modified the inside and outside prompts on the screen. They are now split into two separate prompts. One for entering a color number and the other for changing the option. The left and right arrow keys can now be used to change the inside and outside options. Patch 15 to Version 20.0.0 Added a prompt for the periodicity= option to the Extended Options screen. Fixed another prompt problem with the stereogram prompt screen. Put back in the evolver grid size limit based on screen resolution. Fixed an evolver save problem when a zoom box was present just prior to the save. Note that the center image cannot be recreated once the zoom box has been activated. This is not a problem if you are working from a saved image, just restore it. Modified the routine that reports a view window that is too large so that along with the full screen being used, the X and Y dimensions on the screen reflect the full screen dimensions. The screen can now be used to set the resolution of disk video modes. The limit is 32767x32767. First select a disk video mode using . Then on the screen enter both an X and a Y value. If you go back to the screen to see if the entry has been modified (it hasn't), you will get strange results if you don't select a video mode. Patch 14 Fixed the generation of random numbers used by the evolver subimages. Fixed the bug causing completed evolver images to regenerate when restored. Patch 13 Added parameters p4 and p5 to the formula parser. Fixed the symmetry for cases where XAXIS_NOREAL and XAXIS_NOIMAG are used with the formula parser and multiple parameters are used. Each parameter is now checked. Patch 12 Fixed a 3D error introduced with patch 11. Fixed the stereogram screen prompts to prevent out of bounds array accesses. Patch 11 Fixed an off by one error in the Xfractint type=julia code. Fixed the case where the second image would not finish generating when the 3D parameter Stereo=photo or stereo pair was used with an orbit type such as Lorenz. Patch 10 Fixed some user interface prompts that were wrong in Xfractint. Merged the Xfractint version system with Fractint's. Thanks to Scott Boyd for these changes. Patch 9 Fixed a bug that occurred when maxhistory=0 was used. Fixed a bug that occurred when ismand was used in a formula and ctrl was pressed. Updated Jonathan's email address. Patch 8 Fixed a bug causing a lock up with lsystem and ifs fractal types when using a disk video mode with an X or Y resolution greater than 2048. Patch 7 Updated Xfractint, copyright notice. Patch 6 Fixed fractint.cfg problems with extra commas or long lines. This allows the output of makefcfg from certain video boards to be used without editing. Added center, magxmag, and rotskew constants to parser. See Center-Mag Predefined Variables Patch 5 Added new command truemode=iter, which is used to switch the ouput to the truecolor Targa file to the number of iterates for each pixel. Made selecting the evolver feature turn off truecolor=yes. Each subimage was being generated as a separate blank Targa file. Patch 4 Fixed the type=test bug. Removed Tim's compuserve email address. Patch 3 Fixed a bug in the pentium mandelbrot code that affected periodicity checking. Fixed a problem with skewed zoom boxes leaving dots on the screen. This also fixed browser boxes with the same problem. Fixed the zoom box so it is visible in 2-color modes. Patch 2 Fixed a bug in the formula parser. Updated Tim Wegner's email address. Patch 1 Fixed the 2 and 16 color disk-video modes. Using truecolor=yes now results in writing a fractxxx.tga file instead of iterates.tga. This is not the same thing, so if somebody wants the output of the iterates.tga file, let us know. Fixed the 3D targa modes.