fivemack: (Default)
[personal profile] fivemack
Appears to be to write Mandelbrot-set generators on as wide a range of platforms as possible.



This one is running only on the ARM in the Gameboy Advance; I've written verilog which I _think_ should do the iterations on the FPGA (write X and Y into two memory-mapped registers, write a magic location to start it iterating, read a different location until its value changes to 1, read out the number of iterations from yet a fifth location), but the synthesis tool appears to have two modes: one generates unclear syntax errors, and one decides that everything must be constant and elides away all the hardware.

The FPGA is large enough to hold two sets of three medium-sized fixed-precision multipliers, which ought to make it noticeably faster than the GBA if only I can work out how to get the handshaking right. It may be the right answer is to use little state machines and blockram in the FPGA, and process a fair number of pixels on-FPGA at a time; if it's a row or a square, then the FPGA logic could generate the coordinates.

If you come to [livejournal.com profile] hsaneg's party in Oxford you can play with it yourself :)

Date: 2004-10-29 03:05 pm (UTC)
From: [identity profile] senji.livejournal.com
Pah, use the Z80...

Date: 2004-10-29 04:36 pm (UTC)
From: [identity profile] davidcook.livejournal.com
Yup, I did that ... ummm ... nearly 20 years ago now, on a Microbee (an Australian Z-80 based thing). Even printed some out - they're about 2cm square, though, and done in B&W by a dot matrix, so not the highest quality Mandelbrots you'll see, by far.

Date: 2004-10-29 03:34 pm (UTC)
From: [identity profile] uon.livejournal.com
I used to rather enjoy tying printers up for several hours calculating Mandelbrot sets.

/D{def}def/P{pop}D/g{.01}D/O{-.01}D/o{rlineto}D/J{index}D/M{mul}D/i{2 copy}D 0 g
90 90 scale/C{dup M}D 4{0 g 4{0 2 J 2 sub 2 J 2 sub i 1 O 0{6 -1 roll P 5 1 roll
i M 2 M 3 J add 2 J C 2 J C sub 5 J add 4 2 roll P P exch i C exch C add 4 gt{%e
exit}if}for P P P P setgray i moveto 0 g g 0 0 O o o o fill P}for P}for showpage


(it'll appear on the bottom left)

Date: 2004-10-29 08:25 pm (UTC)
From: [identity profile] filkerdave.livejournal.com
Oh, that's sick :)

Date: 2004-10-30 12:26 pm (UTC)
ext_63737: Posing at Zeusaphone concert, 2008 (Default)
From: [identity profile] beamjockey.livejournal.com
I applaud your efforts, and here's why.

I think it was just as I was having my 30th birthday that I realized that I had never written a program to draw the Mandelbrot Set, and that, obscurely, I felt it was a rite of passage for any programmer.

At the same time, our lab had just acquired a bunch of Vaxstations with big color displays. So I taught myself to use the graphics calls and coded up a Mandelbrot browser in Fortran. Useless, but pretty.

I had lunch with Mandelbrot himself once, but I couldn't figure out a way to make it relevant to this reminiscence.

(I knew a guy who once coded up Conway's Life for the Atari 2600 console game. It was fun to play the prototype, but I think his company failed before they could get it onto the market.)

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24 252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 15th, 2025 07:40 am
Powered by Dreamwidth Studios