Mandelbrot Core
Mandelbrot Core
Did a Mandelbrot core a couple of months ago as wanted to learn about FPGAs.
Have uploaded it to https://github.com/jacquesdriessen/MiSTer-mandelbrot.
Control with the keyboard (z/x is zoom in / out, and adws to navigate). Rest of it should be self explanatory.
In terms of technical implementation:
- Only a small amount of VHDL (simply to integrate things).
- Most of the logic is done using drawings [found it amazing that you can just "draw what you want"]
- There is one part distributing all the "points to be calculated" over the pipelines.
- Could cram 20 pipelines on the design (you can individually switch the off) that do the actual work.
- And the last part then takes the output of the pipelines and moves it to the frame buffer.
I hope you will enjoy it.
Jacques.
- LamerDeluxe
- Top Contributor
- Posts: 1260
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 917 times
- Been thanked: 302 times
Re: Mandelbrot Core
-
- Posts: 121
- Joined: Mon Nov 02, 2020 11:25 am
- Has thanked: 48 times
- Been thanked: 19 times
Re: Mandelbrot Core
-
- Posts: 121
- Joined: Mon Nov 02, 2020 11:25 am
- Has thanked: 48 times
- Been thanked: 19 times
-
- Posts: 44
- Joined: Mon May 25, 2020 2:17 am
- Been thanked: 2 times
Re: Mandelbrot Core
What limits zooming on fractals? Is it the iterations or a memory thing? I remember using Fractint for DOS on a 386 and being able to zoom in super far. It seems like it's somewhat limited here, but I haven't played around with the settings a ton yet.
- pgimeno
- Top Contributor
- Posts: 713
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 280 times
- Been thanked: 228 times
Re: Mandelbrot Core
The limit is precision. Fractint (which still lives) switches to arbitrary precision numbers at certain zoom levels, but doing the same in hardware is complicated.AntialiasedPixel wrote: ↑Sat Mar 20, 2021 7:16 pm What limits zooming on fractals? Is it the iterations or a memory thing? I remember using Fractint for DOS on a 386 and being able to zoom in super far. It seems like it's somewhat limited here, but I haven't played around with the settings a ton yet.
- pgimeno
- Top Contributor
- Posts: 713
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 280 times
- Been thanked: 228 times
Re: Mandelbrot Core
Would it be possible to enable screenshots? When I tried to take one, it said "Scaler not compatible".
Also, would it be possible to add flipping of up/down and left/right? I get confused, especially with left/right.
-
- Posts: 44
- Joined: Mon May 25, 2020 2:17 am
- Been thanked: 2 times
- Moondandy
- Top Contributor
- Posts: 535
- Joined: Mon May 25, 2020 2:14 am
- Location: Edinburgh, Scotland
- Has thanked: 32 times
- Been thanked: 102 times
Re: Mandelbrot Core
Re: Mandelbrot Core
- bazza_12
- Top Contributor
- Posts: 449
- Joined: Sun May 24, 2020 7:49 pm
- Location: Yorkshire, UK
- Has thanked: 265 times
- Been thanked: 126 times
Re: Mandelbrot Core
- Thanks for answering the question on zoom levels.pgimeno wrote: ↑Sat Mar 20, 2021 9:45 pm Checked it now, it works great up to the precision!
Would it be possible to enable screenshots? When I tried to take one, it said "Scaler not compatible".
Also, would it be possible to add flipping of up/down and left/right? I get confused, especially with left/right.
- Flipping left/right etc. implemented.
- Inability to do screenshots / no VGA output / fixed 1920x1080 resolution unfortunately all have to do with a design choice to use the frame buffer logic included in MiSTer instead of adding a video processor the core. If I understand things correctly the pipeline normally is "core video processor" -> VGA output [also where the screenshot is extracted https://misterfpga.co.uk/take-a-screens ... ster-fpga/) -> scaler for filtering / custom resolutions -> HDMI output. The frame buffer logic needs a (fixed) x / y resolution which is using an alternate path into the scaler [saved having to build a video processor into the core e.g. easier / much less time, but it has it's restrictions. Would be a nice feature to add this but probably take more than the entire rest of the core and wouldn't have time for that in the foreseeable future.
Re: Mandelbrot Core
So sorry to hear that - custom resolutions would be hard to implement (would need a way to pass them on thought the menu and have used all but one "bit" e.g. this wouldn't be sufficient). Only "sure" way I could think of in my other post which would to implement a video processor in HW and then pass the output through MiSTer and all it's magic to deal with all sorts of monitors but no plans / time to implement that.ericgus09 wrote: ↑Sun Mar 21, 2021 10:28 pm I am getting a really bad display with this core anyway to override the resolution settings, doesn't seem to play nice with my DELL LCD monitor (U2410 F Size: 24 in Resolution: 1920 x 1200).. screen is scrambled and jumping all over the place.. no stable picture .. F12 menu works but the graphics are a total fail.
- Moondandy
- Top Contributor
- Posts: 535
- Joined: Mon May 25, 2020 2:14 am
- Location: Edinburgh, Scotland
- Has thanked: 32 times
- Been thanked: 102 times
Re: Mandelbrot Core
-
- Posts: 9
- Joined: Tue Sep 08, 2020 11:32 am
- Has thanked: 2 times
- Moondandy
- Top Contributor
- Posts: 535
- Joined: Mon May 25, 2020 2:14 am
- Location: Edinburgh, Scotland
- Has thanked: 32 times
- Been thanked: 102 times
Re: Mandelbrot Core
- Moondandy
- Top Contributor
- Posts: 535
- Joined: Mon May 25, 2020 2:14 am
- Location: Edinburgh, Scotland
- Has thanked: 32 times
- Been thanked: 102 times
Re: Mandelbrot Core
Best place to put it would be in /media/fat/Other or make a new one /media/fat/Unstable
Keep in mind the core seems pretty broken, certainly over HDMI, but let us know how you get on.
- pgimeno
- Top Contributor
- Posts: 713
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 280 times
- Been thanked: 228 times
Re: Mandelbrot Core
Beware of Markdown! I have disabled Markdown in this post to quote you so that the underscores are actually shown instead of activating cursive.
- pgimeno
- Top Contributor
- Posts: 713
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 280 times
- Been thanked: 228 times
Re: Mandelbrot Core
Have you tried to turn it off and then on again?
Only half-kidding. Old cores suffered from a bug in the framework where changing cores totally messed up the video until the next reboot.
Apart from that, it works fine for me.
- LamerDeluxe
- Top Contributor
- Posts: 1260
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 917 times
- Been thanked: 302 times
Re: Mandelbrot Core
I have uploaded short videos to show what is happening.
Mandlebrot Zoom 20.12.11
https://imgur.com/etbS6QX
Mandlebrot Zoom 21.05.16
https://imgur.com/qSHTFXS