Hello everyone,
wondering if this issue was still being looked at by someone?
This post made me remember about it.
https://x.com/lauriewired/status/2113322490219118804
Quite related according to https://github.com/FAForever/downlords-faf-client/pull/3504
`There’s a hidden dagger in almost every PC game from 1995-2005 that murders ARM processors.
It’s kind of an accident, and it all has to do with floating points.
x87 was Intel’s floating point extension to x86. I won’t get into all the historical drama, but Intel decided that all internal float math would be at 80-bit extended precision to reduce rounding errors.
Of course, today no one in their right mind uses 80-bit; standard 64-bit doubles are just too convenient. Modern ARM64 doesn’t have any 80-bit hardware!
This creates a nasty problem for emulation. How much x87 arithmetic can you replace with say, native ARM64 floating point (losing precision!) without breaking behavior?
It’s not so simple; dropping 16-bits of precision can cause funny physics glitches and such. But boy, if you need all 80-bits, the software fallback REALLY stinks.
With all the decomp/recomp hype lately, porting OG Xbox and PC games to mobile / ARM devices is extra tricky. Not impossible, but you’d be amazed at how much x87 code is in old games!`