Mandelbrot Core
Mandelbrot Core
All,
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.
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: 1239
- Joined: Sun May 24, 2020 10:25 pm
- Has thanked: 887 times
- Been thanked: 284 times
Re: Mandelbrot Core
Awesome, another classic added to MiSTer and really fascinating to have it implemented in FPGA. Looking forward to trying it.
-
- Posts: 121
- Joined: Mon Nov 02, 2020 11:25 am
- Has thanked: 48 times
- Been thanked: 19 times
Re: Mandelbrot Core
There is a genesis homebrew called Matrix Digital Rain that I boot my MiSTer into instead of the menu 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
This is super cool! I keep meaning to do some projects with my DE-10. I got about as far as generating some color gradients on the screen a year ago and haven't had time to tinker with it since.
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.
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: 710
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 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.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
- pgimeno
- Top Contributor
- Posts: 710
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 times
Re: Mandelbrot Core
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.
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.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV
-
- 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
That's very cool you did this, there is a Mandelbrot core on the NT Mini Noir. Can this be added into the Main repro in the Other section?
Re: Mandelbrot Core
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.
- bazza_12
- Top Contributor
- Posts: 443
- Joined: Sun May 24, 2020 7:49 pm
- Location: Yorkshire, UK
- Has thanked: 263 times
- Been thanked: 121 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
Kobus, do you have any plans to add your core to Main? Am sure Sorg would be good with it going into the "Other" section. Be great to get some more exposure to this and people to get any updates automatically via the update script.
-
- 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
Tried it on my new monitor, just standard 1080p resolution, and it is jumping all over the place. Could any more information help you problem shoot this? Seems to be a problem for a lot of people.
Re: Mandelbrot Core
I am new to the MiSTer. To install this you just download and install it on the root of your sd card, right?
- 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: 710
- Joined: Thu Jun 11, 2020 9:44 am
- Has thanked: 277 times
- Been thanked: 226 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.
Converters I've written: Floppy DIM/FDI/FDD/HDM to D88, D88 to XDF, Tape SVI 318/328 CAS to WAV