Emulator Issues #13865
closedfmadds does not match hardware
0%
Description
This was debugged by Feder from the Mario Strikers community.
fmadds(0x42480000, 0xBC88CC38, 0x1B1C72A0)
hardware: 0xBF55BF17
Dolphin: 0xBF55BF18
The issue can also be reproduced with fadds(fmul(0x42480000, 0xBC88CC38), 0xBC88CC38) but this violates the programming model which forbids passing an f64 value to an f32 instruction.
Note that the last operand is quite close to zero.
A good fix would make the interpreter precise and find an approach for the JITs that makes Mario Strikers Charged on Dolphin not desync with hardware.
magumagu's softfp branch from 2014: https://github.com/magumagu/dolphin/tree/softfp
Mario Strikers discord: https://discord.com/invite/de2YaWg
Updated by flacs about 1 year ago
- Description updated (diff)
Geotale points out that a 32-bit FMA (as opposed to 64-bit FMA + conversion) fixes the issue. This actually happened months ago and I missed it v.v