Daytona USA 2001 Time Attack Ghosts Desync
Platform / OS / Hardware: Windows 11 Home 21H2
Hardware: GTX 1070, Ryzen 7 2700X,
Description of the Issue In the time attack mode of Daytona USA 2001, both a COM Ghost and a Player Ghost will desync after the timer reaches about 3 minutes.
Debugging Steps Tested *First noticed with widescreen code on. *Tried without code on to see if that was the issue. *The Ghost still desync'd.
RetroArch Flycast, v2.0-60gb240da4.
What do you mean by desync?
I mean that they eventually deviate from the path they are supposed to take. For example, they with eventually crash and start going in circles, which makes them never finish the race.
Which COM ghosts have this issue? The one I tried worked as expected.
The reverse Daytona Speedway ghost and the normal Seaside Street Galaxy ones have this issue among others for me.
I can reproduce the problem on Seaside Street Galaxy: the COM ghost is stuck. My guess is it's another floating point precision issue.
What do you mean by "another"?
Similar to #644. Such desyncs happen in other attract/demo modes: xtreme sports, king of route 66, ...
So does the Dreamcast use more precise floats in it's architecture compared to what we use in modern PC's?
Most SH4 floating point operations conform to the IEEE-754 standard, which guarantees that any given calculation leads to the same result regardless of the CPU/platform. However, there are two SH4 operations (namely FIPR and FTRV) that don't conform to this standard.
The first problem is we don't know exactly what these operations do (number of bits, rounding, etc.) And even if we knew, emulating these operations "manually" would probably be extremely slow. They are used intensively for all vector and matrix computations.