flycast icon indicating copy to clipboard operation
flycast copied to clipboard

Daytona USA 2001 Time Attack Ghosts Desync

Open doodleintime opened this issue 3 years ago • 9 comments

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.

doodleintime avatar Sep 29 '22 21:09 doodleintime

What do you mean by desync?

flyinghead avatar Sep 30 '22 10:09 flyinghead

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.

doodleintime avatar Sep 30 '22 19:09 doodleintime

Which COM ghosts have this issue? The one I tried worked as expected.

flyinghead avatar Sep 30 '22 19:09 flyinghead

The reverse Daytona Speedway ghost and the normal Seaside Street Galaxy ones have this issue among others for me.

doodleintime avatar Sep 30 '22 20:09 doodleintime

I can reproduce the problem on Seaside Street Galaxy: the COM ghost is stuck. My guess is it's another floating point precision issue.

flyinghead avatar Sep 30 '22 20:09 flyinghead

What do you mean by "another"?

doodleintime avatar Sep 30 '22 20:09 doodleintime

Similar to #644. Such desyncs happen in other attract/demo modes: xtreme sports, king of route 66, ...

flyinghead avatar Sep 30 '22 20:09 flyinghead

So does the Dreamcast use more precise floats in it's architecture compared to what we use in modern PC's?

MastaG avatar Oct 04 '22 20:10 MastaG

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.

flyinghead avatar Oct 04 '22 20:10 flyinghead