Emulator Issues #4549
closed[GameCube] The Legend of Zelda: Twilight Princess (PAL) freezes at certain loading points since r7318 (unless "Speed up disc transfer" is enabled)
0%
Description
Hi!
What's the problem?
Sorry my bad english.
In a scene when Link (wolf) is returned in the real world, after playing cutscene there is a freezing on the black screen. The sound is played back. On the version r7317 game goes normally, without freezings. But on the version r7318 there are freezings. I have uploaded videos in which it is shown that on the version r7317 all is fine, but on r7318 a problem with the black screen. Also perfectly works on such versions: r6681, r7005, r7300, r7312, r7315, r7316. Freezing of the black screen happens also on r7325, r7350, r7401, r7561, r7571.
Dolphin version with the problem:
r7318, r7325, r7350, r7401, r7561, r7571
Dolphin version that does not have the problem:
r6681, r7005, r7300, r7312, r7315, r7316, r7317
Operating system and version:
Windows 7 64-bit
Game ID (as it appears in game properties, Ex.: "GZ2P01" or "RSBE01"):
GZ2P01
Was the ISO a plain dump from disc, compressed and/or scrubbed?
not compressed
Updated by DimitriPilot3 over 13 years ago
Whoa, that sounds quite interesting...
So not only has r7318 increased the loading times too much in some games/situations (in Pokémon Colosseum, but not as dramatic as in Spartan Total Warrior, given the even longer loading times posted in issue 4427), but on top of that you say that this causes a freeze in ZTP?
Assuming that DISC_ACCESS_TIME is no longer evaluated to a zero integer (hence the variably-increased loading times), the other constants may need to be readjusted to match the real hardware...
Updated by skidau over 13 years ago
Probably should simply remove the DISC_ACCESS_TIME variable. The Wii disc speed was also a rough guess. That should probably be zero'd out too.
Updated by MofoMan2000 over 13 years ago
With regards to r7318, I think an easier way to avoid integer division is to try to divide 128.0 by 1000.0 rather than 128 by 1000. I don't know for sure, but it works that way in Java.
Updated by marcosvitali over 13 years ago
Issue 4410 has been merged into this issue.
Updated by skidau over 13 years ago
rakok, would you please try enabling the "Speed up disc transfer" option in the game properties for this game and report back if it fixes the problem or not?
Updated by rakoktan over 13 years ago
Thanks, skidau! Enabling of an option "Speed up disc transfer" has solved this problem. It has been checked up on such versions: r7561, r7584, r7589.
But why there is such problem at the disabled option "Speed up disc transfer"?
Whether there will be other bugs, errors at enabled this option?
It is necessary to make so that people knew that at appearance of the given problem it is possible to try to enable an option "Speed up disc transfer". How they learn it?
Also these are probably similar to the given problem: issue 4508, issue 4328.
Updated by skidau over 13 years ago
I have enabled this option by default in the build.
Updated by DimitriPilot3 over 13 years ago
"Thanks, skidau! Enabling of an option "Speed up disc transfer" has solved this problem."
This makes sense.
The speed change caused by r7318 is only noticeable with the emulated "disc access time" behaviour (as in, with "Speed up disc transfer" disabled by default).
With the non-emulated, less-accurate behaviour (as in, with this option enabled), the disc transfers will still perform as fast as possible, and thus remain the same as before r7318.
Updated by rakoktan over 13 years ago
DimitriP, I agree with you. You are right.
Updated by hatarumoroboshi over 13 years ago
Isn't a bit "strange" that the safest option is the one speeding up loading times? I mean usually in emulators the slower the loading times are the safest they are and an option for speeding up is used "at your own risk", but here we have the opposite...
Updated by skidau over 13 years ago
That is because the default is too slow. Dolphin's timing is approximate to the real thing in some places.
Updated by joseph.w.crowell over 13 years ago
Just ran it from jit64 debugger. I see this when pressing A at howling stone. Newest builds don't crash with compiler message popup but now video and audio locks up with no error message. This is output when it locks in debugger:
First-chance exception at 0x134497f1 in DolphinD.exe: 0xC0000005: Access violation reading location 0x00000000b8200020.
First-chance exception at 0x13449b01 in DolphinD.exe: 0xC0000005: Access violation reading location 0x00000000b80303a0.
Possible invalid pointers?
Updated by Autoran1 almost 12 years ago
To avoid the freeze in Zelda games avoid VPS overflows DO NOT use fps limiter
Updated by Autoran1 almost 12 years ago
Well, this one looks interesting after all, even with a rev number, i'll play through from the start again up to this moment, to see if it's true or not on recent revs
Updated by skidau over 11 years ago
- Status changed from New to Fixed
This is fixed in the FIFO-BP branch (due to aram-dma-fixes merge) re69c58ee8919.