Somewhere around 1986-87 I wrote a set of Mandelbrot calculation/display programs for DEC VT340 terminals. For the past few years, I've been sitting in front of various displays but haven't come across anything that can handle color sixel. Therefore, these programs have been sitting around collecting dust. I was just poking around on a recent Infomagic linux disk the other day when I stumbled across libsx. This is a set of routines which make writing Xwindows applications very easy. Since I had been wanting to write an Xwindows display program but didn't know enough about the details of writing X applications, I explored this as an option. xmdisp is basically a day's worth of work with libsx. Kudos to the author! See README.libsx for more information. The package is available somewhere around sunsite.unc.edu:/pub/Linux/X11/devel and probably other locations. freq.c and dirlist.c were borrowed (ok, stolen) from within the libsx examples. hlsrgb.c includes modified versions of some routines I pulled off DEC's internal network many eons ago. Included in this package are sources for mcalc, xmdisp and mxwd. mcalc does the calculations and writes a datafile. xmdisp reads the datafile and produces an Xwindows display containing a fractal picture. mxwd reads the datafile and writes an Xwindows dump format file which can be read by xwud and xpr. This can also be used to convert to other file formats via pbm or like utilities. This kit contains the libsx header file and a static library. The binaries in this kit require the libsx shared library (available from sunsite). Also included is the file m0000.mdb which is a starter data file. It was calculated with 'mcalc -2 -2 4 1024 2 m0000.mdb'. This shows the full Mandelbrot set. The default image size is 600x600. This can be changed by adjusting the values in mandelbrot.h and invoking make. These values used to be 800x480 for VT340. I thought 600x600 might be nicer for an Xwindows display. Command line arguments to mcalc are: left coordinate of left edge of box top coordinate of top edge of box height distance from top to bottom (or left to right) iterations maximum iterations before giving up (< 32766) limit cutoff value (normally 2) filename where to store the calculated data xmdisp takes an optional argument which is the name of the initial file to load. xmdisp displays and controls include: Top Form: Quit Leave the application Reload Reload the current image. Useful for watching an in-progress calculation. Load... Select a file to load File Name Currently loaded file Coordinates Form: Left Coordinate of left edge Top Coordinate of top edge Height Distance from top to bottom (or left to right) Parameters Form: Limit Cutoff value Iterations Maximum iteration count Processes Number of processes used in calculation Color Form: Cycle Start/stop color cycling Reset Reset to initial colors Image Display: Press mouse button 1 and dragged across an area. Press mouse button 3 to start mcalc in batch over the selected area. This passes the mcalc command as input to 'batch -q J'. If you want to change this command, modify SUBMIT_COMMAND in submit.h and rebuild. mxwd takes two arguments. The mcalc format input file and the name of a file to write in xwd format. ------------------------------------------------------------------------ If you make any modifications to this software, please forward them to me. My email address is pfau@cnj.digex.net.