This video is from a friend of mine NCommander. For anyone interested in early 64bit versions of Windows, floating point precision or what happened to pinball check out this video!
Totally worth the watch!
You can find more From NCommander on his YouTube channel, and support him on Patreon.
Interesting to see how floats caused some issues with Pinball.
I’ve always had a fear of floats after I learned the hard way in the 90s that comparisons between floats is a bad idea. 2.0 raised to some power like 3 could be 7.9999999 or 8.0. I made the mistake of comparing it to 8.0. It always worked on my machine, but one customer on the other side of the country it never worked and they flew me out there to figure it out.
Between that and when I was learning C a million years ago, the VAX, a SUN SPARC, PPC 601 PowerMac, 68040 Mac, Borland C, and the RS/6000 all gave wildly different results for stuff.. I was expecting the integer same/same type thing but that was.. surprising.
Then you have the insane stuff like fast inverse square root, where you bisect a float with integers and bitshift them… Hope that bisection point stays the same with math precision being something you can save/set (and possibly loose in multitasking contexts…)
It’s so easy to make assumptions how you can use and abuse hardware floats until you go to a different platform and yeah things are. different.
If the source were out it’d probably be easier to just convert it to softfloat.