Project

General

Profile

Actions

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)

Added by rakoktan about 13 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:

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


Related issues 1 (0 open1 closed)

Has duplicate Emulator - Emulator Issues #4410: Zelda : Twilight Princess (GC) crashes when whistling the owl/dragon bird as a wolfDuplicate

Actions
Actions #1

Updated by DimitriPilot3 about 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...

Actions #2

Updated by skidau about 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.

Actions #3

Updated by MofoMan2000 about 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.

Actions #4

Updated by marcosvitali about 13 years ago

Issue 4410 has been merged into this issue.

Actions #5

Updated by skidau about 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?

Actions #6

Updated by rakoktan about 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.

Actions #7

Updated by skidau about 13 years ago

I have enabled this option by default in the build.

Actions #8

Updated by DimitriPilot3 about 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.

Actions #9

Updated by rakoktan about 13 years ago

DimitriP, I agree with you. You are right.

Actions #10

Updated by hatarumoroboshi about 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...

Actions #11

Updated by skidau about 13 years ago

That is because the default is too slow. Dolphin's timing is approximate to the real thing in some places.

Actions #12

Updated by joseph.w.crowell about 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?

Actions #13

Updated by Autoran1 over 11 years ago

To avoid the freeze in Zelda games avoid VPS overflows DO NOT use fps limiter

Actions #14

Updated by Autoran1 over 11 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

Actions #15

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.

Actions

Also available in: Atom PDF