MagniBrot ver 1.00 by Antti Niskanen of Wack-O Productions (C) 1995 THE DOCUMENTATION Program description: ==================== MagniBrot is nothing more than an ordinary Mandelbrot program, which does not support zooming (at least for the moment), but which allows the user to observe detail with 3x linear magnification through a lens, which can be moved using the mouse. Instructions: ============= No problem. Just type BROT and hit Enter, and you're on your way. While calculating, MagniBrot may seem to get stuck at 60% and 80%. It does not get stuck, it only becomes extremely slow, because it is calculating the 'black areas' in the fractal. Once finished, use your mouse to move the lens and ESC to quit to DOS. ESC won't work before the calculation is complete. Sorry. Copyright information: ====================== This program is freeware, so copy it to anyone you like. Copy it to anyone you don't like. The more you copy it, the happier I'll be. Feel free to use parts of my source code in your own programs. But please, pay attention to these points: * When copying, copy all the files: the program, the docs, the source code, in a single ZIP, ARJ, LZH or whatever form of packet. * Do not modify the files. If you make modified versions of my program, you're welcome to stick them in the same packet with the original, but under a different name. Registering the program: ======================== Don't. System requirements: ==================== * 386 SX computer or better. Since MagniBrot calculates an extremely large fractal into memory, it is extremely slow. So if you're still using that old 16 MHz 386 SX, prepare to spend half your summer holidays waiting for MagniBrot to finish. * Around 450 kB free memory. I'm not sure exactly how much is sufficient. All that memory is needed to store the BIG fractal produced by the slow part of the program. * Microsoft compatible mouse. If you don't have one, MagniBrot won't be much fun. In fact, it won't start at all. * VGA display. MagniBrot checks that you have a VGA before proceeding with the slow calculation, but I never had a chance to test MagniBrot on a 386 non-VGA system, so I'm not sure if the checking routine works. Technical info: =============== Magnibrot uses 32-bit integer math, so it won't run on a 286. The values it uses are stored so that each value is in fact multiplied by 2^23. This gives enough precision even for serious zooming. Zooming is not yet implemented, and probably never will be, since nobody really wants to wait minutes upon minutes waiting for the fractal to be completed. The BIG fractal is stored in five segments of memory, 57600 bytes each. Only the top half is stored in memory, the bottom half is mirrored from the top when needed. Every third pixel is taken from every third line and stored in a separate 64000 byte segment. This time the whole fractal. Once everything is ready, the program copies the small fractal into yet another 64000 byte segment, which I call the video buffer. Then the pixels for the lens are copied into the video buffer, replacing the pixels that were there. When the lens is ready, the video buffer is copied into video memory. Then the keyboard is checked. If the ESC key has not been pressed, new mouse coordinates are read for the lens and the process is repeated. The shape of the lens is contained as data in the program. The lens is assumed to be symmetrical, and the numbers represent half the width of the lens at each row of pixels, top row first. Just before the width data there is a variable called halfheight, which is half the height of the lens. My lens is 70 pixels high, so halfheight is 35. Changing the lens from a circle of diameter 70 to a square with sides of 80 should be just a matter of changing halfheight to 40, removing all the existing numbers and replacing them by eighty 40's, followed by a zero (which indicates the end of the lens array). It should work, but I have not tried it. Disclamer: ========== I, the author, will take no responsibility for anything this program, or any programs included in the packet by other people, does or does not do. You use the programs at your own risk. The program worked fine on my machine, but if it makes a total mess out of your machine, that's not my fault. I will not be responsible for any virus infections either. Thanks: ======= Lots of thanks to Sam Laur for his advice and answers to my stupid questions. This program would be even slower than it is now, were it not for him. Contact info: ============= If you have any questions, ideas or feedback (good or bad), or if you have found any bugs in my program, please contact me. My current Internet address is uuki@freenet.hut.fi, and my current home address is: Antti Niskanen Harmokuja 6 D 112 FIN-01200 VANTAA FINLAND _____________________________________________________________________________ END OF DOCUMENTATION