Octocontrabass wrote:
YDeeps1 wrote:
everything freezes which I presume is due to the condition never evaluating to true.
Have you checked with a debugger?
YDeeps1 wrote:
The initiation of the FPU is pretty much the exact from the documentation and set to word 0x37F with the CR4 or'd with 0x200.
Which documentation? Which word is set to 0x37F? Why aren't you setting OSXMMEXCPT in CR4?
Which floating-point instruction sets did you tell your compiler to use?
Have you checked with a debugger?:
I have checked and did confirm that is the case. The three digits did become integers (with the weird precision) followed by random numbers causing it to never finish and eventually overflow to a negative value.
Which documentation?:
I got the documentation confused with another one, ignore that.
Which word is set to 0x37F?:
I set the control word with fldcw to a memory location containing 0x37F.
Why aren't you setting OSXMMEXCPT in CR4?:
I have set it now (10th bit starting at 0 in CR4).
Which floating-point instruction sets did you tell your compiler to use?:
Not sure how or where to set this. I assume the defaults in a g++ cross-compiler?