Jump to content
IGNORED

My Mandelbrot Set Generator for Atari 800XL


Foebane

Recommended Posts

Back in the late 1980s, I developed an interest in the fractal object known as the Mandelbrot Set, and thanks to my father was able to develop a program to generate it on my Atari 800XL. In the meantime I was also able to recreate it on BBC Micro, Atari ST, Amiga and even old XT IBM PCs.

 

Later, when I got Turbo Basic XL courtesy of Atari User Magazine, I went one step further and created a program where you could zoom in and travel around the set, and save images from it.

 

At the time, I also had an old-fashioned cine camera and filmed the program in action at the time I had it, to demonstrate how easy it was and how reasonably good the Mandelbrot Set could look on an Atari 8-bit micro.

 

Sadly, the program itself no longer exists, but the footage does, and I posted it up on YouTube a couple of weeks ago. So enjoy!

 

  • Like 1
Link to comment
Share on other sites

Back in the late 1980s, I developed an interest in the fractal object known as the Mandelbrot Set, and thanks to my father was able to develop a program to generate it on my Atari 800XL. In the meantime I was also able to recreate it on BBC Micro, Atari ST, Amiga and even old XT IBM PCs.

 

Later, when I got Turbo Basic XL courtesy of Atari User Magazine, I went one step further and created a program where you could zoom in and travel around the set, and save images from it.

 

At the time, I also had an old-fashioned cine camera and filmed the program in action at the time I had it, to demonstrate how easy it was and how reasonably good the Mandelbrot Set could look on an Atari 8-bit micro.

 

Sadly, the program itself no longer exists, but the footage does, and I posted it up on YouTube a couple of weeks ago. So enjoy!

 

I know Antic ran an article with program listing about fractals, together with the mathematical background of this (at that time) new find. I also remember a German magazine called 'Happy Computer' published a TB XL listing for making your own fractals. I have that particular magazine (Sonderhaft 1) here on my shelf, but sadly I don't have the listing in digital format.

 

re-atari

Link to comment
Share on other sites

At the time, I also had an old-fashioned cine camera and filmed the program in action at the time I had it, to demonstrate how easy it was and how reasonably good the Mandelbrot Set could look on an Atari 8-bit micro.

 

The program surely couldn't run at the speed implied by the video. Did your camera let you manually click one frame when desired, or did you just start it for a few frames at a time or what?

 

BTW, I'm sorta bummed that Kodak has discontinued their Kodachrome-40 film; they have a new Ektachrome-65 film I'll try out, but the other Ektachrome I tried wasn't as nice as what Kodachrome can do when it has adequate light.

Link to comment
Share on other sites

The program surely couldn't run at the speed implied by the video. Did your camera let you manually click one frame when desired, or did you just start it for a few frames at a time or what?

 

The camera allowed me to capture individual frames. If you look under "Foebane72" on YouTube search, you'll find a whole bunch of other animations I made as a result.

 

I can't quite remember how I captured those shots, maybe I loaded them manually one-by-one and captured them that way, or it was some other method. I honestly don't remember. This was back in 1990 or so, you know! :D

Link to comment
Share on other sites

The program surely couldn't run at the speed implied by the video. Did your camera let you manually click one frame when desired, or did you just start it for a few frames at a time or what?

 

The camera allowed me to capture individual frames. If you look under "Foebane72" on YouTube search, you'll find a whole bunch of other animations I made as a result.

 

I can't quite remember how I captured those shots, maybe I loaded them manually one-by-one and captured them that way, or it was some other method. I honestly don't remember. This was back in 1990 or so, you know! :D

 

 

It looks pretty cool, but it must of taken a long time to render each frame.

Link to comment
Share on other sites

I did something similar for the C64 back then. It used my own multiplication routines (using square tables) and boundary tracing. Pretty fast for its time. :)

 

Compute's Gazette published a Mandelbrot set program that used assembly-language routines for pixel plotting, but BASIC for the computations. Unfortunately, I've head to deal at work with other applications that seemed to be coded with that same philosophy (code the must time critical math stuff in the slowest language).

Link to comment
Share on other sites

I did something similar for the C64 back then. It used my own multiplication routines (using square tables) and boundary tracing. Pretty fast for its time. :)

 

I remember writing a painfully slow Mandelbrot set plotter in Atari BASIC, too... I may even have added a feature to save to disk partway though a frame, so you could continue later (or I may have just thought about it, can't remember now).

 

You guys are making me want to dig through my old floppies again :)

 

Compute's Gazette published a Mandelbrot set program that used assembly-language routines for pixel plotting, but BASIC for the computations. Unfortunately, I've head to deal at work with other applications that seemed to be coded with that same philosophy (code the must time critical math stuff in the slowest language).

 

This almost makes sense for Atari BASIC... the OS floating point package is just as slow when called from assembly as it is from BASIC. There would be some overhead added by BASIC, but IIRC the FP routines are where the big bottleneck is. They'd have had to write their own assembly math routines like Thomas did (more work than the typical magazine article would involve I think).

 

Also, doing the math in BASIC lets the less-advanced reader understand how it works... especially as Compute! usually published machine language code as big hex dumps, no source, to save on page count. Step 1, type 10 pages of hex code; step 2, load your disassembler, step 3, reverse-engineer...

Link to comment
Share on other sites

The thing is, I never got to the point in my zooms where the limitations of Atari BASIC's (or even Turbo BASIC XL's) floating-point accuracy was ever exceeded.

 

I would've known when that happened - the images would've started to pixellate, rather than showing maximum detail for the resolution of that screen.

 

Ironically, on far more sophisticated systems, like the PC's ChaosPro program, I HAVE reached that limit very quickly, and it has pixellated far more quickly.

 

I think to see the proper complexity of the Mandelbrot Set, you'd need a renderer with an accuracy of 1000 units after the decimal point, AT LEAST.

Edited by Foebane
Link to comment
Share on other sites

This almost makes sense for Atari BASIC... the OS floating point package is just as slow when called from assembly as it is from BASIC. There would be some overhead added by BASIC, but IIRC the FP routines are where the big bottleneck is. They'd have had to write their own assembly math routines like Thomas did (more work than the typical magazine article would involve I think).

 

Mandelbrot set calculations don't really benefit from the dynamic range floating point numbers offer, though. A set of routines using 33-bit integer math will be just as accurate as one using 40-bit floats and yet much faster.

 

If I remember correctly, the Mandelbrot set iterates x^2+1, which in real-number terms would be

 

r' = r*r-c*c+1

c' = 2*r*c

 

Using a BASIC program to generate the tables necessary for fast multiplication should allow a fairly small routine to yield a hundredfold speedup compared with doing all the calculations in floating point.

 

Also, doing the math in BASIC lets the less-advanced reader understand how it works... especially as Compute! usually published machine language code as big hex dumps, no source, to save on page count. Step 1, type 10 pages of hex code; step 2, load your disassembler, step 3, reverse-engineer...

 

But why bother with doing the pixel plotting in assembly code? If it takes ten seconds to compute each pixel, even an extra 0.1 seconds to plot it would be a total non-factor.

Link to comment
Share on other sites

Mandelbrot set calculations don't really benefit from the dynamic range floating point numbers offer, though. A set of routines using 33-bit integer math will be just as accurate as one using 40-bit floats and yet much faster.

If you want to zoom in deeper, you will need floats. Though 32 bit should be enough (don't remember what I did back then).

 

But why bother with doing the pixel plotting in assembly code? If it takes ten seconds to compute each pixel, even an extra 0.1 seconds to plot it would be a total non-factor.

Indeed, that's no good idea. Maybe someone had written a fast pixel routine and wanted to use it for something.

Link to comment
Share on other sites

Back in the late 1980s, I developed an interest in the fractal object known as the Mandelbrot Set, and thanks to my father was able to develop a program to generate it on my Atari 800XL. In the meantime I was also able to recreate it on BBC Micro, Atari ST, Amiga and even old XT IBM PCs.

 

Later, when I got Turbo Basic XL courtesy of Atari User Magazine, I went one step further and created a program where you could zoom in and travel around the set, and save images from it.

 

At the time, I also had an old-fashioned cine camera and filmed the program in action at the time I had it, to demonstrate how easy it was and how reasonably good the Mandelbrot Set could look on an Atari 8-bit micro.

 

Sadly, the program itself no longer exists, but the footage does, and I posted it up on YouTube a couple of weeks ago. So enjoy!

 

 

I found this in my collection. It is a mandlebrot generator and some documentation. Not sure when I ordered it - but it was definitely before 1990. Mail order company - Vulcan Software.

 

* * * EDIT * * *

Here is a disk from M.A.C.E. March 1986. Boot it w/o BASIC. It displays a slideshow of mandlebrot fractal images in 4 color (mode 7.5)

 

Stephen Anderson

mandlebrt.zip

pics.zip

Edited by Stephen
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...