Super MANDELZOOM  

Robert P. Munafo, 2010 Sep 12.



Super MANDELZOOM is an old Macintosh program for viewing the Mandelbrot Set. It is specialized for black-and-white Macs, and lacks floating-point or color. The rest of this entry describes its virtues.

It was written entirely in assembly language (165K of source code) and a very large amount of time was spent optimizing the critical sections. Begun in fall of 1985, it was one of the earliest, and for several years the fastest, ways to explore the Mandelbrot set on a Macintosh.

Using the query command to find a mu-atom's period
Using the query command to find a mu-atom's period

There are 4 different integer iterator routines — 16-bit, 18-bit, 30-bit, and 32-bit. Each is faster than the next, and you use whichever is the lowest number of bits that will work at your current magnification level. Switching between the four routines is user-controlled, because sometimes you don't need to view the image at full resolution, and in those cases you can sometimes save time by using the faster iterator.

Entering coordinates from the keyboard
Entering coordinates from the keyboard

The user interface for controlling the image computation is better than that of any other Mac Mandelbrot program prior to Xaos. The central algorithm for scheduling the iteration of individual pixels is Successive Refinement with full Adjacency Optimization. The user sees a coarse image right away, then after a few seconds a somewhat finer image, then finer again after a while more, etc. It is integrated into the user interface, unlike in MandelZot 3.0 where you have to keep manually turning Successive Refinement on and off each time you zoom.

First pass: 32×32 pixels
First pass: 32×32 pixels
2nd pass: 16×16 pixels
2nd pass: 16×16 pixels
3rd pass: 8×8 pixels
3rd pass: 8×8 pixels
4th pass: 4×4 pixels
4th pass: 4×4 pixels

Scrolling and zooming is accomplished with keyboard commands or with the mouse.

While this drawing is going on, the user can select a rectangle with the cursor. The area inside the rectangle is given first priority over the rest of the image, and everything inside that rectangle is doubled in resolution before SMZ continues with the rest of the image.

The program implements cooperative multitasking via co-routines; for example in the screen-shot below, image computation continues even while the user is in the middle of selecting a rectangle.

Selecting a rectangle to be imaged at higher resolution. Note three processes running
Selecting a rectangle to be imaged at higher resolution. Note three processes running

You may at any time select a new rectangle, and when you release the button, your new rectangle becomes first priority (and the other rectangle, if it was still being worked on, is forgotten). By selecting the same rectangle multiple times you can bring a region to any resolution down to 1×1 pixels; this activity does not interfere with the eventual completion of the rest of the image.

Super MANDELZOOM can copy the current 256×256 image to the clipboard. It also includes crude algorithms to render the filaments and Julia sets, and a primitive period determination capability.

Successor

The last version was 1.19 (1992 Oct 25). The successor to Super MANDELZOOM was Color MANDELZOOM.


See more of my Mac software.


revisions:

19990202 oldest on record; 20100225 add three screen-shot images; 20100912 add four successive refinement images, add a few links including PMZ; 20100918 clarify multitasking description; 20100920 improve two of the screen shots




From the Mandelbrot Set Glossary and Encyclopedia, by Robert Munafo, (c) 1987-2017.     Mu-ency index


Robert Munafo's home pages on HostMDS   © 1996-2017 Robert P. Munafo.
aboutcontact    mrob    mrob27    @mrob_27    mrob27
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. Details here.

This page was written in the "embarrassingly readable" markup language RHTF, and was last updated on 2017 Feb 02. s.11