Dolphin, the GameCube and Wii emulator - Forums
Tales Of Symphonia - DotNW (New Game loop) - Printable Version

+- Dolphin, the GameCube and Wii emulator - Forums (https://forums.dolphin-emu.org)
+-- Forum: Dolphin Emulator Discussion and Support (https://forums.dolphin-emu.org/Forum-dolphin-emulator-discussion-and-support)
+--- Forum: General Discussion (https://forums.dolphin-emu.org/Forum-general-discussion)
+--- Thread: Tales Of Symphonia - DotNW (New Game loop) (/Thread-tales-of-symphonia-dotnw-new-game-loop)

Pages: 1 2


Tales Of Symphonia - DotNW (New Game loop) - Nerve - 05-31-2009

When you try to play a new game in tales it asks you if you want to load gamecube data from the previous game, but even if you choose "no" it still checks for a gamecube memory card, and there's no possible way to bypass it! The menu loops around this question. I checked the bug out in the Google code site of Dolphin, and the developers know about the bug, but when are they gonna fix it??? Huh


RE: Tales Of Symphonia - DotNW (New Game loop) - downloadaja - 05-31-2009

not anytime soon, I think. lol
Dunno if that is so hard to fix, since it is about floating point.
Use r3109 or older if you want, or compile Dolphin yourself and replace the problem file with older one.


RE: Tales Of Symphonia - DotNW (New Game loop) - Nerve - 05-31-2009

I've already tried using 3089 and it has the exact same bug, and if I use a really old revision it might work but it will have serious graphic glitches...


RE: Tales Of Symphonia - DotNW (New Game loop) - downloadaja - 05-31-2009

Oops... sorry. I was using 32bit, so dunno about 64bit. I track the problem on 32bit, but the problem should be the same. Are you sure that is 3089? Because I test the game with r3095 and it still fine.


RE: Tales Of Symphonia - DotNW (New Game loop) - death-droid - 05-31-2009

No logs or anything?


RE: Tales Of Symphonia - DotNW (New Game loop) - downloadaja - 05-31-2009

A noob question, where I can get the logs? from the logwindow there was nothing special, as well as the console.
If it is from debugger, which one should I log? Symbol map?


RE: Tales Of Symphonia - DotNW (New Game loop) - death-droid - 06-01-2009

Yeah i was talking about log window Tongue
Odd how nothing shows up there either.


RE: Tales Of Symphonia - DotNW (New Game loop) - downloadaja - 06-01-2009

from /trunk/Source/Core/Core/Src/PowerPC/Interpreter/Interpreter_FloatingPoint.cpp

void fcmpu(UGeckoInstruction _inst)
{


/*
float fa = static_cast<float>(rPS0(_inst.FA));
float fb = static_cast<float>(rPS0(_inst.FB));
// normalize
if (((*(u32*)&fa) & 0x7f800000UL) == 0) (*(u32*)&fa) &= 0x80000000UL;
if (((*(u32*)&fb) & 0x7f800000UL) == 0) (*(u32*)&fb) &= 0x80000000UL;
*/

// normalize if conversion to float gives denormalized number
if ((riPS0(_inst.FA) & 0x7ff0000000000000ULL) < 0x3800000000000000ULL)
riPS0(_inst.FA) &= 0x8000000000000000ULL;

if ((riPS0(_inst.FB) & 0x7ff0000000000000ULL) < 0x3800000000000000ULL)
riPS0(_inst.FB) &= 0x8000000000000000ULL;
double fa = rPS0(_inst.FA);
double fb = rPS0(_inst.FB);

u32 compareResult;
if (IsNAN(fa) || IsNAN(fb)) compareResult = 1;
else if (fa < fb) compareResult = 8;
else if (fa > fb) compareResult = 4;
else compareResult = 2;

FPSCR.FPRF = compareResult;
SetCRField(_inst.CRFD, compareResult);

/* missing part
if ((frA) is an SNaN or (frB) is an SNaN)
then VXSNAN ¬ 1 */
}

If I delete the codes I bold, the game can actually pass the loop.
Any ideas?


RE: Tales Of Symphonia - DotNW (New Game loop) - Nerve - 06-09-2009

I have no idea about that code, I don't know much c++... But what I know is that the bug is still there, even in the very latest build!!! Sad


RE: Tales Of Symphonia - DotNW (New Game loop) - death-droid - 06-09-2009

if ((riPS0(_inst.FA) & 0x7ff0000000000000ULL) < 0x3800000000000000ULL)
riPS0(_inst.FA) &= 0x8000000000000000ULL;

Was a fix to a problem....