And among the other goals of the 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
hsaneg's party in Oxford you can play with it yourself :)
![]() |
![]() |
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]](https://www.dreamwidth.org/img/external/lj-userinfo.gif)
no subject
no subject
no subject
(it'll appear on the bottom left)
no subject
no subject
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.)