Mandelbrot Core

kobus
Posts: 4
Joined: Sun Dec 13, 2020 2:25 pm
Been thanked: 10 times

Mandelbrot Core

Unread post by kobus »

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.
User avatar
LamerDeluxe
Posts: 367
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 223 times
Been thanked: 57 times

Re: Mandelbrot Core

Unread post by LamerDeluxe »

Awesome, another classic added to MiSTer and really fascinating to have it implemented in FPGA. Looking forward to trying it.
User avatar
aberu
Posts: 653
Joined: Tue Jun 09, 2020 8:34 pm
Location: Longmont, CO
Has thanked: 134 times
Been thanked: 166 times

Re: Mandelbrot Core

Unread post by aberu »

This is very cool! Thanks!

Now someone do the matrix effect next! :P
hiddenbyleaves
Posts: 104
Joined: Mon Nov 02, 2020 11:25 am
Has thanked: 44 times
Been thanked: 17 times

Re: Mandelbrot Core

Unread post by hiddenbyleaves »

There is a genesis homebrew called Matrix Digital Rain that I boot my MiSTer into instead of the menu core.
hiddenbyleaves
Posts: 104
Joined: Mon Nov 02, 2020 11:25 am
Has thanked: 44 times
Been thanked: 17 times

Re: Mandelbrot Core

Unread post by hiddenbyleaves »

Will this display on a crt?
kobus
Posts: 4
Joined: Sun Dec 13, 2020 2:25 pm
Been thanked: 10 times

Re: Mandelbrot Core

Unread post by kobus »

Assume it will not display on a CRT. Using 1920x1080 HDMI Framebuffer.
AntialiasedPixel
Posts: 30
Joined: Mon May 25, 2020 2:17 am
Been thanked: 1 time

Re: Mandelbrot Core

Unread post by AntialiasedPixel »

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.
User avatar
pgimeno
Posts: 244
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 84 times
Been thanked: 43 times

Re: Mandelbrot Core

Unread post by pgimeno »

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.
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.
User avatar
pgimeno
Posts: 244
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 84 times
Been thanked: 43 times

Re: Mandelbrot Core

Unread post by pgimeno »

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.
AntialiasedPixel
Posts: 30
Joined: Mon May 25, 2020 2:17 am
Been thanked: 1 time

Re: Mandelbrot Core

Unread post by AntialiasedPixel »

pgimeno wrote: Sat Mar 20, 2021 9:45 pm Also, would it be possible to add flipping of up/down and left/right? I get confused, especially with left/right.
I'll second this request, the controls were opposite what I was expecting.
User avatar
Moondandy
Posts: 249
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 7 times
Been thanked: 27 times

Re: Mandelbrot Core

Unread post by Moondandy »

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?
User avatar
ericgus09
Posts: 120
Joined: Mon May 25, 2020 2:47 am
Has thanked: 1 time
Been thanked: 7 times

Re: Mandelbrot Core

Unread post by ericgus09 »

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.
User avatar
bazza_12
Posts: 240
Joined: Sun May 24, 2020 7:49 pm
Location: Yorkshire, UK
Has thanked: 114 times
Been thanked: 52 times
Contact:

Re: Mandelbrot Core

Unread post by bazza_12 »

ericgus09 wrote: Sun Mar 21, 2021 10:28 pmscreen is scrambled and jumping all over the place.. no stable picture .. F12 menu works but the graphics are a total fail.
same :(
The music is reversible but time is not. Turn back. Turn back
User avatar
Alkadian
Posts: 397
Joined: Thu May 28, 2020 9:55 am
Has thanked: 93 times
Been thanked: 24 times

Re: Mandelbrot Core

Unread post by Alkadian »

I confirm this behaviour, same here.
kobus
Posts: 4
Joined: Sun Dec 13, 2020 2:25 pm
Been thanked: 10 times

Re: Mandelbrot Core

Unread post by kobus »

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.
- Thanks for answering the question on zoom levels.
- 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.
kobus
Posts: 4
Joined: Sun Dec 13, 2020 2:25 pm
Been thanked: 10 times

Re: Mandelbrot Core

Unread post by kobus »

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.
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.
User avatar
Moondandy
Posts: 249
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 7 times
Been thanked: 27 times

Re: Mandelbrot Core

Unread post by Moondandy »

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.
lazytechnician
Posts: 9
Joined: Tue Sep 08, 2020 11:32 am
Has thanked: 2 times

Re: Mandelbrot Core

Unread post by lazytechnician »

bazza_12 wrote: Sun Mar 21, 2021 10:43 pm
ericgus09 wrote: Sun Mar 21, 2021 10:28 pmscreen is scrambled and jumping all over the place.. no stable picture .. F12 menu works but the graphics are a total fail.
same :(
Same for me too I'm afraid
User avatar
Moondandy
Posts: 249
Joined: Mon May 25, 2020 2:14 am
Location: Edinburgh, Scotland
Has thanked: 7 times
Been thanked: 27 times

Re: Mandelbrot Core

Unread post by Moondandy »

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.
Post Reply