EtchedPixels / FUZIX

FuzixOS: Because Small Is Beautiful
Other
2.18k stars 272 forks source link

Debug 6809 floating point support #594

Open EtchedPixels opened 6 years ago

EtchedPixels commented 6 years ago

We build almost all the relevant library code now but there are a few that don't built and we also don't seem to get correct answers for many cases.

beretta42 commented 6 years ago

screenshot_from_2018-03-10_020041

Disregard the quick and dirty float printf; its a start.

EtchedPixels commented 6 years ago

Looks like a good start for floats. Double will be the one that's going to be buggy I suspect - and because of the way ANSI C is defined a float passed in varargs gets turned into a double.

beretta42 commented 6 years ago

We got gcc NOT to issue any 64 bit calls., successfully building code with "double". (Which is still 32 bits, btw) Many math.h functions work, but powf() and pow() go into la-la land and crash fuzix. We either broke something or found a sleeper bug.

EtchedPixels commented 5 years ago

Seems to work better for me now I've taught it that double is 32bit not 64bit (oops)

beretta42 commented 5 years ago

I was working on cleaning up compiler warnings and found many warnings regarding shifting a 32 int 63 times.

EtchedPixels commented 4 months ago

Deferring future work on this until the new compiler