Senryoku / Deecy

Experimental Dreamcast emulator written in Zig
3 stars 0 forks source link

Speed Devils physics are broken #39

Closed Senryoku closed 1 month ago

Senryoku commented 1 month ago

We can get in game, but I'm not sure cars are supposed to behave that way.

https://github.com/user-attachments/assets/5db2238d-bb55-4b8c-a274-ce9a8299a5e5

Poked around in the FPU, bringing it close to parity with reicast (only ftrv XMTRX,FVn, fipr FVm,FVn and fmac FR0,FRm,FRn still differs), but the problem did not change at all.

Senryoku commented 1 month ago

fipr FVm,FVn doesn't impact the result at all

Interpreter has the same issue.

Messed around with ftrv XMTRX,FVn and aside from switching to double precision for intermediate results - which helped passing 14 more tests (288 -> 274 fail) - I don't understand where the discrepancies with reicast come from. Vectorized or not doesn't make a difference in strict mode. @setFloatMode(.optimized); in the vectorized case is slightly worse. I still have no idea if this is linked to the present issue.