I've run across what appears to be 2 problems with the 20.99.8 Fractint for Windows
I've run across what appears to be two problems with the ver 20.99.8 Fractint for Windows, one known, one perhaps new: - Calculating Jim Muth's FoTD for 8/4/8 gives a black screen using the "Run saved command set" command. - Completion of the image at 640x480 is essentially instantaneous per the <tab> command, instead of the 7 1/2 minutes described by Jim. - After calculating the FoTD for 8/4/8 and: - Choosing fractal "Type" "mandel" and - Accepting the default parms - An incorrect default Mandelbrot image is drawn. - The problem appears to be that the "Outside" parm on the "X" screen is left as "fmod" from the previous calculation of the FoTD using the "Run saved command set" command. - Changing "Outside" to "iter" draws the correct default Mandelbrot image. The first problem appears to be of the following type: Author: Richard Date: 2008-02-18 09:11 -500 Subject: Re: [Fractdev] <Richard> Lex & yacc for formula parser?
...I wouldn't mind fixing the bug that causes some formulas to render incorrectly in the near term.
The second problem may be a newly uncovered problem. Calculating the FoTD for 8/4/8 with DOS Fractint ver 20.04.4 gives the correct image. - Hal Lane ######################### # hallane@earthlink.net # #########################
Thanks Hal. I haven't tracked down what is going on with the formula parser, but I suspect its buried somewhere deep in the parser that it assumes "sizeof(int) == 2" and uses a hardcoded 2 instead of sizeof(int). As for the second, I'll take a look and see if I can repro it on my current code base. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>
Thanks Hal. No problem.
As for the second [item], I'll take a look and see if I can repro it on my current code base.
If you ever want me to run any tests using the version of Fractint for Windows I have installed (it shows 20.99.8 while running), please let me know. It is one of the last [the last?] betas you posted a link to. As an old FORTRAN programmer, where *all* built-in data types in the language have their lengths in bits specified, I have never understood why C and C++ wanted to encourage the size of an int to be variable with the processor the application ran on. This has caused untold hours of lost time and productivity and calculation errors when processors and compilers went from 8 bits to 16 bits, then 16 to 32 and is still doing this when porting apps from 32 to 64 bits -- the very problems you are dealing with in the conversion of 16 bit DOS Fractint to 32 bit Windows Fractint. I really am tempted to look for the digit "2" in the code of the parser, but I really don't have the time to do it right now. - Hal Lane ######################### # hallane@earthlink.net <mailto:hallane@earthlink.net> # #########################
-----Original Message----- From: fractdev-bounces@mailman.xmission.com [mailto:fractdev-bounces@mailman.xmission.com]On Behalf Of Richard Sent: Sunday, April 20, 2008 4:22 PM To: Fractint developer's list Subject: Re: [Fractdev] I've run across what appears to be 2 problems withthe 20.99.8 Fractint for Windows
Thanks Hal. I haven't tracked down what is going on with the formula parser, but I suspect its buried somewhere deep in the parser that it assumes "sizeof(int) == 2" and uses a hardcoded 2 instead of sizeof(int).
As for the second, I'll take a look and see if I can repro it on my current code base. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html>
Legalize Adulthood! <http://blogs.xmission.com/legalize/>
_______________________________________________ Fractdev mailing list Fractdev@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractdev
In article <MDBBJLBFBICIIEIHFBMEOEBGDGAA.hallane@earthlink.net>, "Hal Lane" <hallane@earthlink.net> writes:
[...] I have never understood why C and C++ wanted to encourage the size of an int to be variable with the processor the application ran on.
C is considered more of a "low level" systems programming language, while fortran was considered more of an application programming language. In the end, C was used for lots of applications. There are portable ways to deal with the potentially varying size of an int, but unfortunately the code in fractint wasn't written portably. For instance, you use sizeof(int) to advance a pointer through memory past an integer instead of adding 2. Adding 2 works when integers are 16-bits (typical of a DOS C compiler), but not when integers are 32-bits (typical of a Win32 C compiler). So they could have written their code to be less fragile with respect to things like "how big is an int?" but they didn't.
This has caused untold hours of lost time and productivity and calculation errors when processors and compilers went from 8 bits to 16 bits, then 16 to 32 and is still doing this when porting apps from 32 to 64 bits -- the very problems you are dealing with in the conversion of 16 bit DOS Fractint to 32 bit Windows Fractint.
Well, I'm not aware of any C compilers with 8-bit ints, even when the processor was 8-bit, but I see your point.
I really am tempted to look for the digit "2" in the code of the parser, but I really don't have the time to do it right now.
The 2 vs. sizeof(int) is only my current theory on what's wrong with the parser. It doesn't happen on *all* formulas, which makes it more problematic to debug. Plus the parser code is rather inscrutable. It would probably be faster for me to rewrite the parser than find this bug and fix it. There's just lots of stuff in there that it does that isn't documented or explained. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>
Size of various types is very fundamental, and has to be well understood by programmers using C. By and large, for Fractint it was. The Microsoft DOS compiler had: short = int = two bytes long = four bytes Until recently, most other systems (e.g. Unix/Linux) had: short = two bytes int = long = four bytes Until the advent of 64 bit cpus, the most reliable of these were short and long, which you could count on as being 16 and 32 bits It is unlikely to gain much to search for "2" :-) The parser pretty much had a different set of authors from the rest of Fractint, of varying skill and experience - Mark Peterson, George Martin, and Chuck Ebbert. I've studied the code enough to understand it and added some functions. Any hardcoded assumption that int = 16 bits would have created a problem with the Linux port. We generally tried to stick to short or long when the size mattered and avoid int except where the size didn't matter. Tim
--------- Tim Wegner said: --------------
Any hardcoded assumption that int = 16 bits would have created a problem with the Linux port. We generally tried to stick to short or long when the size mattered and avoid int except where the size didn't matter.
Would someone with a recent version of the Linux port please try and create Jim Muth's FoTD for 8/4/8 from his parameter/formula file and report the results? [This is the FoTD that gives a black screen after 'calculating' the 640x480 image essentially instantaneously per the <tab> command.] Thanks! Here's Jim's 8/4/8 FoTD parm file: START PARAMETER FILE======================================= Fierce_Fiery_Scene { ; time=0:07:37.14-SF5 on P4-2000 reset=2004 type=formula formulafile=allinone.frm formulaname=MandelbrotBC3 function=ident passes=1 center-mag=-0.6634403428163981/-1.406626216391897/\ 1.641796e+009/1/100/0 params=1.41421/0/4/0 float=y maxiter=1500 inside=0 proximity=0.002 outside=fmod periodicity=10 colors=0003B`3B`3Ba3Ba4Ba4Ba4Bb4Bb4Bb4Bb4Ac4Ac4Ac5\ Ac5Ad5Ad5Ad5Ad5Ae5Ae5Ae5Ae36h48f5Ae5Bd6Dc6Eb7Ga7H`\ 8JZ9LY9MXAOWAPVBRUBSTCURDWQDXPEZOE_NFaMFbLGdJHfIHg\ HIiGIjFJlEIoCJnDJmDJmDKlDKlDKkDLkDLjDLjDMiDMiDMhEN\ hENgENgEOfEOfEOeEPeEPdEPdEQcEQcFQbFRbFRaFRaFS`FS`F\ S_FT_FTZFTZFTZFU`GVaHWbHXcIYeJZfJ_gK`hKaiLbkMclMdm\ NenNfpOgqPhrPisQjtQkvRlwSmxSnyTmzUnzTnySnxSnwRnvQn\ uQntPnsOnrOnqNnpMnoMnnLnmKnlKnkJnjIniInhHngGnfGneF\ ndEncEnbDt_6r`9paBnaDlbGkcIicKgdNedPdeRbfU`fWZgY_j\ Z_l`Yg_WbYUYXSTVQOUOJSLFQMERMERMESNESNESNDTNDTODUO\ DUODUODVPCVPCWPCWPCWQCXQCXQBYQBYRBYRBZRBZRBZRA_RA_\ RBZSCYTDXVDWWEVXFUYFT_GS`HRaHQbIPdJOeJNfKMhLLiMKjM\ JkNImOHnPGpQFrREtSDvTCxUBzUBzUAxTAvSAtRAsQAqQApPAo\ OAnOAmNAkMAjMAiLAhKAgKAeJ9dI9cI9bH9aG9`G9ZF9XE9VE9\ TD9RC9PC9NB9LAAJ9BIACHADGAEIAFKAGMAHNAIOAJPBKQBLRB\ MSBNTBOUBPVBQWBRWCSXCTXCU } frm:MandelbrotBC3 { ; by several Fractint users e=p1, a=imag(p2)+100 p=real(p2)+PI q=2*PI*fn1(p/(2*PI)) r=real(p2)+PI-q Z=C=Pixel: Z=log(Z) IF(imag(Z)>r) Z=Z+flip(2*PI) ENDIF Z=exp(e*(Z+flip(q)))+C |Z|<a } END PARAMETER FILE========================================= - Hal Lane ######################### # hallane@earthlink.net <mailto:hallane@earthlink.net> # #########################
-----Original Message----- From: fractdev-bounces@mailman.xmission.com [mailto:fractdev-bounces@mailman.xmission.com]On Behalf Of Tim Wegner Sent: Monday, April 21, 2008 11:07 PM To: Fractint developer's list Subject: Re: [Fractdev] 2 probs w the 20.99.8 Fractint 4 Windows
Size of various types is very fundamental, and has to be well understood by programmers using C. By and large, for Fractint it was. The Microsoft DOS compiler had:
short = int = two bytes long = four bytes
Until recently, most other systems (e.g. Unix/Linux) had:
short = two bytes int = long = four bytes
Until the advent of 64 bit cpus, the most reliable of these were short and long, which you could count on as being 16 and 32 bits
It is unlikely to gain much to search for "2" :-) The parser pretty much had a different set of authors from the rest of Fractint, of varying skill and experience - Mark Peterson, George Martin, and Chuck Ebbert. I've studied the code enough to understand it and added some functions.
Any hardcoded assumption that int = 16 bits would have created a problem with the Linux port. We generally tried to stick to short or long when the size mattered and avoid int except where the size didn't matter.
Tim
_______________________________________________ Fractdev mailing list Fractdev@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractdev
Hal,
Would someone with a recent version of the Linux port please try and create Jim Muth's FoTD for 8/4/8 from his parameter/formula file and report the results?
[This is the FoTD that gives a black screen after 'calculating' the 640x480 image essentially instantaneously per the <tab> command.]
I'm using a 64-bit version of Xfractint and this FoTD generates with no problem. Jonathan
----------- Hal Lane wrote: --------------
Would someone with a recent version of the Linux port please try and create Jim Muth's FoTD for 8/4/8 from his parameter/formula file and report the results?
----------- Jonathan wrote: --------------
I'm using a 64-bit version of Xfractint and this FoTD generates with no problem.
Thanks, Jonathan. Richard, This is the FoTD that I documented the problem with in Fractint for Windows ver 20.99.8. - Hal Lane ######################### # hallane@earthlink.net <mailto:hallane@earthlink.net> # #########################
-----Original Message----- From: fractdev-bounces@mailman.xmission.com [mailto:fractdev-bounces@mailman.xmission.com]On Behalf Of Jonathan Osuch Sent: Tuesday, April 22, 2008 10:03 PM To: Fractint developer's list Subject: Re: [Fractdev] 2 probs w the 20.99.8 Fractint 4 Windows
Hal,
Would someone with a recent version of the Linux port please try and create Jim Muth's FoTD for 8/4/8 from his parameter/formula file and report the results?
[This is the FoTD that gives a black screen after 'calculating' the 640x480 image essentially instantaneously per the <tab> command.]
I'm using a 64-bit version of Xfractint and this FoTD generates with no problem.
Jonathan
_______________________________________________ Fractdev mailing list Fractdev@mailman.xmission.com http://mailman.xmission.com/cgi-bin/mailman/listinfo/fractdev
Thanks guys, I will see if I can compare what xfractint is doing to the beta. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>
My hard drive crashed and I had to buy a new computer (Windows XP). Where can I find the latest Fractint 4 Windows to install? Lee
In article <4819194C.3000301@thuntek.net>, "Lee H. Skinner" <skinner@thuntek.net> writes:
My hard drive crashed and I had to buy a new computer (Windows XP). Where can I find the latest Fractint 4 Windows to install?
<http://blogs.xmission.com/legalize/2007/04/13/fractint-for-windows-beta-5/> -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>
My hard drive crashed Sorry to hear that.
If your backup was not as up-to-date as you wish it had been, you might consider trying to recover information from the crashed drive... Steve Gibson's SpinRite seems to be a mature product: SpinRite 6.0 is NTFS, FAT, LINUX & TIVO Compatible $89 http://www.grc.com/intro.htm The s/w is apparently able to micro-maneuver the head to tease out data that would not normally be able to be read. You can download the Owner's Guide before purchase. I successfully used the s/w: GetDataBack: Data Recovery for NTFS and FAT32: http://www.runtime.org/ s/w after something removed the root and the first level directories from a Win 2000 machine of mine. - Hal Lane ######################### # hallane@earthlink.net <mailto:hallane@earthlink.net> # #########################
-----Original Message----- From: fractdev-bounces@mailman.xmission.com [mailto:fractdev-bounces@mailman.xmission.com]On Behalf Of Lee H. Skinner Sent: Wednesday, April 30, 2008 9:14 PM To: Fractint developer's list Subject: [Fractdev] Fractint 4 Windows
My hard drive crashed and I had to buy a new computer (Windows XP). Where can I find the latest Fractint 4 Windows to install?
Lee
Thanks, Hal. I'll try that next time. I took my drive to Data Doctors, and they were able to recover most of my data for about $200. Lee
In article <480D101B.21077.52695E@twegner.swbell.net>, "Tim Wegner" <twegner@swbell.net> writes:
Any hardcoded assumption that int = 16 bits would have created a problem with the Linux port.
Indeed, but I've already found a bunch of places where the pointer logic assumed that adding 2 to the pointer would advance it to the next integer. In other words, even though the xfractin port appears OK, there are still subtle bugs in it of this variety. -- "The Direct3D Graphics Pipeline" -- DirectX 9 draft available for download <http://www.xmission.com/~legalize/book/download/index.html> Legalize Adulthood! <http://blogs.xmission.com/legalize/>
participants (5)
-
Hal Lane -
Jonathan Osuch -
Lee H. Skinner -
Richard -
Tim Wegner