This is caused by the Wii VC incorrectly converting the MIPS cvt.s.d instruction to the PowerPC stfs instruction. With the latter, double to single precision floating point conversion is undefined. The Wii uses round-to-zero for this conversion, while SM64 uses round-to-nearest. 【適当な訳】 このバグは、WiiVCが内部的にMIPS(64のCPU)の命令「cvt.s.d」をPowerPC(WiiのCPU)の命令「stfs」に変換することによって発生します。stfsは倍精度から単精度
設計がおかしいのか? (スコア:1)
浮動小数点演算の規格IEEE754では複数の丸めモードが定義されているが、同じ丸めモードだったら処理結果は完全に一致するのではないのか?
それともIEEE754とは無関係に独自実装したのか?
Re: (スコア:5, 参考になる)
リンク先でたどれるGoogleドキュメントの [google.com]「Wii VC Rounding / BitFS Platform Drift」という項目によると、
Re:設計がおかしいのか? (スコア:0)
縛りプレイなので9じゃなくて4の形になってます
Re: (スコア:0)
縛りプレイなので9じゃなくて4の形になってます
なんだ甲羅の形じゃないのか
Re: (スコア:0)
甲羅?縛る?
マリオにおいて、甲羅は蹴飛ばすものですし、
SM64については、乗るものでしょう?