Fractari

Fractari is a program for generating Mandelbrot set on 8-bit Atari. The calculation is done in up to 32-bit precision, with fixed decimal numbers, and uses the fastest algorithms known to the author.

For the final display an 8-color mode is used, which changes colors every line, and can be combined with flickering.

Written in MADS assember, with substantial help of Altirra emulator.

Made by R0ger in June 2020. Thanks to PG for testing, ideas and the name!

Inspired by YouTube video "Guide to Exploring the Mandelbrot Set".

Status bar:

Z - current zoom level. Possible values are 1-22. Precision of calculation goes like this:

	1-6 - 16 bits
	7-14 - 24 bits
	15-22 - 32 bits

For values I, S, O, R, P, and M see appropriate keys in Controls section below. Following the values is the time of the last or current calculation and progress of the current calculation as percentage.

Always available controls, i.e. also during the calculation:

Joystick - Cursor controls, press fire to Zoom-in
Backspace - Zoom-out
Esc - Cancels the current calculation
Return - Recalculates the same area
Space - Hides the cursor and status bar

M, Shift+M - display mode during calculation. The finished image is always shown using mode 2.
0 - Just the status bar, maximum speed
1 - Antic D, 4 colors, slightly slower (about 15%)
2 - Antic E, kernel, 8 colors, a lot slower (more than three times)

L - Show the last finished image during calculation (using mode 2 and slowing down the calculation substantially)

F - Flicker mode - useful especially for LCD TVs, it switches even and odd lines every frame. Used only with 8 color mode.

Controls available only after the image is finished:

S, Shift+S - color scaling. This value controls density of the contour lines. Try increasing it for better details inside dense areas when using higher zoom level.

O, Shift+O - Scaling offset. If scaling value is higher than one, it is possible to move borders between colors. Useful for fine-tuning shapes of the contours.

R, Shift+R - Color palette rotation. Shifts colors in the palette withouth changing the contour lines.

P, Shift+P - Change color palette. Switches to one of the nine predefined palettes.

When changing values S, O, R, or P, previously calculated depths are used and image refresh is relatively quick.

I, Shift+I - Number of iterations. This value controls the amount of detail inside the set (black areas). At the same time, higher values may slow the calculation down significantly.

	1 - 32 iterations
	2 - 64 iterations
	4 - 128 iterations
	8 - 256 iterations  

New I value is used for the next calculation, or you can press the Return key to recalculate the same area again.

C - Display current coordinates. Intended primarily to tranfer the current location between computers.
Shift+C - enter new coordinates.

U - returns to last coordinates set with joystick

0-9 - Jump to a preset location. Included time for display mode M:1.
0 - 0:24 - Initial location.
1 - 6:19 - Miniature Mandelbrot set at relatively low zoom.  
2 - 3:27 - Elephant head. The black area can be filled in with detail by increasing the I value.
3 - 15:48 - Miniature Mandelbrot sets inside elephant trunks are skewed.
4 - 4:52 - Fjords. Low I value limits the amount of detail on the border of the black areas, but that can also be interesting.   
5 - 26:10 - Double spiral.
6 - 18:45 - Another miniature Mandelbrot set. These copies always have different surroundings, based on area they lie in. 
7 - 15:53 - A drone. Around this miniature there are 4 areas ressembling propellers.
8 - 15:15 - A tree? Nuclear explosion? Slice of a brain? Sandal?
9 - 63:46 - Maximum magnification. Higher magnifications usualy bring out more detail, but the computation takes longer. 

Tab - Party mode - Calculates preset locations in sequence, starting with the one last used. Possible to combine with display of the most recently finished picture (L key).

Fractari requires 64 KB of RAM. It can be run from FLOP reader, DOS or QMEG.