Page 1 of 3

Superfast Mandelbrot

Posted: Sat Feb 05, 2022 7:29 am
by vol
I have finally finished my first gfx program for the QL. It is the Superfast Mandelbrot Generator. It is available in two variants: 128x256 and 256x256.
ql-m12.png

Re: Superfast Mandelbrot

Posted: Sun Feb 06, 2022 7:20 am
by stevepoole
Hi Vol,

I downloaded the file, but in the 'mandel' program, the procedure 'mandl' (see line 310) is missing... so there is no screen output...

Steve.
____________________

Re: Superfast Mandelbrot

Posted: Sun Feb 06, 2022 1:33 pm
by RalfR
stevepoole wrote:I downloaded the file, but in the 'mandel' program, the procedure 'mandl' (see line 310) is missing... so there is no screen output...
Not having tried it, I think, the procedure would be linked in with the binary code creation of the boot program.

Try to save it instead of CALLing it and look to it with a suitable editor. Perhaps there is a keyword "mandl".

Re: Superfast Mandelbrot

Posted: Mon Feb 07, 2022 5:32 am
by vol
stevepoole wrote: I downloaded the file, but in the 'mandel' program, the procedure 'mandl' (see line 310) is missing... so there is no screen output...
Sorry to know this. I just put both files on the mdv1 virtual drive using sQLux or QemuLator. You need to run BOOT (you may rename this file), this asks about the device with file MANDEL, enter it or just press Enter if you use MDV1. I hope this can help.

Re: Superfast Mandelbrot

Posted: Mon Feb 07, 2022 7:12 am
by stevepoole
Hi Vol,

I just ran your programs under QDOS, and they are very impressive indeed...

However, under SMSQ/E, they lock up the QL (and of course QPC2) !

An SMSQ/E version would please many users, but the machine code would need modifying....

Mnay thanks , though, for the routines....

Steve.
_____________________

Re: Superfast Mandelbrot

Posted: Mon Feb 07, 2022 7:43 am
by stevepoole
Hi again,

Perhaps the problem is with the value '1105' in Line number 250 ?

What does this '1105' relate to in the QDOS memory map?

And what is the SMSQ/E equivalent ?

Does anyone know ?

Regards, Steve.
____________________

Re: Superfast Mandelbrot

Posted: Mon Feb 07, 2022 5:33 pm
by vol
stevepoole wrote: Perhaps the problem is with the value '1105' in Line number 250 ?
No, It is just a constant that helps to convert two ASCII values into a byte, The formula is (x1-65)*16+x2-65 = 16*x1+x2-1105. ;)
Sorry, I know very little about SMSQ/E so it may take a while for me to make a variant for it. I suppose my code doesn't work under this OS because it uses direct access to video RAM at $20000 and, maybe, because it uses superuser mode.

Re: Superfast Mandelbrot

Posted: Mon Feb 07, 2022 5:45 pm
by NormanDunbar
Direct access is a bad thing these days.

Install DJToolkit, for example, from Dilwyn's web page, and use the SCREEN_ADDRESS function to return the actual sccreen address.

Cheers,
Norm.

Re: Superfast Mandelbrot

Posted: Mon Feb 07, 2022 6:06 pm
by stevepoole
Hi Vol,

Yes, the QDOS screen base address is 131072, which is indeed 20000 in hex.

SMSQ/E can return any moved screen base address, with the in-built SCR_BASE command... SO use HEX(SCR_BASE) and you should be ok.

SMSQ/E can run most QDOS programs as they are, with a few exceptions as we have seen here.

I enjoyed your program under QDOS, which is indeed exceptionally fast.

Regards, Steve.
____________________

Re: Superfast Mandelbrot

Posted: Mon Feb 07, 2022 10:20 pm
by QViewStu
This brings back memories. When Lau Reeves wasn't crafting Minerva code he was working on his Mandelbrot speed trials. No idea if there was any connection ;-)